首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FFMPeg 2通c#

FFMPeg 2通c#
EN

Stack Overflow用户
提问于 2014-03-28 18:31:49
回答 1查看 506关注 0票数 0

我一直在网上搜索,试图找到一个很好的漫游FFMPeg和它的细微差别。

我现在有个工作装置。这是一种两通编码。如果我使用cmd窗口并使用以下args:

ffmpeg -i c:\temp\175663.lbl.mp4. -an -vcodec mpeg4 -b:v 1300k -s 640x360 -aspect 16:9 -pass 1 -r 29.970 -an -f rawvideo -y NUL && ffmpeg -i c:\temp\175663.lbl.mp4.mps -vcodec mpeg4 -b:v 1300k -s 640x360 -aspect 16:9 mpeg4 2-aspect 29.970 en23 20 en21 48000

我在ffmpeg.exe目录中得到一个日志文件。我认为这是一个有效的好日志。我还得到一个有效的好mp4文件。但是,我不知道日志文件是否实际用于pass2。如果我只在cmd窗口中运行第二次传递(在&&之后的所有内容),那么所有这些都是单独运行的。我得到一个有效的mp4文件。为什么没有错误?这使我怀疑原来的传球根本没有被用于第二次传球。

其次,如何以编程方式删除pass1的日志?有我可以输入的命名约定吗?最终,该应用程序将在同一台/其他计算机上的多个线程上运行。所以我不能从ffmpeg文件夹中删除*.log。是否有方法在文件创建时命名它们?

最后,我似乎无法用上面的论点在C#中开始一个新的过程。如果省略了ffmpeg (因为进程正在启动ffmpeg本身),则会在&&上出错。我不认为它喜欢做两次传球。如果我一次只传递一次,我就不会得到一个日志文件来尝试在第二次传递时使用。

任何信息都会很棒。谢谢你提前给我时间!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-30 20:42:29

首先,如果您询问的是ffmpeg的适当cmdline开关,那么对于StackOverflow来说这可能不是一个合适的问题,它属于SuperUser。

第二,是的,日志在第二次传递过程中使用。日志的作用是在每个帧中保持比特率要求,因此如果指定目标比特率(使用-b:v时),可以更好地利用总带宽;另外,如果您使用常量量化器(也称为“恒定质量”),则不会使用它,但是使用常量量化器,您将不需要多次通过编码。

您应该能够将这个cmdline作为两个进程启动,一个接一个,日志文件的创建应该没有区别。如果是,请确保正确设置了进程的当前目录。

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

https://stackoverflow.com/questions/22720622

复制
相关文章

相似问题

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