Строки 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 для потоковой передачи или мне нужно использовать другой плеер?
1 ответ
Мы столкнулись с этой проблемой некоторое время назад, и в результате получили жестко запрограммированный URL для каждого формата. Мы используем еще один флеш-плеер Flowplayer и работаем с двумя потоковыми провайдерами CloudFront и EdgeCast, и вы обнаружите, что даже между форматами, которые они поддерживают для определенных типов видео, есть небольшая разница.
Вы можете обратиться к вопросу, почему пути URL протокольной передачи RTMP отличаются друг от друга? Я спрашивал раньше.
Я не нашел какого-либо инструмента для его преобразования, так как это скорее зависит от потоковых провайдеров, и на данном этапе нет стандарта.
Когда мы имеем дело с mp4, flv, mp3, мы создаем url: (будьте осторожны с префиксом и расширением)
mp4:test.mp4
flv:test
mp3:test