【发布时间】:2025-12-23 06:15:11
【问题描述】:
我一直在网上搜索,试图找到一个很好的 FFMPeg 演练,它的细微差别。
我目前有一个工作设置。这是一个两遍编码。如果我使用 cmd 窗口并使用以下参数:
ffmpeg -i c:\temp\175663.lbl.mp4.mps -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 -pass 2 -r 29.970 -acodec libmp3lame -ab 128k -ar 48000 c:\temp\encoded\175663.NTP.mp4
我在ffmpeg.exe 目录中获得了一个日志文件。我认为这是一个有效的好日志。我还得到了一个有效的好 mp4 文件。但是,我不知道日志文件是否实际用于 pass2。如果我只在 cmd 窗口中单独运行第二遍(&& 之后的所有内容)。我得到一个有效的 mp4 文件。为什么没有错误?这让我怀疑原始通道根本没有用于第二遍。
其次,如何以编程方式删除 pass1 的日志?是否有我可以键入的命名约定?最终,此应用程序将在同一台/其他机器上的多个线程上运行。所以我不能完全从 ffmpeg 文件夹中删除 *.log 。有没有办法在创建文件时为其命名?
最后,我似乎无法使用上述参数在 C# 中启动新进程。如果我省略了 ffmpeg(因为进程正在启动 ffmpeg 本身),我会在 && 上得到一个错误。我不认为它喜欢尝试做两次传球。如果我一次只通过一次,我什至无法在第二次通过时尝试使用日志文件。
任何信息都会令人惊叹。提前感谢您的宝贵时间!
【问题讨论】: