Установка VLC 1.0.5
cd /usr/ports/multimedia/vlc
make WITH_DEBUG=yes WITHOUT_QT4=--disable-qt4 DEBUG=--enable-debug DEBUG=--enable-release WITH_AALIB=--enable-aa WITH_FAAC=--with-ffmpeg-faac WITHOUT_DBUS=--disable-dbus WITHOUT_NLS=--disable-nls WITHOUT_GNOMEVFS=--disable-gnomevfs WITHOUT_SKINS=--disable-skins2 WITH_WIN32_CODECS=--enable-loader WITH_REMOTE_OSD=--disable-remoteosd WITHOUT_PULSEAUDIO=--disable-pulse WITHOUT_HAL=--disable-hal WITHOUT_AVAHI=--disable-bonjour WITHOUT_CDPARANOIA=--disable-cdda WITHOUT_CDPARANOIA=--disable-cddax WITHOUT_DVBPSI=--disable-dvbpsi WITHOUT_DVDNAV=--disable-dvdnav WITHOUT_FLAC=--disable-flac WITH_FRIBIDI=--enable-fribidi WITHOUT_DIRAC=--disable-dirac WITHOUT_SCHROEDINGER=--disable-schroedinger WITH_LUA=--enable-lua WITHOUT_CACA=--disable-caca WITHOUT_DTS=--disable-dca WITHOUT_VLC_MOZILLA_PLUGIN=yes WITH_SHOUT=--enable-shout WITHOUT_TAGLIB=--disable-taglib WITHOUT_MODDEMUX=--enable-mod WITHOUT_MPCDEMUX=--enable-mpc WITHOUT_SAMBA=--disable-smb WITHOUT_XOSD=--disable-xosd WITHOUT_V4L=--disable-v4l WITHOUT_V4L=--disable-dvb WITHOUT_X11=--disable-x11 && make install
$ cvlc -vvv /usr/home/test/Amon_Amarth.avi --sout '#std{access=udp,mux=ts,dst=192.168.0.1:1234}'
или *.avi
$ cvlc -vvv /usr/home/test/Amon_Amarth.avi --sout '#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128 ,channels=2,samplerate=44100}:std{access=udp,mux=ts,dst=192.168.0.1:1234}
Открываем Медиа/открыть URL/ Выбираем Протокол UDP, вводим наш IP адрес, Порт 1234
Пример 192.168.0.1:1234
1. С управлением и выбором файлов через веб интерфейс
$ cvlc -vvv --extraintf http --http-host 192.168.0.1:8080
Войдя в веб интерфейс выбираем VLM interface > broadcast Name имя Enable Loop Input: избираем файл Output: UDP адрес из которого будем пересматривать, порт не задаем НАЖИМАЕМ PLAY
*.mp4
#transcode{vcodec=mp2v,vb=128,scale=1}:std{access=udp,mux=ts,dst=192.168.0.1:1234} #transcode{vcodec=mp4v,vb=256,scale=1}:std{access=udp,mux=ts,dst=192.168.0.1:1234} очень плохо #transcode{vcodec=DIV2,vb=256,scale=1}:std{access=udp,mux=ts,dst=192.168.0.1:1234} очень плохо #transcode{vcodec=DIV3,vb=256,scale=1}:std{access=udp,mux=ts,dst=192.168.0.1:1234} очень плохо #transcode{vcodec=WMV1,vb=256,scale=1}:std{access=udp,mux=ts,dst=192.168.0.1:1234} плохо #transcode{vcodec=WMV2,vb=256,scale=1}:std{access=udp,mux=ts,dst=192.168.0.1:1234} очень плохо #transcode{vcodec=MJPG,vb=256,scale=1}:std{access=udp,mux=ts,dst=192.168.0.1:1234} квадратики
2. Из конфигурационного файла
$ cvlc -vvv -I telnet --telnet-password "12345" --vlm-conf=/usr/home/test/vlc.streaming2.conf
$ vim /home/vlc/vlc.streaming2.conf
new Amon broadcast enabled setup Amon input file:////usr/home/test/Amon_Amarth.avi loop setup Amon output #rtp{access=udp,mux=ts,dst=192.168.0.1,port=1234}
new channel2 broadcast enabled setup channel2 input file:////usr/home/test/Six_Feet_Under-Deathklaat.m2v loop setup channel2 output #rtp{access=udp,mux=ts,dst=192.168.0.1,port=1234}
control Amon play control channel2 play
Также для есть возможность задавать график Для этого заходим в schedule
Открываем Медиа/открыть URL/ Выбираем Протокол UDP, вводим IP адрес из которого будет прием : порт тот что на сервере избрали или 1234/ имя файла
Пример 192.168.0.1:1234/Amon
1. Из конфигурационного файла
$ cvlc -vvv --vlm-conf=конфигурационный файл --rtsp-host ИР сервера:порт
пример
$ cvlc -vvv --vlm-conf=/usr/home/test/VOD.conf --rtsp-host 192.168.0.2:5554 --rtsp-caching=3000
2. Из веб интерфейса Убедимся что наша внешняя ИР есть в /usr/local/share/vlc/http/.hosts
$ cvlc -vvv --extraintf http --http-host 10.0.0.1:8080 --rtsp-host 10.0.0.1:5554 --rtsp-caching=3000
3. Из конфигурационного файла + добавление вручную через telnet
$ cvlc -vvv --color -I telnet --telnet-password "12345" --vlm-conf=/usr/home/test/vlcVOD.conf --rtsp-host 192.168.0.3:5554 --rtsp-caching=3000
Конфигурационный файл
vim /usr/home/test/vlcVOD.conf
new Amon_Amarth vod enabled setup Amon_Amarth input Amon_Amarth.avi setup Amon_Amarth
new Moonspell vod enabled setup Moonspell input Moonspell.mpg setup Moonspell
new Six_Feet_Under-Deathklaat vod enabled setup Six_Feet_Under-Deathklaat input Six_Feet_Under_Deathklaat.m2v setup Six_Feet_Under-Deathklaat
new Spineshank vod enabled setup Spineshank input Spineshank.mpeg setup Spineshank
new Alice_Cooper_Poison.avi vod enabled
setup Alice_Cooper_Poison.avi input Alice_Cooper_Poison.avi setup Alice_Cooper_Poison.avi
Открываем Медиа/открыть URL/ Выбираем Протокол RTSP вводим наш IP адрес : порт тот что на ВОД сервере выбрали / имя файла
Пример 192.168.0.3:5004/Moonspell
1. Из веб интерфейса
$ cvlc -vvv --extraintf http --http-host 10.0.0.1:8080
Войдя в веб интерфейс выбираем VLM interface > broadcast Name имя Enable Loop Input: выбираем файл Output: HTTP адрес сервера, порт больше 1024 например 8082
2. Из конфигурационного файла
$ cvlc -vvv --vlm-conf=/usr/home/test/httpbroadcast.conf
$ vim /usr/home/test/httpbroadcast.conf
new channel1 broadcast enabled setup channel1 input Moonspell.mpg setup channel1 output #standard{mux=ts,access=http,url=10.0.0.1:8082/stream1}
new channel2 broadcast enabled setup channel2 input Amon_Amarth.avi setup channel2 output #standard{mux=ts,access=http,url=10.0.0.1:8082/stream2}
control channel1 play control channel2 play
Открываем Медиа/открыть URL/ Выбираем Протокол HTTP вводим IP адрес сервера : порт тот что на HTTP сервере выбрали
Пример 10.0.0.1:8082
1. Из веб интерфейса
$ cvlc -vvv --extraintf http --http-host 10.0.0.1:8080 --rtsp-host 10.0.0.1:5554 --rtsp-caching=3000 --ttl=12
$ cvlc -vvv /usr/home/test/Amon_Amarth.avi --sout '#std{access=udp,mux=ts,dst=239.255.1.1:1234}' --ttl=12 --udp-caching=3000
2. Из командной сроки
$ vlc -vvv /usr/home/test/Amon_Amarth.avi --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}: rtp{mux=ts,dst=239.255.12.42,port=1234,sap,name="TestStream"}' --ttl=12
3. Из конфигурационного файла
$ cvlc -vvv --vlm-conf=/usr/home/test/test --ttl=12
vim /home/test/test
new channel1 broadcast enabled setup channel1 input /usr/home/test/Amon_Amarth.avi setup channel1 output #rtp{mux=ts,dst=239.255.1.1,sap,name="Channel1"} new channel2 broadcast enabled setup channel2 input /usr/home/test/Amon_Amarth.avi setup channel2 output #rtp{mux=ts,dst=239.255.1.2,sap,name="Channel2"} control channel1 play control channel2 play
setup channel1 loop setup channel2 loop
запускаем vlc выбираем «Настройки» → «Настройки» → раскрываем «Выведение потока», а там ищем «Модули вывода», в поле «Интерфейс выведения Ipv4 multicast» пишем IP-адрес который прописан на вашей сетевой карте ( что смотрит в сторону сервера того, которое вещает поток), жмем «Сохранить»
После того, как выполнили настройки: «Файл» →«Открыть URL» в строке MRL пишем: udp:@239.255.1.1 (что бы посмотреть видео из файла file_1.avi) или udp:@239.255.1.2 (что бы посмотреть видео из файла file_2.avi соответственно)
Нужно установить Flowplayer в папку вебсервера и создать страничку примерно как эта
vim /usr/local/www/apache22/data/web/webvlc.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>test</title> <script type="text/javascript" src="flowplayer-3.1.4.min.js"></script> <!-- some minimal styling, can be removed --> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <center> <!-- this A tag is where your Flowplayer will be placed. it can be anywhere --> <a href="http://192.168.0.3:8082/stream.flv" style="display:block;width:320px;height:256px" id="player"> </a> <!-- this will install flowplayer inside previous A- tag. --> <script> flowplayer("player", "flowplayer-3.1.5.swf"); </script> </center> </body> </html>
1. Из веб интерфейса
$ cvlc -vvv --extraintf http --http-host 192.168.0.3:8080 --rtsp-host 192.168.0.3:5554 --rtsp-caching=3000 --ttl=12
Войдя в веб интерфейс выбираем VLM interface > broadcast Name имя Enable Loop Input: избираем файл Output: HTTP адрес сервера, порт больше 1024 например 8082
#transcode{vcodec=FLV1,acodec=mp3,sameplerate=44100}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=192.168.0.3:8082/stream.flv}
#transcode{vcodec=FLV1,acodec=mp3,vb=200,deinterlace,fps=25,samplerate=44100,ab=32}: std{access=http,mux=ffmpeg{mux=flv},dst=192.168.0.3:8082/stream.flv}