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

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

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

1 安装ffmpeg

bash 复制代码
sudo apt install ffmpeg

2 安装nginx

bash 复制代码
sudo apt install nginx

3 安装nginx的rtmp模块

bash 复制代码
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博客

相关推荐
Lsetea1 天前
Certbot webroot申请SSL证书总是404:Nginx挑战目录与路径映射检查
运维·nginx·https·ssl证书·certbot
如若1231 天前
Windows SSH + Headscale/Tailscale 组网及免密登录完整配置教程
运维·windows·ubuntu·ssh·内网穿透
莫晓燚1 天前
双机部署若依 (RuoYi‑Vue) 传统环境部署---实战
linux·运维·数据库·redis·mysql·nginx·ruoyi
zslefour1 天前
使用ffmpeg遍历获取音频文件相关信息
ffmpeg
山乐191311 天前
麒麟系统,安装Nginx并配置https证书
运维·nginx·https
一直在努力学习的菜鸟1 天前
阿里云SSL证书到期更换指南(Nginx + Typecho)
nginx
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avcodec_alloc_context3调用流程与实战(十四)
linux·运维·ffmpeg·车载音视频·音视频进阶·ffmpeg音视频进阶
雾时之林1 天前
Nginx反向代理与proxy_cache缓存搭建CDN服务器
服务器·nginx·缓存
菌菌的快乐生活1 天前
Rufus + Ubuntu 24.04 Server(中山大学镜像)通用安装教程
ubuntu