我使用的是 Debian 9。我在 PGS 中有一个包含多个音轨和字幕的文件。我想将视频传递给 h265 并将所有音轨和字幕原封不动地保存到 .mkv 容器中,因为据我所知,mp4 不支持基于图像的字幕。
我使用的命令是:
ffmpeg -i entrada.264.mkv -c:v libx265 -f matroska -map 0 salida.265.mkv
但是我在 ffmpeg 中收到此错误:
[matroska,webm @ 0x55ec1759fee0] Could not find codec parameters for stream 6 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x55ec1759fee0] Could not find codec parameters for stream 7 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x55ec1759fee0] Could not find codec parameters for stream 8 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x55ec1759fee0] Could not find codec parameters for stream 9 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x55ec1759fee0] Could not find codec parameters for stream 10 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x55ec1759fee0] Could not find codec parameters for stream 11 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Only SUBTITLE_ASS type supported.
Subtitle encoding failed
并且,如果想一次复制一张,只需刻录第一个即可。
这里是相关文件的数据:
总之:
预期结果:将视频文件重新编码为 h265 并复制所有音频和字幕而不进行修改,或者将它们刻录在视频中以便能够选择使用哪一个。
得到的结果:由于缺少字幕参数而导致错误。
有没有办法直接从 ffmpeg 执行此操作,而不必逐个提取字幕,然后通过 mkvmerge 之类的程序将它们添加到视频中?
答案1
答案2
这不是错误。这是警告消息。-loglevel warning
返回消息:
ffmpeg -i entrada.264.mkv -loglevel warning -c:v libx265 -f matroska -map 0 salida.265.mkv
并-loglevel error
抑制它:
ffmpeg -i entrada.264.mkv -loglevel error -c:v libx265 -f matroska -map 0 salida.265.mkv
我测试了我自己的输出mkv文件的所有字幕字幕编辑并且它们都完好无损。我认为显示此警告只是为了提醒您,如果您决定稍后重新编码这些字幕。