以编程方式转码MPEG-2视频
-
03-07-2019 - |
题
我需要能够以编程方式将mpeg-2文件转码为.mp4,.mp3,.wmv,.rm(可选)和.flv(可选),并希望生成缩略图。我找到了Java Media Framework,但坦率地看起来很糟糕。这将运行一个Linux服务器,所以我可以使用Commons Exec来解决ffmpeg - ffmpeg会做我需要做的一切吗? FFmpeg似乎相当令人生畏,这就是为什么我无法找到这些信息,但它绝对是一个万能的交易。有什么建议吗?
解决方案
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(一帧,一个屏幕截图)。祝你好运。
其他提示
来自 encoding.com 的有趣网络服务将为您转码文件。
您也可以直接从Java使用 Xuggler ,它提供比JMF更好的编解码器和编码支持
不隶属于 StackOverflow