web-dev-qa-db-ja.com

ffmpegでHEVCビットストリームを抽出する

HEVCmkvファイルから生の.265ビットストリームを抽出したいと思います。私はこれを使用します:

ffmpeg.exe -i hevc.mkv -an -vcodec copy -f hevc bitstream.265

このエラーが発生しました:

要求された出力形式 'hevc'は適切な出力形式ではありません

ただし、HEVCデマルチプレクサはすでに実装されており、非圧縮の未加工YUVに抽出できます。 ffmpeg -formats:

 File formats:
 D. = Demuxing supported
 .E = Muxing supported
D  hevc            raw HEVC video

ここで何が問題になっていますか?

4
Mark

これまでのところ、最善の解決策は MKVToolNix を使用することです。

mkvextract.exe tracks hevc.mkv -f 0:bitstream.265
1
Mark

H.264/H.265の生のビットストリームは、通常、AnnexBフォーマットと呼ばれます。これらのファイルは、次のFFmpegコマンドで作成できます。

H.265から付録B

ffmpeg -i in.mkv -c:v copy -bsf hevc_mp4toannexb out.h265

ffmpegとH.265/HEVCでトリックを行います。

H.264から付録B

H.264の場合は少し異なります。

ffmpeg -i in.mkv -c:v copy -bsf h264_mp4toannexb out.h264
3

Sebastianのffmpegソリューションを試しましたが、うまくいきませんでした。これが、H.265ビットストリームだけを取得するために私がしたことです。出力ファイル拡張子を.binに設定することを提案する人もいますが、ファイルに含まれるビットストリームの種類がより明確になるため、h264/h265が好きです。

H.265から付録B

ffmpeg -i test.mkv -c:v copy -bsf hevc_mp4toannexb -f hevc test.h265

H.264から付録B

ffmpeg -i test.mkv -c:v copy -bsf h264_mp4toannexb -f h264 test.h264

注:これは.movファイルでも機能し、おそらく他の形式でも機能します。

1
arndtc

出力には_.bin_のファイル拡張子を使用することをお勧めします。これは生のビットストリームファイルなので、十分なはずです。

あなたはビデオコピーをしているので、_-f hevc_を省略し、ffmpegにフォーマット選択を処理させることをお勧めします。 HEVCがご使用のバージョンに実装されている場合は、機能するはずです。

後者は非推奨であるため、_-c:v copy_よりも_-vcodec copy_を使用することも検討してください。

私はh265テストモデルエンコーダーとffmpegの使用について多くの経験がありますが、ffmpegのHEVCマルチプレクサーについては経験がないため、情報が不正確になる可能性があります。

0
dstob