首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ffmpeg中的两通编码

ffmpeg中的两通编码
EN

Stack Overflow用户
提问于 2015-08-06 14:17:11
回答 1查看 23.9K关注 0票数 7

我将在我的服务器中对用户异步上传的不同视频进行编码。我看到了这个post,根据这个,这是如何结束两遍编码:

代码语言:javascript
复制
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

我注意到了-pass 1和-pass 2标志。但是,我尝试对视频进行编码,只给它一个-pass 2标志,而不首先在-pass 1标志中进行编码。尽管我有此警告,但它还是执行了:

第二传比第一传有更多的帧。

那么,我关心的是,ffmpeg如何知道哪一次是第一次,这样它才能进行第2次编码?而且,由于许多视频将同时上传,我不能将它们全部保存在/dev/null中,它将替换另一个视频。那我该怎么处理呢?

非常感谢您的帮助和指导。

谢谢。

Upadate

ffmpeg cmd:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-06 15:35:18

当您使用2-pass编码时,第一次传递将使用log命名约定创建ffmpeg2pass-X文件,其中X是流号。

您可以使用-passlogfile选项为您的文件设置自定义前缀。示例:

-passlogfile your_unique_video_id

这将为流0创建一个名为your_unique_video_id-0.log的文件。

链接到文档

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31858171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档