dadv: (chuck)

Прикрутил к своему апачу поддержку HTTP Pseudostreaming для видео в форматах FLV и MP4.

Немного теории: псевдостримингом называют запрос с сервера и отдачу сервером видеофайлов не только с начала, но и с произвольного смещения (байтового или секундного) через URL вида http://server/file.flv?start=NNN или http://server/file.flv?start=SEC.MS

В ответе сервер отдаёт сначала метаданные, потом видеопоток с указанного места. Для apache-2.2 модуль mod_flvx.so реализует превдостриминг для FLV и mod_h264_streaming.so для MP4. Файлы FLV могут не содержать в себе таблицы смещений ключевых фреймов, которая необходима для псевдостриминга; команда flvtool++ добавляет эту таблицу в FLV-файл. flvtool++ под FreeBSD есть в портах.

В качестве проигрывателя, встраиваемого в веб-страницу (в ЖЖ тоже встраивается) попробовал JW Player 5.8. Не без недостатков, но вполне рабочий. Для пробы переделал несколько своих старых LJ-постов на свой сервер, например.

Методы встраивания плеера через JavaScript, автоматически определяющие поддержку HTML5 или Flash и выдающие подходящий код клиентскому устройству (браузеру или планшетнику) не проходят в ЖЖ. Тут приходится использовать просто <embed>:

<lj-embed>
<embed type="application/x-shockwave-flash"
flashvars="file=http://www.grosbein.net/video/sizo.mp4&provider=http&duration=229"
id="sizo" name="sizo" width="640" height="360"
allowfullscreen="true" allowscriptaccess="always"
src="http://www.grosbein.net/jwp/player.swf" />
</lj-embed>

Определенная корявость плеера компенсируется отсутствием завязки на внешние сервисы, что дорогого стоит. Внезапно не снесут файл, никакой рекламы, кроме нескольких секунд логотипа плеера в начале воспроизведения в уголке.

Музыку тоже воспроизводит, хотя и без pseudostreaming:



Или максимально компактно:

Profile

dadv: (Default)
Choose your future

July 2024

M T W T F S S
12 34567
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Tags

Style Credit

Powered by Dreamwidth Studios