当前位置: 首页 > article >正文

ubuntu中使用ffmpeg和nginx推流rtmp视频

最近在测试ffmpeg推流rtmp视频,单独安装ffmpeg是无法完成推流的,需要一个流媒体服务器,常用nginx,可以直接在ubuntu虚拟机里面测试一下。

测试过程不涉及编译ffmpeg和nginx,仅使用基本功能:

1 安装ffmpeg

sudo apt install ffmpeg

2 安装nginx

sudo apt install nginx

3 安装nginx的rtmp模块

sudo apt-get install libnginx-mod-rtmp

sudo service nginx restart

4 配置nginx:

vim /etc/nginx/nginx.conf

 增加如下内容:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;
 
                application live {
                        live on;
                        record off;
                }
        }
}

这个内容的意思是监听1935端口,rtmp的app名字为live,本地的一个流媒体服务器就搭好了。

5 经过上面的步骤各项准备工作都做好了,现在我想推流ubuntu本地的一个MP4文件到刚才的流媒体服务器(其实理论上只要是能访问上面的流媒体服务器的设备都可以推流到服务器,不一定是本地,我也可以在win10上面推进去ubuntu,再从win10拉出来),且一直循环推送,键入如下命令:

ffmpeg -stream_loop -1 -re -i /mnt/hgfs/vmware_ubuntu_share/input.mp4 -c copy -f flv -flvflags no_duration_filesize  rtmp:192.168.63.128:1935/live/1

这个命令的意思是:

-stream_loop -1 循环推送

-re 使用视频原来的帧率

-i /mnt/hgfs/vmware_ubuntu_share/input.mp4 要推送的mp4文件路径

-flvflags no_duration_filesize 禁止no_duration_filesize错误

192.168.63.128 ip地址改为自己的ubuntu地址,即流媒体服务器地址

推送成功如图。

6 在win10桌面打开ffplay从流媒体服务器拉流看看

ffplay rtmp:192.168.63.128:1935/live/1

 

拉流也是成功的。 

引用:

ubuntu20.04搭建Nginx+rtmp服务器 - 晚安z - 博客园 (cnblogs.com)

unknown directive "rtmp" in /etc/nginx/nginx.conf:76 - Stack Overflow

使用ffmpeg循环推流(循环读取视频文件)推送RTMP服务器的方法_windows ffmpeg循环推流-CSDN博客

ffmpeg推流报错Failed to update header with correct duration.-CSDN博客


http://www.kler.cn/a/403967.html

相关文章:

  • Elastic 和 Red Hat:加速公共部门 AI 和机器学习计划
  • Spark RDD(弹性分布式数据集)的深度理解
  • STM32与CS创世SD NAND(贴片SD卡)结合完成FATFS文件系统移植与测试是一个涉及硬件与软件综合应用的复杂过程
  • DDei在线设计器V1.2.43版发布
  • el-input绑定点击回车事件意外触发页面刷新
  • 使⽤MATLAB进⾏⽬标检测
  • 大数据新视界 -- Hive 数据仓库:架构深度剖析与核心组件详解(上)(1 / 30)
  • 电源模块自动化测试系统的优势体现在哪些方面?-纳米软件
  • 科技赋能健康:多商户Java版商城系统引领亚健康服务数字化变革
  • uniapp奇怪bug汇总
  • Java项目实战II基于Spring Boot的工作流程管理系统设计与实现(开发文档+数据库+源码)
  • 图像处理 - 色彩空间转换
  • Dockerfile复制目录进入镜像里
  • 主机管理工具 WGCLOUD v3.5.6 更新了哪些特性
  • 注意原函数平行,取log后就不平行了
  • 晶圆测试中自动化上下料的重要性与应用
  • bpmn.js显示流程图
  • 重载函数的应用
  • MySQL数据库运维及集群搭建
  • 【10分钟学习Vue自定义指令开发】元素变化指令
  • 【PGCCC】Postgresql 缓存替换算法
  • Python Turtle召唤童年:喜羊羊与灰太狼之灰太狼绘画
  • PHPstudy 全局安装composer +topthink5.1
  • 学习GENTOO系统中的emerge -uDNavg @world命令
  • 解析后端框架学习:从单体应用到微服务架构的进阶之路
  • 网络无人值守批量装机-cobbler