Может ли Flash немедленно приостановить RTMP-поток? - PullRequest
2 голосов
/ 18 августа 2011

Я могу нормально транслировать видео RTMP в JW Player от LongTail Media. Пауза, кажется, работает, однако, используя Resource Monitor в Windows 7, я вижу, что проигрыватель продолжает загружать данные, когда видео находится в режиме паузы, он загружается в течение примерно 60 секунд (и, по-видимому, не длиннее для более длинных видео). Я нашел то же самое, используя примеры на сайте longtailmedia, так что я знаю, что это не то, что я сделал.

Мне нужен способ приостановить видео и остановить его загрузку, это сэкономит нам много трафика. Но также продолжайте с того места, на котором остановились, если снова нажать кнопку воспроизведения.

Я проверил журналы на нашем медиа-сервере wowza, который показывает, что проигрыватель действительно ждет 60 секунд, прежде чем отправит команду паузы на сервер.

Поддержка LongTail говорит о том, что функция паузы использует встроенный класс NetStream и его поведение не контролируется.

Я протестировал онлайн-примеры Flowplayer и пару примеров Adobe / OSMF, и все они продолжают загружаться в течение 60 секунд после приостановки видео.

Лучше всего, чтобы это работало в JW-плеере, но есть ли какие-нибудь флеш-плееры, которые прекратят загрузку во время паузы?

Если это невозможно с RTMP, есть ли технологии, которые будут делать это с флеш-плеером?

спасибо:)

Ответы [ 2 ]

2 голосов
/ 19 августа 2011

Быстрый взгляд на ссылку AS3:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#maxPauseBufferTime

свойство maxPauseBufferTime
maxPauseBufferTime: Number Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4 Указывает, какдолго для буферизации сообщений в режиме паузы, в секундах.Это свойство можно использовать для ограничения объема буферизации в режиме паузы.Как только значение NetStream.bufferLength достигает этого предела, оно прекращает буферизацию.

Если это значение не установлено, по умолчанию для этого ограничения устанавливается значение 60 секунд или двойное значение NetStream.bufferTime для каждой паузы, в зависимости от того, что

Реализация открытой функции get maxPauseBufferTime (): Number Открытая функция set maxPauseBufferTime (value: Number): void

Возможно, вы захотите скомпилировать плагин или собрать проигрыватель из источника -и внесите некоторые изменения, так как это выглядит как поведение, которое вы видите!

0 голосов
/ 25 августа 2011

Так работает HTTP-загрузка.Проверьте Youtube или других игроков, они будут делать то же самое.Практически невозможно иметь несколько загруженных частей в буфере, и загрузка с паузой на самом деле удобна для людей, которые имеют медленное соединение, но хотят посмотреть видео HiQ.все RTMP потоковое с серверов, таких как FMS и Red5.Просмотр 5 МБ видео может легко создать общий трафик 10-15 МБ на просмотр, если пользователь много чистит.(Кроме того, вы говорите о трафике, а не о пропускной способности.) Вот почему я не рекомендую использовать потоковую передачу по протоколу RTMP.Тем не менее, существует множество видео-сайтов, использующих потоковую передачу по протоколу RTMP для миллионов пользователей ...

...