樹莓派視音頻環境簡單搭建

樹莓派視音頻環境簡單搭建

1 音頻相關配置

樹莓派初始安裝之後需要在用戶目錄下配置alse文件(外接音箱和mic時可能需要哦)

.asoundrc.  (用戶目錄下生成該文件 touch .asoundrc)
pcm.!default {
   type asym
   playback.pcm {
    type plug
    slave.pcm "hw:0,1"
   }
   capture.pcm {
    type plug
    slave.pcm "hw:1,0"
   }
}

2 ffmpeg帶硬件加速編譯(這樣樹莓派編解碼會嗖嗖嗖的快,CPU<6%,720P不是夢)


./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 
--enable-nonfree --disable-opencl --disable-thumb --enable-small --enable-ffplay 
--enable-encoder=libx264 --enable-decoder=h264 --enable-encoder=aac --enable-decoder=aac 
--enable-encoder=ac3 --enable-decoder=ac3 --enable-parser=h264 --enable-parser=aac 
--enable-omx --enable-omx-rpi --enable-encoder=h264_omx --enable-mmal --enable-hwaccel=h264_mmal
 --enable-decoder=h264_mmal -j4

make -j4
make install -j4

ffmpeg 推流相關

不帶音頻
ffmpeg -f v4l2 -r 15 -video_size vga -pix_fmt yuv420p -i /dev/video0 -b:v 500k -c:v h264_omx -an -f flv rtmp://127.0.0.1/mytv
帶音頻
ffmpeg -f alsa -i plughw:1 -t 30 -ac 2 out.wav

視頻轉碼相關
ffmpeg -c:v h264_mmal -c:a aac -i demo.mp4 -c:v h264_omx -c:a aac -r 30  little.mp4

# 出現這個提示證明無法往服務端中寫入流,流通道不正常
av_interleaved_write_frame(): Broken pipe

HLS相關TS視頻切片

ffmpeg -f v4l2 -r 10 -s 640x480 -i /dev/video0 -f alsa -i plughw:1,0 -b:v 300k \
-c:v h264_omx -c:a aac -f segment -segment_time 2 -segment_wrap \
3 -segment_list_size 3 -segment_list “/jfdream/nginx/html/live/live.m3u8” \
“/jfdream/nginx/html/live/stream%03d.ts”

3 ngrok 無線穿牆相關研究(使用樹莓派做雲服務器)

ngrok
相關下載地址(ngrok的使用需要go語言的支持,所以需要安裝go語言環境)
git clone https://github.com/inconshreveable/ngrok.git

服務端
注意證書的相關配置
setsid ./bin/ngrokd -tlsKey=”crt/www.jfdream.com.key” -tlsCrt=”crt/www.jfdream.com.pem” -domain=”jfdream.com” -httpAddr=”:8081” -httpsAddr=”:8082” -tunnelAddr=”:8083”

客戶端
bin/ngrok -config ngrok.cfg start http https

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章