登录
  • 欢迎来访
  • 你好

用树莓派做直播

各种搞 无奈 999次浏览 0个评论

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 …… <。。
晨旭博客


鸿鹄博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明用树莓派做直播
喜欢 (0)
[aa@qq.com]
分享 (0)
无奈
关于作者:
一个爱探索 爱分享的boy
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址