ffmpeg+nginx-rtmp转发视频流
nginx与nginx-rtmp-module安装
画了好几天图,实在有些乏力,找点有意思的事情做做
觉得视频流传输
挺有意思,B站找了些视频,但感觉有些大同小异,讲得不是很清楚
FFmpeg/RTMP/webRTC丨90分钟搞定直播逻辑-推流-流媒体服务器-拉流
流媒体服务器搭建RTMP-RTSP-WebRTC流媒体服务器
也没看太明白,虽然不太需要了解底层原理吧,但感觉还是了解一些为好
总之要在云服务器上安装nginx
与nginx-rtmp-module
这两个东西,先装一下吧
nginx-RTMP + ffmpeg实现远程图传
实验室的博客写的有点简略,还是自己摸索吧
主要参考了下面两篇博客,写得还是很详细的
centos7 nginx rtmp转发流媒体服务器
nginx源码编译安装(详解)
陆师兄编译的时候用了--with-openssl=/usr/local/nginx/src/openssl
,帮助文档上
--with-openssl=DIR set path to OpenSSL library sources
后面应该是OpenSSL
库文件的路径,我之前二进制装的,因此找不到src文件,硬加编译会报错,提示找不到no such file or directory
[lighthouse@VM-4-11-centos nginx-1.22.0]$ whereis openssl
openssl: /usr/bin/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz
第一篇博客中博主没有设置这个参数,所以我也没有设置,大概--with
了一些module
安装完成后
[lighthouse@VM-4-11-centos ~]$ whereis nginx
nginx: /usr/local/nginx
[lighthouse@VM-4-11-centos ~]$ cd /usr/local/nginx/sbin/
[lighthouse@VM-4-11-centos sbin]$ ls
nginx
[lighthouse@VM-4-11-centos sbin]$ ./nginx -v
nginx version: nginx/1.22.0
[lighthouse@VM-4-11-centos sbin]$ ./nginx -V
nginx version: nginx/1.22.0
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
built with OpenSSL 1.1.1k FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module --with-pcre --add-module=/usr/local/src/nginx-rtmp-module
可以看到还是用到了OpenSSL
的,同时还给出了configure arguments
查看下/usr/local/nginx/
的目录结构
[lighthouse@VM-4-11-centos nginx-1.22.0]$ cd /usr/local/nginx/
[lighthouse@VM-4-11-centos nginx]$ ls
conf html logs sbin
[lighthouse@VM-4-11-centos nginx]$ tree
.
├── conf
│ ├── fastcgi.conf
│ ├── fastcgi.conf.default
│ ├── fastcgi_params
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types
│ ├── mime.types.default
│ ├── nginx.conf
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default
│ ├── uwsgi_params
│ ├── uwsgi_params.default
│ └── win-utf
├── html
│ ├── 50x.html
│ └── index.html
├── logs
└── sbin└── nginx4 directories, 18 files
官方下载地址
https://github.com/arut/nginx-rtmp-module
https://github.com/nginx/nginx
官方的文档及教程
Beginner’s Guide
Linux本地推流-拉流
在装了Ubuntu的笔记本上安装好必要的程序后,修改nginx的配置文件
cd /usr/local/nginx/conf/
sudo vim nginx.conf
只在http前面添加一小部分,即RTMP模块
rtmp {server {listen 6000;application videotest {live on;}}
}
6000
是负责推流和拉流的端口live on
表示视频流是实时的,而不是每次拉取都是从头开始
然后打开一个终端,重新加载配置文件
cd /usr/local/nginx/sbin/
sudo ./nginx -s reload
将一个视频放到你放的位置,打开终端进行推流
ffmpeg -re -i ~/视频/日落与渔.MP4 -vcodec copy -acodec copy -b:v 800k -b:a 32k -f flv rtmp://localhost:6000/videotest
- 这里不指定端口的话默认是1935,与配置文件不符的话会报错,通常都需要指定一下
再打开一个终端进行拉流
ffplay rtmp://localhost:6000/videotest
成功播放
将视频推流至服务器并在PC及移动端拉流
同样在服务端安装好必要程序后,修改nginx的配置文件
rtmp {server {listen 7788;chunk_size 6400;application videotest {live on;}}
}
chunk_size
是数据块大小
打开7788端口的防火墙
同样在笔记本端进行视频推流
ffmpeg -re -i ~/视频/日落与渔.MP4 -vcodec copy -acodec copy -b:v 800k -b:a 32k -f flv rtmp://centos:7788/videotest
centos
是在/etc/hosts
中设置好的域名
在台式机上安装VLC软件
,打开网络串流
输入 rtmp://1.116.137.21:7788/videotest
,即可拉取播放
同样在手机端安装VLC软件
,也可拉取播放
参考博客
视频直播| 搭建一个本地nginx服务器以及实现推流和拉流
手把手教你搭建Nginx-rtmp流媒体服务器+使用ffmpeg推流
ffmpeg+nginx-rtmp转发视频流相关推荐
- windows下live555+rtsp+ffmpeg媒体源,nginx+rtmp转发服务器,vlc播放rtmp媒体流
1.下载live555+ffmpeg视频文件作为媒体源 将视频文件me-like-yuh.ts和ffmpeg推流脚本ffmpeg-rtsp2rtmp.bat放在mediaserver目录下 ffmpe ...
- 搭建:直播软件环境搭建(FFmpeg+nginx+rtmp+vlc)
一.目的:通过搭建直播软件环境来了解直播软件的原理 二.环境: 1.Win10 2.nginx - (rtmp服务器) 3.OBS Studio或FFmpeg.exe - (用于推流) 4.VLC m ...
- Fedora进行ffmpeg+nginx+rtmp服务器配置局域网推流
文章目录 前言: 一.先对Fedora镜像源进行一次更新 1.如果在配置好后,获取 GPG 密钥失败:[Errno 14] curl#37 - "Couldn't open file /et ...
- 基于imx6ull打造流媒体视频监控:ffmpeg + nginx + rtmp
0.平台简介 项目 描述 硬件平台 100ask_imx6ull_pro开发板 Linux内核 Linux 4.9.88 Buildroot版本 Buildroot 2019.02 FFmpeg版本 ...
- Windows下用FFmpeg+nginx+rtmp搭建直播环境 实现推流、拉流(超简单教程)
https://blog.csdn.net/qq_32381727/article/details/81078213
- FFmpeg入门详解之103:FFmpeg Nginx VLC打造M3U8直播点播
FFmpeg+Nginx+VLC打造M3U8点播 Nginx: web服务器(win10,本地nginx) FFmpeg: m3u8切片(4.3.1) VLC: 点播客户端 切片命令行: ffmpe ...
- ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制
ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制 2014年 四月 19日 周六 | tags: ffmpeg, rtmp, rtmpdump, nginx, -- (perm ...
- 海思开发板FFmpeg+Nginx,推流RTMP播放(优秀教程收集+实操整理)
海思开发板FFmpeg+Nginx推流RTSP播放(优秀教程收集+实操整理) 安装FFmpeg及移植 FFmpeg编译问题收录: static declaration of 'cbrt' follow ...
- ffmpeg推rtsp、rtmp音视频流命令
ffmpeg推rtsp.rtmp音视频流命令 rtmp流 推流 播放 rtsp流 推流 播放 原创文章禁止转载 同步发布http://www.alom.com.cn/ ffmpeg推rtsp.rtmp ...
最新文章
- 第十五届全国大学生智能车竞赛室外光电创意组别进入线下比赛的队伍名单
- rpm命令选项中文说明
- connection refused_ERR_CONNECTION_REFUSED
- sklearn特征工程
- 手动标记用例状态_【自动化接口用例】从 1 到 1000 过程中的实践和思考
- Splash resource_timeout 属性
- 第 8 天 多线程与多进程
- 【bzoj 4675】 点对游戏
- CImage类 from http://blog.sina.com.cn/s/blog_487547aa0100an6k.html
- java中的map是什么_Java中Map的使用
- MCMC算法之Metropolis-Hastings(MHs)算法(Matlab代码)
- 基于STC89C52单片机的智能灯光毕业设计论文
- java一行代码实现集合写入Excel表格生成数据
- python实现语音机器人聊天
- 2022.10.14每日刷题打卡
- 如何在Google Chrome浏览器中清除浏览历史记录
- PHP小程序码扫码登录网站,微信扫小程序码实现网页端登录
- java实训答辩ppt_基于JavaSwing的工作考勤管理系统设计与实现毕业论文+开题报告+实习报告+实习日历+答辩PPT+项目源码...
- influxdb删除column
- 第七天 01.ssh服务 使用堡塔以及xshell等连接linux