我将什么ffmpeg输出格式(-f)用于mkv文件的两遍编码

问题描述 投票:0回答:1

我最近备份了一部蓝光电影,它的大小约为36 GB。使用ffmpeg从视频中获取信息,它位于mkv容器中的h.264中。我想使用h.265压缩并以4 Mbits / s的比特率为目标来缩​​小文件大小,以便在离开家时可以通过Plex服务器进行流式传输。我的上传速度限制为5 Mb / s。

尽管我可以使用简单的软件轻松完成此操作,但我想学习更多编码。我发现适当的ffmpeg code两次执行两次编码,但是在所有示例中,它们都使用了mp4的输出格式,但声明“您需要指定与-c匹配的输出格式(使用-f)您将在第二遍中使用的输出格式。”我假设我的“输出格式”是mkv,但这不允许我的代码运行。有人可以向我解释什么是输出格式,以及在mkv容器中将h264编码为h265时应使用什么格式?

ffmpeg -y -i input.mkv -c:v libx265 -b:v 4M -x265-params pass=1 -an -f mkv /dev/null && \ ffmpeg -i "Arrival (2016).mkv" -c:v libx265 -b:v 4M -x265-params pass=2 -c:a copy output.mkv 

此外,为了使此功能在我的Windows PC上能够正常运行,我正在尝试学习如何编辑一些参数以使其在Powershell中运行。我相信这就是我要这样做的方式:

(ffmpeg -y -i input.mkv -c:v libx265 -b:v 4M -x265-params pass=1 -an -f mkv NUL) -AND (^ ffmpeg -i "Arrival (2016).mkv" -c:v libx265 -b:v 4M -x265-params pass=2 -c:a copy  output.mkv)
ffmpeg h.264 h.265
1个回答
0
投票

使用-f matroskamkv是matroska容器格式的通用文件扩展名。通常,ffmpeg使用输出文件名来猜测输出格式(例如*.ts-> mpegts,*.mp4-> mp4等)。有关有效的多路复用器和多路分解器的列表,请参见ffmpeg -formats的输出。

© www.soinside.com 2019 - 2024. All rights reserved.