使用树莓派进行24小时视频直播

概述

其实做这个就是为了可以24小时去推街舞视频,如果喜欢大家可以关注下我的直播间

https://live.bilibili.com/2773758

https://www.panda.tv/984523

为什么使用树莓派做这个事情呢,因为省电,不需要24小时开电脑,大部分网上24小时直播视频的都是使用电脑去做的

准备视频

这个就不说了,我是从youtube上下载的,所以使用youtube-dl就可以了

安装ffmpeg和解码器

首先安装x264解码器

下载源代码

sudo git clone git://git.videolan.org/x264

编译配置

./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl

编译

make

安装

make install

安装ffmpeg

下载源代码

git clone git://source.ffmpeg.org/ffmpeg.git

编译配置

./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree

编译

建议新建一个screen会话编译

make

安装

make install

准备一些脚本

首先我们要知道的是网上下载下来的视频视频名字肯定是没有规则可言的,所以我们要把视频的名字重新命名一下变成1.mp4,2.mp4这样子,所以要有一个重新命名视频文件的脚本,比如下面

#!/bin/bash

#用法:在终端使用"./renames.sh"运行

echo "===本脚本实现批量重命名某种类型文件为相同前缀+数字的文件===";

echo "!警告:一定要确保输入的前缀加上数字后,不和原先已有的文件名重复,否则文件会因为替换而丢失";

echo --------------------------------------------------------------------

echo "?---输入批量文件所在目录(如:/home/andy/图片)(当前目录输入 .即可)---";

read directory;

cd "$directory";

echo "?---输入要重命名文件类型和前缀(如:png img_ (区分大小写))以空格分割---";

read ext begin;

echo ">>>开始批量重命名 $directory 下的 $ext 文件>>>>>>>>>>>>>>";

let i=0;

         for it in   \*.$ext; do
               mv "$it"   "$begin$i.$ext";
               let i=i+1; 
         done

echo "===完成$i个文件批量重命名,文件列表如下:";

ls *.$ext

echo -----------------------------------------------------------------------

之后要有一个可以24小时运行着的播放脚本,比如下面

rtmp="推流地址/推流码"

while true

do

for i in $(seq 0 188)
do
ffmpeg -re -i $i.mp4 -vcodec copy -acodec copy -f flv $rtmp
done

done

上面使用一个嵌套循环来做视频的直播推流

之后你要做的就是打开一个screen会话然后把脚本挂着运行就可以了

欢迎关注Bboysoul的博客www.bboysoul.com

Have Fun

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JAVA高级架构开发

Redis 的各项功能解决了哪些问题?

Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用。同时支持strings,lis...

11200
来自专栏Android开发经验

让你的App有声音

11920
来自专栏后端技术探索

后端线上服务监控与报警方案

一个功能上线后,其实研发心里根本没底儿,不知道这个功能上线以后是不是真的没问题;有经验一些老同学还知道直接登录线上机器去tail -f php.error.lo...

32920
来自专栏EAWorld

微服务架构下分布式Session管理

一、应用架构变迁下的Session管理 1.1 单体架构 1.2 分布式架构 1.3 微服务架构 二、微服务架构下分布...

47680
来自专栏BestSDK

一个“爆款”成功的API,都离不开这8条设计准则

我已经看过很多API设计相关的文章和优秀的REST API设计教程。他们通常讨论的是适当的编码技巧和如何在给定的语言中暴露接口。尽管那些是很有用也是很需要的,但...

39370
来自专栏北京马哥教育

Linux基础之终端、控制台、tty、pty等概念简介

基本概念: 1>tty(终端设备的统称): tty一词源于teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘...

38580
来自专栏Android-JessYan

MVPArms官方首发一键生成组件化,体验纯傻瓜式组件化开发

原文地址: https://www.jianshu.com/p/2452ea776a45

29930
来自专栏Ceph对象存储方案

RGW Bucket Shard设计与优化-上

1 bucket index背景简介 bucket index是整个RGW里面一个非常关键的数据结构,用于存储bucket的索引数据,默认情况下单个bucke...

1.4K50
来自专栏我是攻城师

SolrCloud5.4.1集群实战(一)

30960
来自专栏Web 开发

《Node.js开发指南》翻阅笔记

第一天上班,配套的电脑居然没有到货,无聊了一天,就把《Node.js开发指南》拿出来翻了一下。

10600

扫码关注云+社区

领取腾讯云代金券