用树莓派推流触手TV

最近刚刚入手了一枚树莓派,先拿来随便玩玩,用树莓派先开个直播练练手,然后就各种收集资料,终于成功了,由于忘记了截图所以就直接讲,话不多说,进入正题

1.第一步:安装ffmepeg和解码器

先安装解码器(注意要一句一句执行……)
1
2
3
4
5
6
7
sudo git clone git: //git .videolan.org /x264
cd x264
. /configure --host=arm-unknown-linux-gnueabi -- enable -static --disable-opencl
make
sudo make install
cd ..
rm -rf x264

再安装ffmpeg(一句一句执行……)

1
2
3
4
5
6
7
sudo git clone git: //source .ffmpeg.org /ffmpeg .git
cd ffmpeg
sudo . /configure --arch=armel --target-os=linux -- enable -gpl -- enable -libx264 -- enable -nonfree
make
sudo make install
cd ..
rm -rf ffmpeg
有两个地方需要注意:
1、git下载慢的话可以先导入到gitosc再clone;
2、编译ffmpeg的过程在树莓上十分漫长。。。我的花了两个半小时,所以建议使用screen扔到后台,以免断网导致需要重来。



第二步:准备直播所需要的视频文件

我们需要制作一个只有背景音乐的视频,一般会做一个一图流的视频(整个视频画面就是一张图)
这里我只用了“绘声绘影”和优酷(将一张图片和MP3文件合成了flv视频文件
绘声绘影”首先我们要导入图片和音频文件,然后点击共享,选择输出格式为MP4
然后渲染为MP4文件,再用优酷转码为flv文件,我的flv为123.flv


第三步:U盘挂载树莓派


我是用的是乌班图的系统并且已经使用windows远程连接上了树莓派图形界面,所以u盘插上后会显示这样的界面





然后输入树莓派的用户密码raspberry
进去后记住文件路径

第四步:推流

把文件传到树莓上,使用下面的命令即可推流:

1
ffmpeg -re -i  "/media/pi/U/123.flv" -vcodec copy -acodec aac -b:a 192k -f flv  "你的rtmp地址/你的直播码"

由于此命令只能运行一次,播放完就停了,所以要实现无限循环播放的话就需要编写一个sh文件,内容如下:

1
2
3
4
5
#!/bin/bash
while true
do
ffmpeg -re -i  "/media/pi/U/123.flv" -vcodec copy -acodec aac -b:a 192k -f flv  "你的rtmp地址/你的直播码"
done

保存为live.sh,使用下面的命令运行即可(如果没有screen,先使用sudo apt-get screen安装):

1
screen nohup sh live.sh &
注意:执行 screen命令后,按任意键退出执行,然后执行exit退出,否则终端关闭,后台不能执行。
参考文献: