Разбор блоков NAL с использованием FFMPEG - PullRequest
5 голосов
/ 19 мая 2011

Я новичок в MPEG-4 и предпринимаю шаги, чтобы выучить его.Я использую FFMPEG в качестве ссылки.

  1. Я понимаю, что все mpeg-4 кодируются в единицы NAL и по отношению к FFMPEG функция av_read_frame () возвращает одну единицу NAL, я прав?Является ли рама блоком NAL?(хотя это может быть комбинация нескольких NAL)

  2. Я также видел, что h264_parser.c реализует функцию с именем h264_parse, которая вызывает parse_nal_units () внутри, если мне нужно получить единицы NALКак я могу использовать это parse_nal_units из моей основной функции?

  3. Что делает функция av_parse_Parse2 ()?он возвращает декодированные блоки NAL?

  4. ИЛИ FFMPEG имеет ключ -vbsf h264_mp4toannexb для выгрузки необработанных блоков NAL, Может кто-нибудь помочь мне понять, как я могу использовать то же самое из моей основной функции?

Пожалуйста, помогите мне здесь ... -ash5

1 Ответ

4 голосов
/ 16 декабря 2011

Для вопроса 1: в следующей статье есть ссылки, которые помогут вам понять, что такое NAL.

В h264 единицы NAL означают фреймы .?

NAL разделенына несколько типов и в зависимости от типа могут содержать параметры декодирования (SPS, PPS), информацию расширения (SEI) и выборки видео (заголовок среза и данные).Обычной последовательностью из транспортного потока широковещания будет SPS, PPS, SEI, slice_header (), slice_data (), SEI, slice_header (), slice_data () *

Возможно, вам не нужно понимать ISO 14496-10 раздел 7.3 «Синтаксис в табличной форме» для вашего приложения.

...