日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux vlc流媒体服务器,vlc media server rtsp 流媒体服务器搭建成功经验分享

發(fā)布時(shí)間:2023/12/10 linux 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux vlc流媒体服务器,vlc media server rtsp 流媒体服务器搭建成功经验分享 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

vlc 由videolan.org 出品,開(kāi)源免費(fèi)的一款本地和網(wǎng)絡(luò)播放器,支持個(gè)音視頻格式非常多,還可以用來(lái)搭建 rtsp 流媒體服務(wù)器,非常好用,支持的平臺(tái)很多:windows、mac、linux都可以用,可以做點(diǎn)播、多播(組播)、單播服務(wù)器。通過(guò)命令設(shè)定引用文件后就可以通過(guò)rtsp協(xié)議訪問(wèn)這些音視頻。我用的centos6.5,搭建 rtsp 流媒體服務(wù)器的時(shí)候遇到諸多問(wèn)題,現(xiàn)在記錄下來(lái)以方便其它同學(xué)少走彎路。

1.安裝vlc

cd /etc/yum.repos.d/

wget http://pkgrepo.linuxtech.net/el6/release/linuxtech.repo //我試了3次才下載下來(lái)

yum list *vlc*

yum -y install vlc

我這里需要149個(gè)依賴項(xiàng),共150個(gè)安裝包,100多兆,可能需要下載一會(huì),每人可能不同。

2.驗(yàn)證vlc是否安裝成功

直接敲vlc,會(huì)提示

VLC is not supposed to be run as root. Sorry.

If you need to use real-time priorities and/or privileged TCP ports

you can use vlc-wrapper (make sure it is Set-UID root and

cannot be run by non-trusted users first).

不支持root用戶運(yùn)行,用useradd vlcuser添加了一個(gè)名為vlcuser的用戶,然后su vlcuser,再次運(yùn)行vlc,成功看到版本和其它很多信息。驗(yàn)證成功。

useradd vlcuser

su vlcuser

vlc

3.防火墻放行幾個(gè)后面要用到的端口

iptables -I INPUT -p TCP --dport 4212 -j ACCEPT

iptables -I INPUT -p TCP --dport 5554 -j ACCEPT

iptables -I INPUT -p TCP --dport 1234 -j ACCEPT

其中4212是telnet端口,配置操作vlc搭建的rtsp流媒體服務(wù)器,都需要telnet上去之后進(jìn)行,我這里是為了演示,生產(chǎn)當(dāng)中大家要主意安全限定規(guī)則或者不開(kāi)該端口使用本地telnet登陸。5554是rtsp協(xié)議使用的端口,可以設(shè)置和修改,這點(diǎn)相對(duì)上篇文章live555 media server rtsp 流媒體服務(wù)器搭建成功經(jīng)驗(yàn)分享來(lái)說(shuō)要好很多。1234端口是組播端口,也是可以自己隨意設(shè)置的。

4.開(kāi)啟vlc rtsp流媒體服務(wù)

vlc --ttl 12 -vvv --color -I telnet --telnet-password videolan --rtsp-host 0.0.0.0 --rtsp-port 5554

看到大量信息,然后中斷了,仔細(xì)排查發(fā)現(xiàn)如下錯(cuò)誤提示:

process 91744: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open “/var/lib/dbus/machine-id”: No such file or directory

See the manual page for dbus-uuidgen to correct this issue.

D-Bus not built with -rdynamic so unable to print a backtrace

Aborted

上網(wǎng)查了之后,執(zhí)行如下命令,問(wèn)題解決,再次運(yùn)行開(kāi)啟vlc rtsp流媒體服務(wù)的命令,服務(wù)成功啟動(dòng)

su root

dbus-uuidgen > /var/lib/dbus/machine-id

su vlc

vlc --ttl 12 -vvv --color -I telnet --telnet-password videolan --rtsp-host 0.0.0.0 --rtsp-port 5554

注意上面的ip地址0.0.0.0要替換成你自己的ip,按理說(shuō)0.0.0.0代表監(jiān)聽(tīng)本地任何ip,這樣你改了ip還是能用,但我實(shí)際測(cè)試發(fā)現(xiàn)點(diǎn)播不了。而且,端口要用–rtsp-port指定,用0.0.0.0:5554的方式會(huì)有錯(cuò)誤提示,實(shí)際監(jiān)聽(tīng)到554的端口去了,然后554端口被live555mediaserver占用,關(guān)掉live555mediaserver才正常。后面telnet上去配置vod服務(wù)的時(shí)候會(huì)在vlc rtsp 流媒體服務(wù)器的狀態(tài)中看到如下信息:

main vod server error: Ignoring port 5554 (using 554)

main vod server: Specify port 5554 separately with the rtsp-port option instead.

