H4 無線投影 (Wireless Display)

H4 無線投影 (Wireless Display)

source

需求要件

假設:

  • 聚會環境固定有 Wi-Fi 無線上網基地台
  • 固定有 LED 投影機,支援 VGA/HDMI 投影

希望能達成:

  • 投影的人,不需要接線,僅需連 Wifi 即可無線投影
  • 投影的人,能一邊投影,一邊正常上網
  • 投影的人,作業系統為 Linux / OS X / Win 的人也能使用 ( 依順位列 )
  • 投影的人,需要安裝的東西,跨平台、越少越好

DIY 發想-1

用 VLC 來作 screencast

  • 投影的人,先安裝 VLC 軟體
  • 啟動 VLC 擷取筆電畫面的功能
  • 告訴工作人員筆電的 LAN IP

然後:

  • 在 server 端,會有工作人員先準備 VLC 跟 stream display 的 script ,並接好投影機
  • 收到投影的人的 IP 後,執行 script
  • 開始接收投影的人的 screencast 畫面,並透過投影機投影出來。

參考資料

關鍵字

  • WIDI
  • Wifi Display
  • Miracast
  • Wireless Display
  • DLNA

市面上無線投影相關產品

相關連結

測試與討論串

yan

$ ffmpeg -f x11grab -s 1280x800 -r 30 -i :0.0 -f alsa -i hw:0,0 -acodec flac -vcodec ffvhuff /tmp/test.mkv
$ cvlc  screen:// --screen-fps=25 --screen-width=640 --screen-height=480  --screen-top=100 --screen-left=200 --screen-caching=100 --sout  '#transcode{venc=x264{bframes=0,nocabac,ref=1,nf,level=13,crf=24,partitions=none},vcodec=h264,fps=25,vb=3000,width=648,height=480,acodec=none}:duplicate{dst=std{mux=mp4,access=http,dst=192.168.24.139:8080}}'
$ cvlc  screen:// --screen-fps=10 --sout  '#transcode{venc=x264,vcodec=h264,fps=10,,vb=600,acodec=none}:std{access=http,mux=ts,dst=192.168.24.139:8080}'
$ cvlc  screen://--screen-fps=30  --sout  '#transcode{venc=x264,vcodec=mp4v,vb=4096,ab=256,scale=,1acodec=none}:std{access=http,mux=ts,dst=192.168.24.139:8080}'

to file

$ cvlc   screen:// --screen-fps=10 --input-slave=pulse:// --sout   "#transcode{venc=x264,vcodec=h264,fps=10,vb=600,acodec=mp3,channels=2,ab=128,audio-sync}:std{access=file,mux=mp4,dst=desktop-cap-$(date   -u +%Y-%m-%d-%s).mp4}"

Mat

Windows 的 screen capture 的設定可以參考這一篇

keyword: rtsp-caching network-caching live-caching sout-mux-caching clock-jitter

BT

vlc 串流會有約 5 秒的延遲 可以試著調整 buffer (server、client 都要)

Rex

ScreenCasting 技術比較 https://speakerdeck.com/chihchun/screencasting