MENU

ffmpeg直播推流

April 16, 2020 • Linux

为了达成我B站一哥的目标,我开始直播了,当然,露脸是不可能露脸的,这辈子不可能露脸的

因此我开始研究怎样才能不露脸直播

需要的东西:

  1. 树莓派3b+/4b
  2. ffmpeg
  3. Linux系统
  4. 50M以上宽带
  5. 聪明的脑子

什么是ffmpeg

ffmpeg是一个跨平台的视频处理工具,是格式工厂,暴风影音等视频软件的内核。

安装ffmpeg

在终端中键入

sudo apt-get update 升级列表中的软件包

sudo apt-get upgrade升级列表中所有已安装的软件

如果你用的是Fedora或者RedHat之类使用yum命令的Linux发行版,请使用阿里云的源,这里以centos为例,其余发行版请自行百度

请执行:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache

当然,如果你是debian类的系统则不需要上述的操作

请直接执行:

sudo apt-get ffmpeg

然后等待安装就行

安装完后,执行

ffmpeg,如果没有提示出错的话,就说明ffmpeg安装成功了

视频推流

如果要简单的执行一次推流,请运行

ffmpeg -re -i "视频所在位置" -vcodec copy -acodec aac -b:a 192k -f flv "rtmp地址+推流码" 

详细的参数我就不讲了,可以大概百度一下

但是如果要24小时连续播放的话,上面的方法就显得有些不现实了,于是我写了一个脚本

'''
@Author: Mr.Sen
@LastEditTime: 2020-04-14 11:38:29
@Website1: https://449293786.site
@原创代码,版权所有,转载请注明原作者
'''
import os
filepath='文件地址'
filelist=os.listdir(filepath)
filelist.sort()
for i in filelist:
    print("Now playing",i)
    cmd='nohup ffmpeg -re -i "'+filepath+'"'+i+' -vcodec copy -acodec aac -b:a 192k -f flv "rtmp地址+推流码"'
    os.system(cmd)
    # os.remove(filepath+i)

常见问题

  1. 有些视频是推不了的,比如B站的原生mp4文件,需要转一下码才能播放,如何转码请自行百度
  2. 直播的时候请注意版权问题,博主第一天直播就被官方警告了……
作者:NorthCity1984
出处:https://grimoire.cn/linux/stream.html
版权:本文《ffmpeg直播推流》版权归作者所有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

Last Modified: September 15, 2020