![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Модрон-ветеринар
|
Воспроизведение FLV-файла с помощью netStream.
Есть созданный поток ns . В процессе воспроизведения видео индицирую полосками два процесса - процесс воспроизведения ролика и параллельно процесс загрузки ролика. Словом, ничего экстраординарного. Процент загрузки FLV-файла считаю так: Положение головки так: , где duration - продолжительность в секундах (величина заведомо верная). В некоторых случаях, с некоторыми роликами вдруг оказалось, что возникают ситуации, при которых pctTime > pctLoaded , то есть получается, что головка воспроизведения видео потока опережает процент загрузки FLV. Понятно, что в одном случае мы измеряем долю уже загруженного в байтах от общего размера файла, а во втором случае - положение головки относительно продолжительности ролика в секундах, то есть несколько разные вещи. Но как-то раньше все было гладко, и pctTime никогда не опережал pctLoaded, то есть процент загрузки всегда несколько опережал процент воспроизведения. А тут вдруг такое дело. Вроде плеер-то не очень сложный, никаких особых выкрутасов ни с потоком, ни файлами не делаю. Собственно вопросы: 1) Эта ситуация нормальна для подобной методики оценки загруженного и положения головки воспроизведения? Было у вас такое? С чем это связано? Может это быть из-за вариативного битрейта определенного ролика, то есть непостоянного на протяжении ролика? 2) Если это все-таки ненормально, то что можно сделать в рамках AS2 и при отсутствии видео-сервера? Наличествует потенциально разнородные по происхождению файлы FLV под воспроизведение. Последний раз редактировалось mooncar; 14.05.2010 в 01:48. |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
В общем случае битрейт может быть непостоянным, плюс заголовок.
Варианты решения: 1) если pctLoaded меньше pctTime, то принять pctLoaded = pctTime 2) заморочиться с массивом временных меток (метаданные, могут отсутствовать), в нем как раз есть соответствия точек времени с байтами от начала файла. ИМХО. |
|
|||||
|
Модрон-ветеринар
|
Цитата:
По поводу 2 - энкодинг не я делаю, метаданные использую, конечно, но по минимуму. Цитата:
Думаю тогда уж можно задать размер буфера побольше. Последний раз редактировалось mooncar; 14.05.2010 в 02:37. |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Кстати будет не лишним проверить ns.bytesTotal на 0 (избегаем деления на ноль) или "", ибо в некоторых случаях (использование прокси-серверов с определенными настройками) значение ns.bytesTotal может не соответствовать действительности. Действительное (или близкое) значение можно опять-таки достать из метаданных (если они были внедрены).
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|