Строки RTMP Amazon Cloudfront с SoundManager2

Я работаю над веб-приложением, использующим SoundManager2. После того, как я ударился головой о стену и не смог запустить потоковую передачу музыки, я, наконец, переключил некоторые из своих URL-адресов при создании нового звука SoundManager.

Это то, что я использовал раньше, и хотя он подключается, поток никогда не воспроизводится.

soundManager.createSound({
    id: 'songId_1',
    serverURL: 'rtmp://s3s5uvbmfjq6k1.cloudfront.net:1935/cfx/st', 
    url: 'hihi.m4a',
    onconnect: function(connected){
        alert(connected);
    }
});

Однако как только я изменил его на это, он внезапно смог транслироваться.

soundManager.createSound({
     id:'test3',
     serverURL:'rtmp://s3s5uvbmfjq6k1.cloudfront.net:1935/cfx/st',
     url:'mp4:hihi.m4a'
});

Я не понимаю, почему первый не работает, а второй работает. У меня нет проблемы с жестко запрограммированным serverURL, но URL-адрес является динамическим и может быть любым количеством аудиоформатов, поэтому необходимость преобразования его в допустимое значение, которое будет транслироваться, не имеет для меня смысла, если нет API для этого (я не видел ни одного в Cloudfront). Есть ли способ конвертировать

song location/song name.ext

в правильный URL-адрес для потоковой передачи или мне нужно использовать другой плеер?


person jstoup111    schedule 31.05.2012    source источник
comment
Я нашел этот сайт диагностики очень полезным при отладке моего CloudFront - ›Настройка Soundmanager.   -  person David Tuite    schedule 20.05.2013


Ответы (1)


У нас возникла эта проблема некоторое время назад, и в итоге мы получили жестко запрограммированные URL-адреса для каждого формата. Мы используем еще один флеш-плеер Flowplayer и работаем с двумя потоковыми провайдерами CloudFront и EdgeCast, и вы обнаружите, что даже есть небольшая разница между форматом, который они поддерживают для определенных типов видео.

Вы можете обратиться к вопросу Почему путь URL-адреса потокового протокола RTMP отличаются друг от друга? - спрашивал я раньше.

Я не нашел никакого инструмента для его преобразования, так как это скорее зависит от провайдеров потоковой передачи, и на данном этапе нет стандарта.

Когда мы имеем дело с mp4, flv, mp3, сконструированные URL-адреса таковы: (Будьте осторожны как с префиксом, так и с расширением)

mp4:test.mp4
flv:test
mp3:test
person Yudong Li    schedule 06.06.2012
comment
Вау, это действительно обидно. На самом деле должна быть какая-то стандартизация. Я действительно ценю ответ. Я переключился на jwplayer, который тем временем избавился от этой проблемы. - person jstoup111; 07.06.2012
comment
Также ВАЖНО: для потоковой передачи RTMP вам необходимо включить Flash 9 в SoundManager2 (передав flashVersion: 9 при настройке), он не будет работать с Flash 8 по умолчанию. - person therealszaka; 29.04.2014