使用 ffmpeg 提取 HEVC 比特流

使用 ffmpeg 提取 HEVC 比特流

我想从 HEVC mkv 文件中提取原始 .265 比特流。我使用这个:

ffmpeg.exe -i hevc.mkv -an -vcodec 复制 -f hevc 比特流.265

我收到此错误:

请求的输出格式“hevc”不是合适的输出格式

但是,HEVC 解复用器已经实现,我可以将其提取为未压缩的原始 YUV。ffmpeg 格式:

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

这里有什么问题?

答案1

H.264/H.265 的原始比特流通常称为 Annex B 格式。您可以使用以下 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

答案2

我尝试了 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 文件,也可能适用于其他格式。

答案3

到目前为止,最好的解决方案是使用MKVToolNix

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

答案4

您可能需要检查您是否拥有最新版本的 ffmpeg。如果您想要没有音频的视频文件,请尝试以下操作:

ffmpeg -y -i hevc.mkv -codec:v copy videostream.mkv

或者:

ffmpeg -y -i hevc.mkv -codec:v copy videostream.mp4

相关内容