第一步

升级服务器安装工具

sudo apt-get update

第二步

安装ffmpeg

sudo apt-get install ffmpeg

第三步:在winscp上登录云后将想要直播的文件传到云端(只要打开了22端口就可以用putty或winscp访问服务器,一般在阿里云的防火墙规则处设置端口)
设文件位置为/root/Vedio/BB1.mp4

第四步(ffmpeg直播使用)

  1. 起步姿态:单文件直播
ffmpeg -re -i "/root/Vedio/F2.flv" -vcodec copy -acodec aac -strict -2 -f flv "rtmp://txy.live-send.acg.tv/live-txy/?streamname=live_XXXXXX_XXXXXX"

其中
-i 后的/root/Vedio/F2.flv为服务器文件路径,也可以是其他直播的直播流m3u8地址
==-re 按照视频的FPS进行推流,如果不加这个参数的话……反正不行。
-acodec aac == 设置音频编码为aac
-vcodec copy 设定视频编码与原视频相同
最后 rtmp://txy.live-send.acg.tv/live-txy/?streamname=live_XXXXXXXXX
其中:rtmp://txy.live-send.acg.tv/live-txy/
以及:?streamname=live_XXXXXX_XXXXXXX&key=XXXXXXXXX
来自
B站直播间
B站实名认证后,选择好播放类型后,点击开始直播便会生成
在这个界面可以管理打开或关闭直播
注意:魔法上网工具需设置为直连或PAC
实名认证比较烦,但是为维护文明上网必不可少
假如视频不是x264格式会有警告,影响不大,想解决可以把原视频用Arctime或小丸工具箱转一下

  1. 循环播放设置
    参考来自
https://blog.csdn.net/cai6811376/article/details/74783269

循环命令使用-stream_loop会出现

 Option "-stream_loop" unrecognized

找到原因是因为 低版本Ubuntu无法识别循环命令来自 此网址
(注意,阿里云默认安装版本为,升级版本,这里直接依据这里的默认安装最高版本,查看Ubuntu内核版本)
参考;来自此网址

cat /etc/issue

升级系统版本,参考依据此Linux公社

sudo apt install update-manager-core
sudo do-release-upgrade

注意:
升级过程会遇到许多对话框,全部y然后enter,会有一个特殊对话框,上下键选择最上面一个即可
升级的最后一步需要restart重启,假如使用远程连接会断开一会

循环直播单个文件代码:

ffmpeg -re  -stream_loop -1 -i "/root/Vedio/BB1.mp4" -vcodec copy -acodec aac -strict -2 -f flv "rtmp:XXXXXXXXXXX"

其中 -stream_loop -1便是让其可以循环推流的命令
升级Ubuntu教程可以参考

  1. 将其他直播源直播(参考网址)
    简单些的直播网页直接F12调出开发者模式,选择到Network下的All信息流,然后在搜索框输入m3u8,然后5刷新一下就可以得到直播流的网址
    但是
    很多网站对直播流做了处理,不太好获取,有时获取到的是错误链接,有时获取的是但有音频的直播流,如何避开坑这里说不清,可以参考这上面的视频
    在不确定获取的是不是需要的直播流链接,可以打开potplayer(一款很好用的播放器,随便搜索就可以找到安装包),右键调出选项,选择打开中的打开链接选项,然后粘贴链接到对话框即可
    而且,在获取B站直播源时,发现即使是正确的直播源链接,在播放器可以打开,但是还是无法在B站直播,不知为何,处理去掉了链接中的客户端限制也不行,可能是B站不允许套娃,这里目前不知道为何
    成功例子
ffmpeg -i "http://cctvalih5ca.v.myalicdn.com/live/cctv2_2/index.m3u8" -c:v copy -c:a aac -b:a 320k -ar 44100 -strict -2 -f flv "rtmp://txXXXXX"
  1. 剪辑视频(准确起止时间、无编码变化快速切割)参考网址
    代码
ffmpeg -ss 00:00:00 -i /root/Vedio/BB2.mp4 -c copy -t  00:23:31 output.mp4

