Debian9を使用しています。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
そして、一度に1つずつコピーしたい場合は、最初の1つを書き込むだけです。
ここ は問題のファイルのデータです:
要約すれば:
期待される結果:ビデオファイルをh265に再コード化し、すべてのオーディオと字幕を変更せずにコピーするか、ビデオに書き込んで、使用するものを選択できるようにします。
得られた結果:字幕のパラメータが不足しているためにエラーが発生しました。
字幕を1つずつ抽出せずにffmpegから直接実行し、mkvmergeなどのプログラムを介してビデオに追加する方法はありますか?
ストリームコピー (再マルチプレクサ)ビデオ以外のすべて:
ffmpeg -i entrada.264.mkv -map 0 -c copy -c:v libx265 salida.265.mkv
-map 0
は、ストリームタイプごとに1つのストリームのみを含む デフォルトのストリーム選択動作 に依存する代わりに、入力から出力までのすべてのストリームを含みます。
これはエラーではありません。警告メッセージです。 -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
Subtitle Edit を使用して、自分の出力mkvファイルのすべての字幕をテストしましたが、すべて無傷です。この警告は、後でこれらの字幕を再エンコードすることにした場合にのみ警告するために表示されると思います。