2012年12月27日星期四

VLC 建立 RTSP 串流伺服器

VLC 除了是一種媒體播放軟件,同樣它能夠成為媒體播放伺服器
利用 VLC 媒體播放伺服器,可以直接讓對方透過串流觀看媒體,不再需要等候傳送完畢
而且亦可以同時讓大量用戶觀看媒體
最重要的是 VLC 亦是跨平台軟件,不需要擔心不同的作業系統上的操作問題

此文章以 LinuxMint 為示範,留意工具欄上的排列及文字描述在不同作業系統上會有些微分別
但不會影響主要操作方法


前往 Media > Open (advanced)...


按下 Add 並選擇將以串流形式播開的媒體


選擇後按 Play 旁邊的下箭咀並選擇 Stream


進入 Destination Setup
啟用 Activate Transcoding 並指定所使用的 transcoding
VLC 預設有多種 transcoding ,預設的 Video - H.264 + MP3 (MP4) 已經是一種不錯的播放品質
New destination 選擇 RTSP 並按 Add



設定 Port 預設為 8554 及 Path 預設為 /
Path 可以改變為任何文字資料,當存取 RTSP 時可以根據 Path 資料播放不同的媒體,例如 stream



進入 Stream Setup
啟用 Stream all elementary streams
而 Time-To-Live (TTL) 許可的情況下可以設定為最大的 255 延長封包的存活時間,減低聲畫不同步機會



若果已經建立好 RTSP 串流伺服器
用戶端亦可以開啟 VLC 的 Media > Open Network Stream...



輸入 RTSP 的位置
同一台電腦可以使用 rtsp://127.0.0.1:8554/stream 或 rtsp://localhost:8554/stream 進行測試



順利播放串流媒體
右邊為伺服器,左邊為用戶
留意,即使在同一台電腦測試,伺服器與用戶的播放時間都會有延誤

註:
VLC 提供指令操作
在 Terminal 輸入
vlc video.mp4 \
:sout='#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/stream}' \
:sout-all \
:ttl=255 \
:sout-keep \
vlc://quit
已經相當於上述的數個步驟,而測試亦可以輸入
vlc rtsp://127.0.0.1:8554/stream

vlc rtsp://localhost:8554/stream
令操作速度更加快速及方便

另外,若需要串流其他媒體例如光碟機、桌面等
可以 Disc > /dev/dvd 或 Capture Device > Desktop 之類

2 則留言 :

  1. 您好 想請教若要使用VLC串流桌面畫面該如何操作呢 試了幾次都操作失敗 請版主指導 謝謝

    回覆刪除