【发布时间】:2021-05-05 11:43:39
【问题描述】:
我尝试使用 ffmpeg 将 4k 缩小并将 4k HDR mkv 色调映射到 1080p SDR mkv,并使用以下代码:
ffmpeg -i "Input.mkv" -vf zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p -c:v hevc_nvenc -b:v 12M -preset slow "Output.mkv"
问题是,只有第一个音轨(四个)被复制到新的 mkv 并且缺少字幕轨道:
输入:
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
Stream #0:1(ger): Audio: eac3, 48000 Hz, 7.1, fltp (default)
Stream #0:2(ger): Audio: dts (DTS-HD MA), 48000 Hz, 7.1, s16p
Stream #0:3(eng): Audio: truehd, 48000 Hz, 7.1, s32 (24 bit)
Stream #0:4(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
Stream #0:5(ger): Subtitle: subrip (default) (forced)
Stream #0:6(ger): Subtitle: dvd_subtitle, 1920x1080 (forced)
Stream #0:7(ger): Subtitle: hdmv_pgs_subtitle, 1920x1080 (forced)
Stream #0:8(ger): Subtitle: dvd_subtitle, 1920x1080
Stream #0:9(ger): Subtitle: hdmv_pgs_subtitle
Stream #0:10(eng): Subtitle: dvd_subtitle, 1920x1080
Stream #0:11(eng): Subtitle: hdmv_pgs_subtitle
输出:
Stream #0:0: Video: hevc (Main), yuv420p(tv), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
Stream #0:1(ger): Audio: vorbis, 48000 Hz, 7.1, fltp (default)
Stream #0:2(ger): Subtitle: ass (default) (forced)
我想要一个 mkv 作为输出,将所有音轨转换为 aac 立体声(但保留所有四个),复制字幕轨道和色调映射/缩小视频轨道。
我尝试使用 -map 0 或 -map 0:a:0 -map 0:a:1 ... 命令(以及一些与这些命令类似的命令,但我似乎最终得到了一个音频轨道、没有视频轨道或只是复制了一个视频轨道。
我可能,我也想使用具有高质量预设的 nvenc,这就是在我的命令中使用-c:v hevc_nvenc -b:v 12M -preset slow 的原因,但是我不知道,如果这样做正确,因为输出 mkv 也作为4k 视频轨道而不是 1080p。也许这是由-c:v 引起的,因为它覆盖了-vf?抱歉,我感觉很笨,才刚刚开始使用 ffmpeg。
那里有很多关于 ffmpeg 的信息,但是对我来说太复杂了,或者没有回答我的问题。
感谢您的帮助!
【问题讨论】:
标签: audio video ffmpeg aac mkv