![]() |
Проблема: процент воспроизведения потока опережает процент загрузки.
Воспроизведение FLV-файла с помощью netStream.
Есть созданный поток ns . В процессе воспроизведения видео индицирую полосками два процесса - процесс воспроизведения ролика и параллельно процесс загрузки ролика. Словом, ничего экстраординарного. Процент загрузки FLV-файла считаю так: Код AS1/AS2:
Код AS1/AS2:
В некоторых случаях, с некоторыми роликами вдруг оказалось, что возникают ситуации, при которых pctTime > pctLoaded , то есть получается, что головка воспроизведения видео потока опережает процент загрузки FLV. Понятно, что в одном случае мы измеряем долю уже загруженного в байтах от общего размера файла, а во втором случае - положение головки относительно продолжительности ролика в секундах, то есть несколько разные вещи. Но как-то раньше все было гладко, и pctTime никогда не опережал pctLoaded, то есть процент загрузки всегда несколько опережал процент воспроизведения. А тут вдруг такое дело. Вроде плеер-то не очень сложный, никаких особых выкрутасов ни с потоком, ни файлами не делаю. Собственно вопросы: 1) Эта ситуация нормальна для подобной методики оценки загруженного и положения головки воспроизведения? Было у вас такое? С чем это связано? Может это быть из-за вариативного битрейта определенного ролика, то есть непостоянного на протяжении ролика? 2) Если это все-таки ненормально, то что можно сделать в рамках AS2 и при отсутствии видео-сервера? Наличествует потенциально разнородные по происхождению файлы FLV под воспроизведение. |
В общем случае битрейт может быть непостоянным, плюс заголовок.
Варианты решения: 1) если pctLoaded меньше pctTime, то принять pctLoaded = pctTime 2) заморочиться с массивом временных меток (метаданные, могут отсутствовать), в нем как раз есть соответствия точек времени с байтами от начала файла. ИМХО. |
1. связь нормальна
1.2 Да вы правы если flv потоковое. 2. Все там хорошо, это не глюк, такое может быть, не волнуйтесь 2.Х Запускай ползунок, после интервала загрузки в 5%, до этого делай его дисаблед |
Цитата:
По поводу 2 - энкодинг не я делаю, метаданные использую, конечно, но по минимуму. Цитата:
Думаю тогда уж можно задать размер буфера побольше. |
Не ты не понял фича такая. Функция по обработки ползунка запускай после того как прогрузится 5% видео. Так же как и картинку. Ну это я обрзано, можно и меньшн например 2%
|
Кстати будет не лишним проверить ns.bytesTotal на 0 (избегаем деления на ноль) или "", ибо в некоторых случаях (использование прокси-серверов с определенными настройками) значение ns.bytesTotal может не соответствовать действительности. Действительное (или близкое) значение можно опять-таки достать из метаданных (если они были внедрены).
|
| Часовой пояс GMT +4, время: 23:33. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.