Приемник Google Cast выдает ошибку "Uncaught NotSupportedError: не удалось выполнить addSourceBuffer" на "MediaSource"

Мы успешно запустили поддержку Chromecast в нашем приложении, и оно отлично работало, с последних нескольких дней оно внезапно перестало работать (получатель всегда отправлял статус буферизации отправителю, и он непрерывно буферизовался), я использовал отладку хрома и удалось найти это исключение в консоли «Uncaught NotSupportedError: Не удалось выполнить addSourceBuffer на« MediaSource »: предоставленный тип (« video / mp2t; codecs = «mp4a.40.2, avc1.77.31» ') не поддерживается ». в файле media_player.js (на 80 строчке - по данным отладчика chrome). не понимая, почему внезапно возникает эта ошибка, все наши клиенты начали жаловаться на то, что поддержка Chromecast не работает.

не могли бы вы помочь мне решить проблему.

Примечание. Я использовал образец настраиваемого приемника из google cast github и изменил стиль.

мы используем HLS для потоковой передачи видео: вот пример содержимого файла m3u8:

#EXTM3U
#EXT-X-VERSION:1
## Created with Unified Streaming Platform(version=1.6.9)
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=323376,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=174000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=510996,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=351000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=722996,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=551000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1078096,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=886000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1415176,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=1204000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1743776,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=1514000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2068136,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=1820000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2498496,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=2226000.m3u8

Я видел ответ на это сообщение: Поддерживается ли avc1.66.31, mp4a.40.2 устройством Chromecast? но поскольку у нас есть другая версия кодека avc - avc1.77.31 не знаю, как лучше всего заставить его работать.

Примечание: я разместил тот же вопрос в сообществе G +, обновлю ответ там, если найду здесь рабочее решение. Благодарю.


person rkdroid    schedule 11.07.2015    source источник


Ответы (1)


Попробуйте заменить свой кодек на avc1.77.30

host.processManifest = function(manifest) {
  return manifest.replace(/CODECS=\"avc1.77.([0-9]*)/g, 'CODECS=\"avc1.77.30');
};
person not_a_bot    schedule 15.07.2015