2016年1月6日 星期三

Raspberry live-stream




你需要下面這些東西
  • Raspbian
  • FFmpeg
  • libx264
  • nginx with rtmp
  • Safari (OS X or iOS)

Step 1 : libx264


sudo git clone git://git.videolan.org/x264.git
cd x264/
./configure --enable-static --enable-shared
make
sudo make install
sudo ldconfig

Step 2 : FFmpeg

   編譯 FFmpeg 需要很久的時間, 根據參考網站, 而且還會當機
   所以有些小地方需要修改
   1.    vi /etc/dphys-swapfile
       原來的內容如下:
       CONF_SWAPSIZE=100

       把他改大一點...像是1024.....   這個是swap size...大一點代表有更大一點的置換空間
   
       然後   reboot
 
2.    gpu 的使用空間變小一點
 
          sudo raspi-config
         選擇   Advanced Options  
                    Memory Split
         把它改成 16就好...(原本預設可能是128或是256)

         然後   reboot

  做完上面兩個小密技之後..

  git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure --enable-gpl --enable-libx264 --enable-nonfree
make
sudo make install
sudo ldconfig

  Step 3 :  nginx

   先在官網下載程式

   wget http://nginx.org/download/nginx-1.6.2.tar.gz

  然後解壓縮

  tar zxvf nginx-1.6.2.tar.gz

 安裝相依的套件

 sudo apt-get install libpcre3* libssl-dev  

  然後編譯程式

 ./configure --sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--pid-path=/var/run/nginx.pid \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_ssl_module \
--without-http_proxy_module \
--add-module=/usr/src/nginx-rtmp-module
 然後安裝

  sudo make
  sudo make install


  Step 4 :  start the video stream


   cd /var/www
raspivid -w 1280 -h 720 -fps 25 -t 0 -b 1800000 -o - | ffmpeg -y -f h264 -i - -c:v copy -map 0:0 -f flv -rtmp_buffer 100 -rtmp_live live rtmp://localhost:1935/hls/live
  -w : width
  -h  : height
  -fps : frame rate
 -b     : bit rate
  -vf   :  vertical flip
  -hf   :  horizontal flip

Step 5 : watch the stream

      使用 Safari ( OS X 或是  iOS 的裝置都可以)
       http://your.raspberry.pi.address/index.html


Reference : https://johnvoysey.wordpress.com/2014/05/07/raspberry-pi-camera-live-streaming/
Reference : http://blog.itist.tw/2014/06/nginx.html

沒有留言:

張貼留言