2012年8月13日 星期一

解決在linux環境下,將桌面廣播到justintv

首先你必須要有justintv的帳號(廢話),
然後你的justintv帳號必須是開發者的帳號,可以到這裡申請,
然後到這邊來產生你的stream key,
如果還沒登入,會出現這行訊息 To get your stream key, please sign in.
你只要點sign in,登入你在justintv的帳號密碼,
他就會產生出一組stream key給你了
stream key代表你個人,所以請不要將這組key公開在網路上,
任何人只要有這組key就可以透過你的帳號來傳送live影片,

#!/bin/bash
API_KEY="YOUR STREAM KEY"
FPS="15"

INRES='1280x800'
OUTRES='1280x800'

ffmpeg -f x11grab -s "$INRES" -r "$FPS" -i :0.0 \
               -f alsa -i hw:0,0 -vcodec libx264  -s "$OUTRES"  \
               -acodec libmp3lame -ab 64k -ar 22050 -threads 0 \
               -f flv "rtmp://live.justin.tv/app/$API_KEY"

-f x11grab 設定格式是抓取x11的畫面
-s 設定抓取的畫面解析度有多高
-r 設定每秒要幾個畫面
-i 設定要抓取哪個裝置
-vcodec 設定輸出影片編碼格式
-acodec 設定輸出聲音編碼格式
-ab 設定影像輸出bitrate
-ar 設定聲音sample rate(in Hz)
-threads 0 自動檢查和選擇適合的thread數量來壓縮影片
-f flv "rtmp://live.justin.tv/app/$API_KEY"
設定輸出的檔案格式為flash,並且將影片導到justintv的rtmp裡