Rob*_*bin 3 video encoding ffmpeg
我将在我的服务器中异步编码用户上传的不同视频.我看到了这个位置,根据这个,这是如何对两个传递编码进行endcode:
ffmpeg -y -i input -c:v libx264 -preset medium -b:v 555k -pass 1 -c:a libfdk_aac -b:a 128k -f mp4 /dev/null && \
ffmpeg -i input -c:v libx264 -preset medium -b:v 555k -pass 2 -c:a libfdk_aac -b:a 128k output.mp4
Run Code Online (Sandbox Code Playgroud)
我注意到-pass 1和-pass 2标志.但我尝试通过给它一个-pass 2标志来编码视频,而不首先编码-pass 1标志.虽然我有这个警告,但无论如何都会执行:
第二次传球比第一次传球更多
所以,我关心的是ffmpeg将如何知道哪一个是第一遍,以便它可以进行传递2编码?并且由于许多视频将同时上传,我无法将它们全部保存在/ dev/null中,它不会将它们替换为另一个.那我该怎么办呢?
非常感谢您的帮助和指导.
谢谢.
Upadate
ffmpeg cmd:
ffmpeg -i input.mp4 -codec:v libx264 -tune zerolatency -profile:v main -preset medium -b:v 1500k -maxrate 1500k -bufsize 15000k -s hd720 -threads 0 -pass 1 -an -f mp4 /dev/null
ffmpeg -i input.mp4 -codec:v libx264 -tune zerolatency -profile:v main -preset medium -b:v 1000k -maxrate 1000k -bufsize 10000k -s hd720 -threads 0 -pass 2 -codec:a libfdk_aac -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
aer*_*tal 11
使用2遍编码时,第一遍将log使用ffmpeg2pass-X命名约定创建文件,其中X是流编号.
您可以使用该-passlogfile选项为文件设置自定义前缀.例:
-passlogfile your_unique_video_id
这将创建一个以your_unique_video_id-0.log流0 命名的文件.