我试图转换我的高质量电影收藏以节省一些磁盘空间。我了解到 2 Pass 编码可以更好地完成工作。这是我用来通过 2 pass 对视频进行编码的命令行。
ffmpeg -i input.mkv -c:v libx264 -vf "scale=1920x1080" -vb 3.5M -pass 1 -an pass1.mp4
ffmpeg -i input.mkv -c:v libx264 -vf "scale=1920x1080" -vb 3.5M -pass 2 -c:a copy pass2.mp4
Run Code Online (Sandbox Code Playgroud)
这工作正常。而且我知道这个命令也会给出第一遍的输出。没关系。我会删除它们。我的疑问是,我阅读了许多人们使用的论坛-y
和-passlogfile
2 pass 编码中的命令。做什么-y
和-passlogfile
做什么?
还有我可以添加任何其他设置来提高质量吗?
-crf
除非您需要特定的文件大小,否则只需使用1-pass-crf
让您选择质量(而不是文件大小)。我了解到 2 Pass 编码会做得更好。
两次通过将针对特定的输出文件大小更好地工作。否则,只需使用-crf
.
我知道这个命令也会给出第一遍的输出。没关系。我会删除它们。
您可以改为输出到/dev/null
(Linux & macOS) 或NUL
(Windows) 并避免创建临时文件:
ffmpeg -y -i input.mkv -c:v libx264 -vf "scale=1920:1080" -b:v 3.5M -pass 1 -an -f mp4 /dev/null
ffmpeg -y -i input.mkv -c:v libx264 -vf "scale=1920:1080" -b:v 3.5M -pass 2 -c:a aac output.mp4
Run Code Online (Sandbox Code Playgroud)
有关更多信息和示例,请参阅FFmpeg Wiki:H.264 - 两遍。
做什么
-y
和-passlogfile
做什么?
-y
无需确认即可覆盖输出文件。第一遍有意义,否则它会问你File '/dev/null' already exists. Overwrite ? [y/N]
。是的,您可以“覆盖” /dev/null
。
-passlogfile
设置两遍日志文件名。除非您想使用自定义日志文件名而不是默认 ( ffmpeg2pass-0.log
),否则您不需要使用此选项。
有关这些选项的更多信息,请参阅ffmpeg
文档。
还有我可以添加任何其他设置来提高质量吗?
"scale=1920:-2:flags=lanczos"
. 归档时间: |
|
查看次数: |
18896 次 |
最近记录: |