main vod server debug: net: listening to 0.0.0.0 port 554

main vod server error: socket bind error (Permission denied)

main vod server error: cannot create socket(s) for HTTP host

看到這句?[telnet] main interface debug: net: listening to localhost port 4212 說(shuō)明telnet監(jiān)聽(tīng)正常。

當(dāng)然可能還會(huì)看到一些錯(cuò)誤,但是暫時(shí)不影響服務(wù)的正常使用,可以忽略:

inhibit interface error: Failed to connect to the D-Bus session daemon: /bin/dbus-launch terminated abnormally without any error message

main interface error: no suitable interface module

main interface error: no suitable interface module

main libvlc error: interface “globalhotkeys,none” initialization failed

還有一些警告,應(yīng)該也不影響:

stream warning: unknown box type btrt (incompletely loaded)

demux warning: CTTS table

5.進(jìn)入telnet添加點(diǎn)播項(xiàng)目,先安裝telnet客戶端

yum -y install telnet

telnet 127.0.0.1 4212

輸入前面設(shè)定的密碼:videolan,就進(jìn)入vlc rtsp 流媒體服務(wù)器配置的telnet操作界面了。

a 架設(shè)點(diǎn)播服務(wù)vod

new vod1 vod enabled

setup vod1 input /home/01.avi

解釋: new 新建了一個(gè)名字叫vod1的vod點(diǎn)播服務(wù),設(shè)置vod1的input 輸入文件為/home/01.avi。你可以通過(guò)這種方式添加很多個(gè)點(diǎn)播服務(wù)。

b 架設(shè)組播服務(wù)ch1

new ch1 broadcast enabled

setup ch1 input /home/02.avi loop

setup ch1 output #duplicate{dst=rtp{dst=0.0.0.0,mux=ts,port=1234}}

control ch1 play

上面的0.0.0.0換成你自己的組播服務(wù)器ip地址。解釋下:new 新建了一個(gè)名字叫ch1的broadcast組播。設(shè)置ch1的input輸入文件為/home/02.avi,loop可選,表示循環(huán)播放。設(shè)置ch1的output輸出為#duplicate{dst=rtp{dst=0.0.0.0,mux=ts,port=1234}},表示rtp協(xié)議的ts流發(fā)送到組播地址為0.0.0.0,端口1234。控制ch1開(kāi)始播放。

擴(kuò)充:

1) output后面可以跟sout參數(shù)。具體可以參考vlc->媒體->流->流輸出界面的已生成的流輸出字符串。

2) control ch1后面還可以加stop,pause,seek 百分比。表示停止,暫停和跳轉(zhuǎn)到百分之幾的位置。

c 架設(shè)單播服務(wù)

前面組播命令中output換成單播的地址就行了。其他的都一樣的。注意不要new重名了。

可能會(huì)看到這些警告和錯(cuò)誤:

demux warning: track[0x2] will be disabled (eof?)

stream_out_rtp vod server error: cannot add this stream (unsupported codec: RV40)

這表明你的視頻格式vlc不支持,比如這個(gè)rv40就是rmvb格式的視頻所用的編碼,vlc不支持,這種情況就會(huì)出現(xiàn)該視頻通過(guò)rtsp播放畫(huà)面是黑的,但是有聲音,因?yàn)槁曇羰褂玫膙lc支持的某種格式。同理,如果有畫(huà)面,沒(méi)有聲音,說(shuō)明你的視頻使用的視頻編碼格式受到vlc的支持,而音頻編碼格式不受vlc支持。需要你去手動(dòng)轉(zhuǎn)碼或者采用別的處理方式。

d 保存以上配置,下次重啟可以直接加載,不需要全部重新輸入一遍,試想你提供了100個(gè)點(diǎn)播和組播服務(wù),每次都手動(dòng)輸入。。。

save /home/vlc.vod.cfg

load /home/vlc.vod.cfg

實(shí)際我測(cè)試這個(gè)沒(méi)成功,報(bào)錯(cuò):save : Unable to save to file

6.測(cè)試vlc rtsp流媒體服務(wù)器

在另一臺(tái)電腦開(kāi)啟一個(gè)vlc,打開(kāi)rtsp://127.0.0.1:5554/vod1。應(yīng)該就可以以rtsp協(xié)議串流的方式播放/home/01.avi這個(gè)文件了。127.0.0.1可以換成自己的ip。

打開(kāi)rtp://127.0.0.1:1234。應(yīng)該就可以以直播的方式觀看/home/02.avi了。但是這個(gè)我沒(méi)有實(shí)驗(yàn)成功。目前還不清楚問(wèn)題出在哪里。

參考鏈接:

總結(jié)

以上是生活随笔為你收集整理的linux vlc流媒体服务器,vlc media server rtsp 流媒体服务器搭建成功经验分享的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。