2016年6月4日

[IOT]Raspberry Pi 3 串流到Azure Media Service

  • 首先你需要以下設備
    • Raspberry Pi 3 Model B (安裝Raspbian)
    • Raspberry Pi Camera模組
    • 在Raspi-config中啟用Camera模組
  • Linux環境上有許多不同的工具可以做影音串流,我選擇使用ffmpeg,雖然gstreamer在使用上比較簡單,但是我在安裝過程中遇到與多package dependency的問題,對於一個Linux初心者來說相當棘手,因此選擇了網路上資源相對少,但是沒有遇到甚麼安裝問題的ffmpeg
  • 首先,需要安裝編譯工具

sudo apt-get install texinfo texi2html automake

  • 依序執行以下指令安裝並編譯x264 library

cd /usr/src
git clone git://git.videolan.org/x264
cd x264
./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl
sudo make
sudo make install

  • 依序執行以下指令安裝並編譯ffmpeg

git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
sudo ./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
sudo make
sudo make install

    • 在執行sudo make時,會需要滿長的一段時間;可以去泡杯咖啡看看書再回來…
  • 接著,到https://manage.windowsazure.com 上建立一個新的Azure Media Service,並開啟Streaming Channel

snip_20160604062930

snip_20160604063003

snip_20160604063044

    • 其中,如果只是為了測試(以及省錢);這裡可以不要建立資料流單位。但是當然可用頻寬等等就會受限
  • 建立完成後,把內崁位置記錄下來

snip_20160604063312

  • 啟用通道

snip_20160604064517

  • 回到Raspberry Pi;在ffmpeg目錄執行以下指令

./ffmpeg -v verbose -i /dev/video0 -strict -2 -c:a aac -b:a 128k -ar 44100 -r 30 -g 60 -keyint_min 60 -b:v 400000 -c:v libx264 -preset medium -bufsize 400k -maxrate 400k -f flv {剛剛複製的網址}/mylive1

  • 會看到開始Streaming的紀錄

snip_20160604071321

  • 回到Azure Portal上打開預覽介面看一下

snip_20160604073537

  • Hello~Azure Media Live Streaming~

snip_20160604073235

 

 

About Me