其中:

-ss: 起始时间
注意: -ss要放在-i之前
-i: 要分割的是频文件
-t: 分割时长:格式如下
可以是-t xx -> xx秒
也可以是-t 01:00:00 -> 时:分:秒,且不是视频中的时刻,而是要向后截取多长的视频
举例
若一个视频需要分成 3 段,具体分割位置为视频中的 Start~01:17:55,01:17:55~02:06:50,02:06:50~End

则可以:
ffmpeg -ss 00:00:00 -i sample_Input.mp4 -c copy -t 01:17:55 sample_Output-part1.mp4 #Start~01:17:55
ffmpeg -ss 01:17:56 -i sample_Input.mp4 -c copy -t 00:48:57 sample_Output-part2.mp4 #01:17:55~02:06:50
ffmpeg -ss 02:06:55 -i sample_Input.mp4 -c copy -t 01:11:48 sample_Output-part3.mp4 #02:06:50~End
可以试试,速度很快
另外,想快速切割视频为多份可以使用BoilsoftVideoSplitter这个软件
5. 服务器中Screen使用
screen命令为Ubuntu内部自带,可以让服务器现在进行的进程在关闭远程连接后继续进行,比如你在新Screen里推流成功后,电脑关机离线了后,云服务器还可以继续推流

screen -S name

启动一个名字为name的screen
其实假如直接用字符‘name’系统会自动分配一个随机数字加.nsme,比如1122.name进程,想知道现在服务器的所有screen进程时,使用

screen -ls

需要关闭某screen时,使用

screen -S name -X quit

可以让服务器现在进程在关闭远程连接后继续进行,就是你在新Screen里推流成功后,电脑关机离线了后,云服务器还可以继续推流
下次打开服务器时,打开的screen进程时默认关闭的,想要打开需要用

screen -r name

6.进阶用法 多文件自动续播及自动循环播放
用bash命令与循环命令来实现,同时搭配Winspcp来写入文件
下面代码感谢@一只不愿透露姓名的猫:

