2016-02-02 5 views
1

Я пишу живое телевизионное приложение с использованием Flowplayer 6.0.5. Я использую следующий код:Flowplayer: файл SWF не найден

<div class="player"> 
    <video> 
     <source type="application/x-mpegurl" src="http://10.10.11.101/response2/index.m3u8?ch=<?php echo $_SESSION['chnId']; ?>&request=playlist&session=<?php echo $sess_id; ?>"> 
    </video> 
</div> 
var playero = $('.player').flowplayer({ 
     autoplay: true 
    }); 

Это работает нормально во время прямой трансляции, но при переключении каналов или использовать искать я иногда (примерно раз в 10 раз абсолютно случайно) получает эту ошибку:

enter image description here

при переключении каналов (то же самое при использовании поиска), я просто послать запрос на сервер, чтобы изменить список воспроизведения, а затем использовать

player.load(); 

Я искал везде, но не мог найти, почему это может произойти. Любая помощь будет воспринята, спасибо!

+0

Использование '// releases.flowplayer.org/6.0.5/flowplayer.swf' означает, что он будет использовать тот же протокол (HTTP или HTTPS) в качестве страницы обслуживания. Я проверил путь как 'http: // release.flowplayer.org/6.0.5/flowplayer.swf', так и' https: // release.flowplayer.org/6.0.5/flowplayer.swf' и попытался обновить их несколько раз, и, похоже, работает нормально. Не может быть проблема с вашим подключением к Интернету? Еще один вопрос: почему бы не использовать player.setClip() вместо выполнения player.load() каждый раз? –

+0

Вот почему я понятия не имею, почему это происходит случайным образом. Проблема не в связи с тем, что эта проблема возникает из любого другого места. –

+1

Ошибка указывает, что файл SWF не найден. Итак, лучше всего будет следить за консолью браузера (в сети) и видеть, что происходит в сетевых вызовах при возникновении этой ошибки. Вы пробовали использовать файл flowplayer.swf на своем собственном сервере? –

ответ

1

Верьте или нет, я подозреваю, что проблема заключается в том, что ваше приложение ошибочно принимается за поставщика Flash-рекламы.

Браузеры не думают «Oh FlowPlayer? Все в порядке», все, что им известно, это SWF-файл, встроенный на страницу, постоянно загружает различные уникальные потоки (например, вращает плейлист видеорекламы? О, о).

Теперь это приложение демонстрирует то же поведение, что и раздражающие флеш-баннеры. Затем он автоматически блокируется (как и все рекламные баннеры Flash в настоящее время), пока пользователь не захочет включить воспроизведение.

Я смущен, ища хотя бы. сетевая активность не показывала новых запросов, но для вас она блокируется через некоторое время? Я проверил это FlowPlayer link.

Все, что я знаю, эти вещи ниже будет избежать автоматической блокировки ...

  • Если SWF загружается с сервера, как же .html, что вкладывается, то отлично.
  • Если SWF загружает видео с того же сервера, что и сам, это прекрасно.
  • Если SWF загружает один источник видео, это нормально.

Вы, скорее всего, делаете первое, но сделать это невозможно, поскольку видео с сервера RTMP.

Для себя: Может ли PHP использоваться здесь как прокси-сервер «среднего человека»? В основном для потоковой передачи RTMP укажите ваш URL-адрес SWF-входа в файл PHP (так что технически он всегда загружает один файл), но PHP должен Echo вернуть любые измененные данные потока RTMP (канал или поиск).

+0

Спасибо за ваше предложение! Я уже делал первое и третье вещи, но я не думал, что он будет автоматически заблокирован для загрузки видео с разных серверов. Я следовал за вашим предложением использовать PHP как «средний человек» и, похоже, решил проблему. Узнал новую вещь сегодня, спасибо! –

+0

Кстати, когда я переместил SWF-файл на свой сервер, ошибка стала менее частым, но все же иногда случалась. Поэтому для меня кажется какой-то случайной логикой для браузеров. –

0

Обновите версию вашего потокового проигрывателя от вашего потокового проигрывателя account page, потому что в вашей версии (6.0.5) есть некоторые исправления. Вы можете посмотреть, что fixes.

+0

Я уже использую последнюю версию –

Смежные вопросы