2009-01-01 96 views
2

我需要能够以编程方式将mpeg-2文件转码为.mp4,.mp3,.wmv,.rm(可选)和.flv(可选),并且希望生成缩略图好。我找到了Java媒体框架,但它坦率地看起来很糟糕。这将运行一个Linux服务器,所以我可以使用Commons Exec来支持ffmpeg - ffmpeg做我需要做的一切吗? FFmpeg看起来非常令人生畏,这就是为什么我很难找到这些信息,但它绝对是一笔千疮百孔的交易。有什么建议么?以编程方式对MPEG-2视频进行编码

回答

5

Ffmpeg是最好也是最简单的。为了输出/视频转换:

ffmpeg -i {input}.ext -r {target_frame_rate} -ar {target_audio_rate} -b {target_bitrate} -s {width}x{height} {target}.ext 

而且你的截图:

ffmpeg -i {input}.ext -r 1 -ss 00:00:04:005 -t 00:00:01 -an -s {width}x{height} {target_name}%d.jpg 

15 fps的是FLV和音频采样率标准应该是44100对于FLV。使用选项:-r指定帧速率为1 fps(一帧用作屏幕截图),-ss寻求想要的位置hh:mm:ss:fff-t是持续时间(一秒钟匹配您的一个fps),告诉ffmpeg忽略音频,-s是屏幕截图的大小。 %d是必要的,因为它会增加您使用的屏幕截图的数字。通过以上,%d将始终是数字1(一帧,一个屏幕截图)。祝你好运。

0

Linux上流行的转码应用程序是ffmpeg,transcodemencoder。转码和mencoder都使用ffmpeg,三者都可以处理您需要的任务,包括FLV转码和视频缩略图。 ffmpeg可能是三种中最受欢迎的,所以你可能会发现更好的在线支持。另外值得一提的是ffmpeg支持多线程转码。

我会推荐使用ffmpeg。

+0

ffmpeg绝对看起来像要走的路,我会更肯定地看着它。 – dancavallaro 2009-01-01 01:06:55

2

encoding.com有趣的网络服务将为您转码文件。

+0

这看起来像一个很好的服务,但我们真的没有那么多视频进行转码,它实际上是批量10个左右,而且我期望自动化一个工作流程,因此,屋。 – dancavallaro 2009-01-01 01:04:47

+0

我一直在寻找这样的服务,感谢Brandon – 2009-07-23 21:42:58

2

您也可以直接从Java使用Xuggler,它比JMF提供更好的编解码器和编码支持。