2014-11-13 1 views
1

Hey StackOverflow fellows. В настоящее время у меня возникла проблема с проигрывателями MPEG-DASH, которые не хотят воспроизводить контент DASH. В принципе, у меня есть источник MP4, в котором я загружаю его в 2 канала, 1 - через RTMP, а другой - в RTSP. Затем я подключаюсь к обоим каналам и создаю из него контент MPEG-DASH. Выходной DASH для обоих в основном тот же, тот же манифестный контент, одинаковое количество фрагментов. Когда вы играете с проигрывателем DASH в индустрии (например, GPAC Osmo4, цифровыми приматами, датами кастета), контент DASH, созданный из источника RTMP, работает отлично, однако контент DASH, созданный из источника RTSP, проблематичен (то есть много видео зависает, a/v из синхронизации и т. д.). При сравнении фрагментов DASH, сгенерированных из RTMP, против RTSP, единственное различие заключается в выборкеОфисы и выборки в поле Trun. Но у них одинаковые образцы. В MSS использовались одни и те же фрагменты, и игрок MSS играл нормально, независимо от разницы в параметрах выборки и выборке.MPEG-DASH придирчивый в фрагментированном mp4 sampleOffsets и sampleSizes?

Кто-нибудь знает, имеет ли MPEG DASH требование относительно размера каждого образца в Trun, а также для смещений? Или что может вызвать эту проблему?

Я приветствую любые мнения, советы. Просто снимайте его ...

ответ

1

С нескольких часов мозга изнурительных R & D, я обнаружил, что а/v из синхронизации, воспроизведение быстро вперед, и слишком долго буфера вызывается неправильным " timescale "в файле инициализации сегмента. Манифест и фрагментированные mp4s (.m4s) кодируются с 1000 масштабами времени, однако инициализация сегмента имеет значение временной шкалы в поле «tfhd» 90000. Изменение этого параметра на 1000 для решения проблемы, упомянутой выше. Другая проблема - случайное замораживание видео, я выяснил, что причиной этой проблемы является недопустимый образец. Есть образцы с размером == 0 байт, но с длительностью> 0, в MSS это нормально, плеер все равно будет воспроизводить его, но в MPEG-DASH игрок замерзнет. Не записывая эти образцы с размером == 0 во фрагментированном mp4, проблема решена.

cheers :)

1

Основываясь на вашем описании, проблемы, скорее всего, вызваны неправильными параметрами во время создания контента. Пожалуйста, посмотрите на 'MPEG-DASH CONTENT GENERATION USING MP4BOX AND X264', так как они описывают полезные инструменты и шаги для получения действительного контента.

Вы уже проверили, действуют ли baseMediaDecodeTime-timestamps (которые могут быть найдены в поле tfdt сегментов мультимедиа) для аудио и видео?

Best, Alex

+0

Спасибо за ваш ответ. Я только что нашел проблему, это вызвано неправильной шкалой времени в файле инициализации сегмента и недопустимыми образцами, то есть выборками с размером == 0 –