Я интегрировал библиотеку TI для кодирования .h264 на плате davinci с процессором dm6446.
Я мог проверить закодированный битовый поток при сохранении на жестком диске и с помощью анализатора потока Elecard.
Но я не мог транслировать его через rtsp и просматривать в VLC Player. Проигрыватель VLC переключился бы на TCP / IP и затем перестал бы показывать сообщение как ничего не воспроизводить. При дальнейшей отладке я обнаружил, что каждый генерируемый кодированный битовый поток имеет тип IVIDEO_IDR_FRAME
.
Заголовок Nal для каждого кадра похож на
00 00 00 01 67 42 80 1E DA 05 c7 D9 74 00 00 00 01 68 CE 3c 80 00 00 00 01 65
Как я понимаю, 00 00 00 01
используются в качестве разделителя, а 67
и 68
- для SPS и PPS соответственно. После потоковой передачи первых двух кадров как есть, я попытался выполнить потоковую передачу следующих кадров из данных 00 00 00 01 65
. Но все равно проигрыватель VLC не смог воспроизвести закодированный поток. Он показал сообщение на найденном PPS и остановился там.
Что я должен сделать, чтобы решить эту проблему. Я совсем новичок в этой области