1先安装ffmpeg
先安装h264编码器
cd /usr/src git clone git://git.videolan.org/x264 cd x264 sudo ./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl sudo make sudo make install
下载源码编译安装ffmpeg
cd /usr/src 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
有两个地方需要注意:
git 下载慢的话可以先下载下来 然后ftp上传
编译 ffmpeg 的过程在树莓上十分漫长。。。我的花了两个半小时,所以建议使用 screen 扔到后台,以免断网导致需要重来
之前安装了一遍 出现了
错误 可能是缺少某个东西吧 又重新安装了一遍成功哦
推流
把文件传到树莓上,使用下面的命令即可推流
ffmpeg -re -i "1.mp4" -vcodec copy -acodec aac -b:a 192k -f flv "你的rtmp地址/你的直播码"
由于此命令只能运行一次,播放完就停了,所以要实现无限循环播放的话就需要另一个代码了
ffmpeg -re -stream_loop -1 -i "/1.mp4" -vcodec copy -acodec aac -b:a 192k -f flv "你的rtmp地址/你的直播码"
无论直接推流还是执行脚本最好都建立个 screen
实现多视频循环播放
建立脚本文件live.sh
#!/bin/bash while true do for i in $(seq 1 5); (先播1到5) do ffmpeg -re -i "/home/pi/2/E0$i.mp4" -vcodec copy -acodec aac -b:a 128k -f flv "rtmp://txy.live-send.acg.tv/live-txy/?streamname=live_8351139_4142612&key=bb74da57c004bd79b0e9dad103bec9e8" done for i in $(seq 6 9); (再播6到9) do ffmpeg -re -i "/home/pi/2/E0$i.mp4" -vcodec copy -acodec aac -b:a 128k -f flv "rtmp://txy.live-send.acg.tv/live-txy/?streamname=live_8351139_4142612&key=bb74da57c004bd79b0e9dad103bec9e8" done done
在刚开始的过程中 运行live.sh(linuyx shell) 出现syntax error: end of file unexpected (expecting “done”)
linux 下 出现此种错误 有可能有以下几种原因:
1。换行符问题
没有使用unix换行符 (我的就是这种情况,用vi 把一些空格删除就行了)
解决办法:1) 可以在window下用ue改成unix换行符
2)vi dos.txt
:set fileformat=unix
:w
dos换行符会在行后出现^M
删除即可。
或在vi里用
:1, $ s/^M//
替换掉^M
或vi 编辑器下直接 :set nu
2。 没有结束标记
如if之后没有fi
for 循环 do之后没有done
while 循环 do这后没有done
3。oracle sqlplus 没有正确结尾
sqlplsu …… <
晨旭博客