В новите бети на Icecast най-после има поддръжка на WebM. Това е добра новина, но задачката да "закарате" WebM до Icecast сървъра, не е чак толкова лесна.
Единия начин е да се забъркате в главоблъсканицата gstreamer и на теория вероятно това е по-лесния начин. Наличието на gstreamer 0,1,1.2 и т.н. обаче и постоянното сменяне кое къде стои и как се казва е малък кошмар с излизането на всяка нова версия.
Другия начин е просто да ползвате например ffmpeg. Там обаче няма как да "закарате" WebM до Icecast-а (или поне аз не знам как). С Theora нещата са сравнително лесни - дъмпвате от ffmpeg на stdout и после с oggfwd го качвате на Icecast сървъра. До тук всичко е добре, но oggfwd не работи с WebM. Решението обаче е много лесно. Сваляте oggfwd и на ред 284 заменяте:
shout_set_format(shout, SHOUT_FORMAT_VORBIS);
с
shout_set_format(shout, SHOUT_FORMAT_WEBM);
Компилирате и си имате всичко нужно за live streaming.
HOWTO stream от video4linux устройство:
ffmpeg -async 12 \
-f v4l2 -s 640x360 -i /dev/video0 \
-f alsa -i hw:0,0 \
-aspect 16:9 -crf 10 -b:v 1M -c:v libvpx -g 0 \
-ac 2 -ar 48000 -c:a libvorbis \
-f webm - \
| \
./oggfwd IP POРT PASSWORD /MOUNT
На първия ред извикваме самия ffmpeg.
На втория и втория ред казваме от къде да се вземе видеото и аудиото.
Следват два реда с разни параметри за качество на видеото и аудиото, както и какви кодеци да се ползват.
На шестия ред указваме изходния формат.
И последния ред извикваме току що компилирания ни oggfwd.
Това е всичко.
Ето и shot от firefox с HTML5 video таг:
напиши нов коментар