【发布时间】:2013-07-25 01:21:45
【问题描述】:
我正在尝试使用以下 (mencoder) 命令将 mp4 或 3gp 视频文件转换为 Flash (flv) 格式(使用 Perl 脚本):
mencoder test.mp4 -of lavf -ovc lavc -lavcopts vcodec=flv:vbitrate=1000:mbd=2 -fps 20.80 -ofps 20.80 -oac mp3lame -lameopts abr:br=32 -srate 22050 -o test.flv
可以正常使用,但是手机附件中的一些文件有问题,转换后的FLV文件只有音频。
我也使用了ffmpeg命令如下:
ffmpeg -i test.mp4 -ar 22050 -acodec libmp3lame -ab 32K -r 25 -vcodec flv test.flv
这个ffmpeg命令帮助转换成flv,被mencoder失败了。
我正在考虑一些解决方案,例如,需要检查转换后的 flv 是否有音频和视频,然后根据它采取行动。你能帮我解决这个问题吗?
这里有更多信息(日志):
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xb6b9a3a0]多个编辑列表条目,可能会出现音视频不同步,欢迎补丁 ** MUXER_LAVF ************* *************** ********* 记住:MEncoder 的 libavformat muxing 目前已损坏,可以生成 存在 B 帧的文件不正确。此外,由于错误 MPlayer 将播放这些 INCORRECT 文件,就好像没有任何问题一样!
不支持的像素格式 61 不支持的像素格式 53 不支持的像素格式 81 [flv @ 0xb6b9a3a0]流 0 的编解码器不使用全局标头,但容器格式需要全局标头 [flv @ 0xb6b9a3a0]流 1 的编解码器不使用全局标头,但容器格式需要全局标头 [flv @ 0xb6b9a3a0]pts
[flv @ 0xb6b9a3a0]pts
[flv @ 0xb6b9a3a0]pts
[flv @ 0xb6b9a3a0]pts
[flv @ 0xb6b9a3a0]pts
跳帧!
.......................
【问题讨论】:
-
如果它适用于 ffmpeg 而不是 mencoder,那为什么不直接使用 ffmpeg?
-
ffmpeg 不是 100% 工作,它无法转换一些 mp4 文件。我需要同时使用两者来解决我的问题。问题:如何检测(使用mencoder或ffmpeg)转换后的文件中是否存在音视频。
-
请显示无法转换某些 mp4 文件的命令的完整 ffmpeg 控制台输出。
标签: ffmpeg video-streaming audio-streaming video-capture mencoder