4

Я хотел бы извлечь сырой битовый поток .265 из файла HEVC mkv. Я использую это:

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

Я получил эту ошибку:

Запрашиваемый формат вывода 'hevc' не подходит для формата вывода

Однако демультиплексор HEVC уже реализован, и я могу извлечь его в несжатый необработанный YUV. ffmpeg -форматы:

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

Что здесь не так?

5 ответов5

3

Необработанный поток битов H.264/H.265 обычно называется форматом Приложения 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
1

Я попробовал решение 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

Пока что лучшим решением является использование MKVToolNix.

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

Я бы порекомендовал использовать расширение файла .bin для вашего вывода. Это необработанный битовый файл, поэтому он должен быть достаточно хорошим.

Вы делаете видео копию, поэтому я бы порекомендовал -f hevc и позволить ffmpeg обрабатывать выбор формата. Если HEVC был реализован в вашей версии, он должен работать.

Также рассмотрите возможность использования -c:v copy поверх -vcodec copy поскольку последняя устарела.

У меня большой опыт работы с кодировщиком тестовой модели h265 и с использованием ffmpeg, но не с мультиплексором HEVC в ffmpeg, поэтому моя информация может быть неточной.

-1

Вы можете проверить, есть ли у вас последняя версия ffmpeg. Если вы хотите видео файл без аудио, попробуйте это:

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

или же:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .