我需要能够以编程方式将mpeg-2文件转码为.mp4,.mp3,.wmv,.rm(可选)和.flv(可选),并希望生成缩略图。我找到了Java Media Framework,但坦率地看起来很糟糕。这将运行一个Linux服务器,所以我可以使用Commons Exec来解决ffmpeg - ffmpeg会做我需要做的一切吗? FFmpeg似乎相当令人生畏,这就是为什么我无法找到这些信息,但它绝对是一个万能的交易。有什么建议吗?
答案 0 :(得分: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匹配一秒),-an
告诉ffmpeg忽略音频,-s
是屏幕截图的大小。 %d
是必要的,因为它将根据您使用的屏幕截图增加数字。有了上述内容,%d
将始终为数字1(一帧,一个屏幕截图)。祝你好运。
答案 1 :(得分:2)
来自encoding.com的有趣网络服务将为您转码文件。
答案 2 :(得分:2)
您也可以直接从Java使用Xuggler,这提供了比JMF更好的编解码器和编码支持。
答案 3 :(得分:0)