树莓派视音频环境简单搭建

树莓派视音频环境简单搭建

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

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