首页 文章

使用ffmpeg将FLV转码为MP4非常慢

提问于
浏览
3

我正在尝试支持在我们的网站上录制网络摄像头视频,然后我需要将其转码为MP4和WebM以支持HTML5播放 . 我在我们的服务器上安装了ffmpeg 1.2,并且整个过程运行得相当好 .

我遇到的一个问题是将FLV转码为MP4 . 它是不可接受的慢,例如一个8秒的FLV需要大约2.5分钟来转码!

我正在使用的 ffmpeg 命令是:

ffmpeg -y -i webcam.flv -c:a libfaac -ac 2 -b:a 64k -ar 44100 -c:v libx264 \
  -b:v 350k webcam.mp4

有这么多_ST30334_参数,我对这个问题的最佳前进方式有点失落 . 您可以从这里下载测试flv:

dropbox.com/s/hhd6uhdiuhk800w/webcam.flv

相比之下,转码到WebM大约需要5秒钟:

ffmpeg -y -i webcam.flv -c:a libvorbis -ac 2 -b:a 64k -ar 44100 -c:v libvpx \
  -b:v 350k -metadata:s:v:0 rotate=0 webcam.webm

1 回答

  • 4

    好的,我找到了答案 . 我仔细看了一下ffmpeg输出,并注意到:

    [mp4 @ 0xa0060c0] Frame rate very high for a muxer not efficiently supporting it.
    Please consider specifying a lower framerate, a different muxer or -vsync 2
    

    卫生署 . 所以我添加了“-vsync 2”作为输出文件之前的最后一个参数,它有一个魅力,将转码时间缩短到大约10秒!很高兴 .

    为所有类型的a / v输入设计“通用”ffmpeg设置对我来说似乎仍然是黑魔法......

相关问题