Чтение данных SEI из видео HEVC с помощью FFmpeg

Я пытался создать несколько видео HEVC программно, используя библиотеки FFmpeg C ++ и кодировщик x265, используя --master-display, --max-cll и другие параметры данных SEI от x265. Теперь, чтобы убедиться, что эта информация пишется правильно, я хотел бы узнать, как я могу прочитать эти данные SEI из сгенерированного видеофайла, предпочтительно используя библиотеку FFmpeg C ++ и функции.

Я реализовал видео декодер, который работает с использованием av_read_frame() и декодирование кадров от каждого AVPacket получен. Я не уверен, смогу ли я каким-либо образом получить информацию SEI до этого процесса, из этих пакетов или с помощью аналогичного подхода.

2

Решение

Код чтения SEI живет Вот, Вы можете добавить сообщения отладки, чтобы увидеть, читаются ли отдельные значения, как ожидалось. Код потребителя для битов sei Вот, и он вычисляет угол, под которым видео должно быть представлено пользователю. Это экспортируется в AVFrame как отображение матрицы побочных данных, который вы можете прочитать с помощью API в display.h (источник, проститутка, аннотированный источник).

Затем приложение может использовать этот угол для соответствующего поворота изображения, например, с использованием вращать авфильтр.

2

Другие решения


По вопросам рекламы [email protected]