使用 ffmpeg 和 tsMuxer 扩展帧大小并重新编码视频以兼容蓝光

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

我有一个包含以下视频流的媒体文件:

Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt709), 1440x1080 [SAR 1:1 DAR 4:3], 23.98 fps, 23.98 tbr, 1k tbn (default)

我正在尝试将帧大小扩展到 1920x1080 并使用 libx264 重新编码视频以创建蓝光兼容视频流。 我正在使用以下命令(来自此处的视频过滤器):

ffmpeg -i original.mkv -c:v libx264 -preset veryslow -tune animation -profile:v high -crf 16 -pix_fmt yuv420p -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1" -an h264.mkv

生成的视频流:

Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)

然后,我从三个单独的文件中复制视频、音频和字幕流以创建最终文件:

ffmpeg -i h264.mkv -i audio.mkv -i subs.mkv -map 0:v -map 1:a -map 2:s -c copy bluray.mkv

然后,我通过在 tsMuxer 中添加 Bluray.mkv 中的每个轨道来创建蓝光 ISO。 我启用了“连续插入 SPS/PPS”,并尝试了“不要更改 SEI 和 VUI 数据”以及“始终重建 SEI 和 VUI 数据”。 此过程成功,没有警告或错误。

生成的 ISO 可以在 VLC 和 IINA 中安装和播放,但是当将其刻录到 BD25 光盘并在 PS4 上播放时,视频是原始帧的混合,看起来像是帧的多个较小副本不正确的图像步幅和随机的绿色块,所有这些都大约每五秒更新一次。 所有音频和字幕轨道都可以正常播放。

如何确保此转换生成的视频流可以在蓝光播放器上正常播放?

video ffmpeg h.264 blu-ray
1个回答
0
投票

我终于回到这个项目并找到了解决方案。 以下是我最终使用的 ffmpeg 的参数:

  • -c:v libx264
  • -级别:v 4.1
  • -调整动画
  • -轮廓:V 高
  • -crf 16
  • -pix_fmt yuv420p
  • -x264选择蓝光兼容=1
  • -vf“pad=宽度=1920:高度=1080:x=-1:y=-1:颜色=黑色,fps=ntsc_film”
  • -c:副本
  • -c:s 副本

我相信

-x264opts bluray-compat=1
是关键。

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