while true
do
for i in ./*.mp4
do
ffmpeg -re -i "$i" -c copy -f flv "rtmp://txy.live-send.acg.tv/live-txy/?streamname=live_232670856_9449243&key=6c4e26928342b910be48404c7309bbc2"
done
done

用法:将代码复制后新建一个文本文档中,如txt结尾的文档,将代码粘贴到里面,用winscp传到需要直播的文件夹里后,例如文件名为tl.txt,
winscp用法
winscp是一款很方便的文件传输工具,轻松在本地与服务器之间传输文件

上图为新建对话以连接服务器
下图为软件界面

在用cd命令进入到所在文件夹后(例如绝对路径为/root/vedio/tl.txt)

cd /root/vedio/tl.txt

之后bash命令使得tl.txt中命令自动运行

bash tl.txt

—————————————————结束分割线—————————————————————
每一分我都当作是你十分的喜欢(❤ ω ❤)

以B站推流为例,运用ffmpeg推流的各种操作-3_# 安装ffmpeg Ubuntu云服务器用ffmpeg推送视频篇相关推荐

  1. 阿里云服务器编译ffmpeg

    1.在usr文件夹中创建jason文件夹 cd /usr :进入usr文件夹 mkdir jason: 创建jason文件夹 2.上传ffmpeg文件到阿里云 3.解压ffmpeg压缩包 4.编译.s ...

  2. 1、树莓派使用FFMPEG推流到PC端显示

    基本思想:最近思索做个产品,因此前期调研相关技术,准备开干,,呦呦呦 http://dranger.com/ffmpeg/tutorial01.html 1:虚拟机设置USB3.1 2:虚拟机设置摄像 ...

  3. bcc服务器搭建网站,如何用云服务器bcc建站

    如何用云服务器bcc建站 内容精选 换一换 由于通用型/内存优化型II代的云服务器与通用型/内存优化型I代的云服务器具有不同的虚拟化架构和不同的驱动类型,所以通用型/内存优化型I代云服务器创建的私有镜 ...

  4. ffmpeg推送rtsp流或者视频文件到rtsp服务器

    1.推送rtsp视频流 ffmpeg -i rtsp://admin:admin1234@192.168.1.64:554/h264/ch1/sub/av_stream -codec copy -f ...

  5. 同样可以建站,云服务器和虚拟主机的区别在哪?

    云服务器和云虚拟主机都是基于云计算技术研发,也都可以用于建站,那么在建站应用上,云服务器和虚拟主机各自的优势何在,两者又有什么区别,接下来就为大家简单分析一下. 关于虚拟主机,通俗来说,就是从一台服务 ...

  6. 云服务器怎么建站系统

    云服务器怎么建站系统 云服务器是以云计算为基础,利用虚拟化技术将多个物理服务器整合形成的计算资源池,能够提供安全.高效.灵活的计算服务.建立网站是当前的一项热门需求,云服务器的低廉价格与优异性能成为越 ...

  7. ffmpeg批量将mkv内封装的默认软字幕压制为MP4硬字幕视频

    要求 1:提前安装好ffmpeg 2:有Linux系统 Linux(Ubuntu)安装ffmpeg请看这里 Linux(centos)安装ffmpeg请看这里 Windows安装请看这里 ffmpeg ...

  8. 最简单的基于FFmpeg的推流器(以推送RTMP为例)

    ===================================================== 最简单的基于FFmpeg的推流器系列文章列表: <最简单的基于FFmpeg的推流器(以 ...

  9. ffmpeg推流B站直播

    环境:阿里云服务器ECS Ubuntu系统 目的:在服务器上使用FFmpeg将视频推流到B站进行直播. 步骤: 1. 安装FFmpeg和yasm 下载安装ffmpeg,官网下载地址: http://f ...

最新文章

  1. I2C和SPI总线优缺点对比
  2. Tensorflow源码解析5 -- 图的边 - Tensor
  3. Reporting Services 的多值参数究竟能否用在数据集获取途径为存储过程的情景呢?...
  4. 贪心算法(Greedy Algorithm)最小生成树 克鲁斯卡尔算法(Kruskal#39;s algorithm)
  5. emwin之基于某个事件或标志创建某个界面的一种方法
  6. 32. Leetcode 141. 环形链表 (链表-双指针-环形链表)
  7. NSString与NSData互转
  8. java 自定义注解获取_Java自定义注解
  9. 卡尔曼滤波器求速度matlab,卡尔曼滤波器算法浅析及matlab实战
  10. h2 不能访问localhost_个人学习系列 - Spring Boot 整合 H2
  11. HDU - 6749 Mosquito(二分+状态压缩+最大流)
  12. centos / Linux 服务环境下安装 Redis 5.0.3
  13. .Net Core微服务系列--开篇
  14. 【物理笑话】学过物理的人才能看懂的笑话,你能看明白几个?
  15. 20172329 2017-2018-2 《程序设计与数据结构》实验一报告
  16. 永中向香港博览会主办方演示云办公(转载)
  17. Echarte柱状图文字位置
  18. iOS7官方推荐图标和图像尺寸
  19. jmeter性能测试实战——基础篇
  20. 1688-item_search_img - 按图搜索1688商品(拍立淘)

热门文章

  1. 交互网站html5模块,全能HTML5交互工程培训
  2. 长虹电视安装第三方软件2021最新方法!
  3. Robust image stitching with multiple registrations之浅见
  4. redis开启过期监听
  5. 洋葱炒蛋 蒜苔炒肉
  6. 推荐一款很好的播放器:MXPlayer,可以播放4K视频
  7. 电动车控制器 GPS 车充OC2004设计方案参考电路,可替MPS9486
  8. 计算机故障维修的流程,《电脑维修流程图(图文)》.doc
  9. 微信公众号接入web服务器,asp.net Web API 接入微信公众平台验证服务器,接收微信发送的POST请求...
  10. 智能充电桩系统PHP源码,【基于51单片机】电动车智能充电桩(全套)