- 浏览: 1477854 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
64位操作系统centos7
############
1.一键安装
http://jingyan.baidu.com/article/22a299b5cf7ea79e19376ad1.html
安装EPEL Release,因为安装需要使用其他的repo源,所以需要EPEL支持
#如果出现缺少Code提示,可以:
#安装完成之后,可以查看是否安装成功
yum repolist
安装Nux-Dextop源
#导入一个Code
#安装nux-dextop 源
#查看repo源是否安装成功
yum repolist
#########################
yum安装ffmpeg
#安装完成后检查ffmpeg 版本
ffmpeg -version
安装播放器
随便下载个mp4文件
2.安装rtmp:
https://github.com/arut/nginx-rtmp-module/wiki/Getting-started-with-nginx-rtmp
注意:★★★★★★
mime.types文件里加两行,
否则不支持m3u8
apple的safari会加载不了视频文件
nginx.conf的配置文件修改如下
###################
###################
3.iphone的服务端和浏览器客户端测试
如果是用ios的safari打开
服务端启动
客户端用
##########################
#########################
4.windows的服务端和浏览器chrome测试
如果是用windows的浏览器打开
服务端用
参考nginx-rtmp-module/test/www/ffstream.sh
客户端参考
参考nginx-rtmp-module/test/www/index.html
##################
###################
5.用linux客户端ffplay打开
如果是用客户端打开
参考
nginx-rtmp-module/test/www/play.sh
查看视频状态使用
http://192.168.139.117:8080/stat
参考
https://github.com/killinux/nginx-rtmp-module
http://blog.csdn.net/cjsafty/article/details/9108587
http://haoningabc.iteye.com/blog/1559086
############
1.一键安装
http://jingyan.baidu.com/article/22a299b5cf7ea79e19376ad1.html
安装EPEL Release,因为安装需要使用其他的repo源,所以需要EPEL支持
yum install -y epel-release
#如果出现缺少Code提示,可以:
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
#安装完成之后,可以查看是否安装成功
yum repolist
安装Nux-Dextop源
#导入一个Code
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
#安装nux-dextop 源
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
#查看repo源是否安装成功
yum repolist
#########################
yum安装ffmpeg
yum install -y ffmpeg
#安装完成后检查ffmpeg 版本
ffmpeg -version
安装播放器
yum install vlc yum install mplayer
随便下载个mp4文件
mplayer emacs.mp4
2.安装rtmp:
https://github.com/arut/nginx-rtmp-module/wiki/Getting-started-with-nginx-rtmp
cd /opt/nginx git clone https://github.com/killinux/nginx-rtmp-module ./configure --add-module=/opt/nginx/nginx-rtmp-module --prefix=/usr/local/nginx make make install
注意:★★★★★★
mime.types文件里加两行,
application/octet-stream ts; application/x-mpegURL m3u8;
否则不支持m3u8
apple的safari会加载不了视频文件
nginx.conf的配置文件修改如下
###################
worker_processes 1; error_log logs/error.log debug; events { worker_connections 1024; } rtmp { server { listen 1935; application myapp { live on; #record keyframes; #record_path /tmp; #record_max_size 128K; #record_interval 30s; #record_suffix .this.is.flv; #on_publish http://localhost:8080/publish; #on_play http://localhost:8080/play; #on_record_done http://localhost:8080/record_done; } application hls { live on; hls on; hls_path /tmp/app; hls_fragment 5s; } } } http { autoindex on; server { listen 8080; location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /opt/nginx/nginx-rtmp-module/; } location /control { rtmp_control all; } #location /publish { # return 201; #} #location /play { # return 202; #} #location /record_done { # return 203; #} location /rtmp-publisher { root /opt/nginx/nginx-rtmp-module/test; } location /hls { #server hls fragments types{ application/vnd.apple.mpegurl m3u8; video/mp2t ts; } alias /tmp/app; expires -1; } location / { root /opt/nginx/nginx-rtmp-module/test/www; } } }
###################
3.iphone的服务端和浏览器客户端测试
如果是用ios的safari打开
服务端启动
ffmpeg -re -i ./emacs.mp4 -vcodec copy -acodec copy -f flv rtmp://192.168.139.117/hls/mystream
客户端用
##########################
<html> <head> <title>HTTP Live Streaming Example</title> </head> <body> <video src="http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8" height="300" width="400"> </video> <video src="http://192.168.139.117:8080/hls/mystream.m3u8" height="300" width="400"> </video> ----------------- </body> </html>
#########################
4.windows的服务端和浏览器chrome测试
如果是用windows的浏览器打开
服务端用
ffmpeg -loglevel verbose -re -i ./emacs.mp4 -f flv rtmp://192.168.139.117/myapp/mystream
参考nginx-rtmp-module/test/www/ffstream.sh
客户端参考
参考nginx-rtmp-module/test/www/index.html
##################
<b>Play</b> | <a href="record.html">Record</a> <br/> <script type="text/javascript" src="/jwplayer/jwplayer.js"></script> <div id="container">Loading the player ...</div> <script type="text/javascript"> jwplayer("container").setup({ sources: [ { file: "rtmp://192.168.139.117/myapp?carg=1/mystream?sarg=2" } ], image: "bg.jpg", autostart: false, width: 640, height: 480, primary: "flash" }); </script>
###################
5.用linux客户端ffplay打开
如果是用客户端打开
参考
nginx-rtmp-module/test/www/play.sh
ffplay -loglevel verbose "rtmp://192.168.139.117/myapp/mystream" ffplay -loglevel verbose "rtmp://192.168.139.117/hls/mystream"
查看视频状态使用
http://192.168.139.117:8080/stat
参考
https://github.com/killinux/nginx-rtmp-module
http://blog.csdn.net/cjsafty/article/details/9108587
http://haoningabc.iteye.com/blog/1559086
发表评论
-
srt学习笔记零:srt总结帖
2020-05-09 14:50 6941。无服务的方式:udp, 2。srs作为服务端:rtmp推收 ... -
srt学习笔记七:使用265推rtmp
2020-05-08 20:56 732概念: 视频码率:视频码率就是数据传输时单位时间传送的数据位数 ... -
srt学习笔记六:srt-live-server
2020-04-30 18:45 1303除了srs,有个可以直接支持srt的sls srt-live ... -
srt学习笔记五:手写个srt的socket
2020-04-24 18:12 820参考:https://www.jianshu.com/p/39 ... -
srt学习笔记四:srs支持srt
2020-04-17 19:27 1841协议:rtmp. hls flv 264 265 ... -
ffmpeg使用srs推srt
2020-04-13 18:43 0相关内容参考 https://github.com/ossrs ... -
srt学习笔记三:ffmpeg使用srs推rtmp(桌面录制)
2020-04-09 20:06 959srs代码: git clone https://github ... -
srt学习笔记二:支持srt的ffmpeg
2020-04-06 02:38 1776注意:scl enable devtoolset-7 bash ... -
srt学习笔记一:srt的helloworld
2020-03-27 19:13 7921。无服务的方式:udp, 2。srs作为服务端:rtmp推收 ... -
xl2tp 备份
2019-09-24 16:25 6932019年9月24日更新: 注意,需要开启firewall ... -
sdl笔记
2019-01-31 17:19 733sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1433参考https://bellard.org/jslinux/t ... -
aws搭建xl2tp给iphone使用
2018-12-26 21:37 18922019年12月26日 可以参考原来的配置 https:// ... -
ios的safari使用自制ca证书测试webrtc
2018-08-20 13:31 2441这个需要注意 https://stackoverflow.c ... -
nginx push_upstream模块的websocket
2018-05-04 23:27 1221参考 https://www.rails365.net/art ... -
openresty聊天室的helloworld
2018-04-22 19:25 800openresty的websocket + redis的sub ... -
openresty websocket
2018-04-18 17:08 1520mac安装openresty brew install o ... -
nginx模块开发(三)upstream模块
2017-08-20 23:48 845使用nginx-1.13.4版本 三个文件ngx_http_ ... -
nginx模块开发(二) 使用gdb-dashboard调试
2017-08-11 18:47 2010gdb-dashboard或者 gdbgui 或者gdb自带 ... -
nginx模块开发(一)
2017-07-29 22:44 566决定重新整理nginx模块开发 helloworld con ...
相关推荐
nginx可以与FFmpeg结合,使用FFmpeg将视频文件转换为流媒体格式,然后将其推送到客户端。 RTMP RTMP(Real-Time Messaging Protocol)是一种基于TCP的应用层协议,主要用来实时传输音频、视频和数据。RTMP协议可以...
FFmpeg、Nginx-RTMP-Module 和 FLV 监控视频Web展示是一个整合了实时流媒体处理、传输和播放的技术方案。这个方案适用于在Web端实现监控视频的实时展示,尤其对于需要构建远程监控系统或者直播平台的场景非常实用。...
我们需要在nginx的配置文件中指定视频流的处理规则,以便nginx可以正确地处理视频流。 五、流媒体服务器应用 流媒体服务器可以应用于各种场景,例如直播、监控、在线视频等。流媒体服务器可以提供实时的视频流传输...
1、在Windows系统下,搭建ffmpeg推流+nginx-http-flv-module直播拉流+FLV.js播放环境,所需依赖相关资源文件。 2、适合初学、研究、验证视频直播部署方案的相关技术人员。
在这个"ffmpeg+nginx程序包"中,它们被结合使用,实现了通过RTSP(Real-Time Streaming Protocol)协议远程播放摄像头视频的功能。 FFmpeg的核心功能包括视频编码、解码、转换、分割、合并以及流媒体处理。它支持...
在FFmpeg+Nginx转流的相关项目中,通常的目标是构建一个实时的流媒体服务器系统,能够接收来自各种源的直播流,如RTMP协议的视频流,然后通过FFmpeg进行处理,再由Nginx分发给多个客户端。这样的系统广泛应用于在线...
FFmpeg和Nginx RTMP模块是两种广泛用于视频流处理的技术。FFmpeg是一个开源的跨平台工具包,用于处理音频和视频文件,包括转换、编码、解码、分割、合并等多种功能。Nginx RTMP模块则是在Nginx服务器基础上扩展的一...
1. **推流端**:使用 FFmpeg 将摄像头或其他输入源的视频流编码并推送到运行了 Nginx-RTMP 模块的服务器。 2. **服务器端**:Nginx-RTMP 接收推流,将其存储或转码成 HLS,并提供 RTMP 和 HLS 流给客户端。 3. **...
基于java搭建的流媒体服务器(nginx+ffmpeg)可运行在linux上,具体文章说明:https://blog.csdn.net/weixin_40263855/article/details/87917484
在实际应用中,你可以根据需求调整推流代码,例如从摄像头或文件读取视频数据,然后通过librtmp将这些数据推送到Nginx服务器。 总结一下,"rtmp+nginx实现rtmp直播"主要是利用Nginx的RTMP模块搭建一个流媒体服务器...
然后,使用FFmpeg将录制的视频实时推送到Nginx服务器: ```bash ffmpeg -f x11grab -i :0 -c:v libx264 -preset ultrafast -tune zerolatency -f flv rtmp://localhost/live/stream_key ``` 这里,我们使用`-f flv...
6. 使用FFmpeg将视频文件转化为FLV格式,并上传到Nginx服务器的指定目录。 7. 通过浏览器访问`flv播放.html`,测试流媒体播放功能是否正常。 这个资源包提供了一种简单而有效的方法来建立一个基础的流媒体服务系统...
Nginx-rtmp流媒体服务器搭建+ffmpeg推流.pdf 本文将对Nginx-rtmp流媒体服务器的搭建和ffmpeg推流进行详细的讲解,从操作系统的选择到Nginx的编译安装,最后到配置Nginx服务和ffmpeg推流的配置。 一、操作系统的...
【标题】"nginx+ffmpeg+demo.zip"是一个包含使用Nginx和FFmpeg在Google Chrome浏览器中实现视频预览的解决方案的压缩包。这个压缩包提供了编译完成的Nginx服务器、FFmpeg工具集以及一个前端展示的示例。 【Nginx】...
4. **FFmpeg**:FFmpeg是一个强大的命令行工具集,用于处理多媒体文件,包括转码、合并、分割、提取音频和视频流等。在流媒体场景中,FFmpeg可以用于转换不同格式的媒体文件,确保它们与服务器和客户端兼容,例如将...
例如,你可以使用FFmpeg将本地视频文件推送到Nginx-RTMP服务器,或者从服务器拉取流并将其保存为本地文件。 3. **VLC** VLC是一款流行的多媒体播放器,支持多种格式的音频和视频文件,以及网络流。在流媒体环境中...
在Linux环境下,Qt5是一个强大的跨平台应用开发框架,它提供了丰富的图形用户界面(GUI)组件和工具,而FFmpeg则是一个开源的多媒体处理库,支持音频、视频的编码、解码、转换和流媒体功能。将FFmpeg与Qt5结合,可以...
此外,FFmpeg还支持RTMP推流,可以将本地视频源推送到Nginx服务器,完成直播发布。 使用这个资源包进行实时视频流开发的基本流程如下: 1. 首先,安装并配置Nginx,确保Nginx-Http-Flv-Module正确加载。 2. 编译并...
开发者可以创建Angular组件来调用Flv.js,实现直播视频的播放控制,同时利用Angular的数据绑定和路由功能,与后端Nginx服务器进行交互,获取和播放直播流。 总结来说,FFmpeg-nginx-Http-flv方案是一个实用的直播...
**推流** 是将实时视频或音频数据发送到服务器的过程,常用于直播场景。在这个应用中,录制的屏幕内容会被推送到一个流媒体服务器,可能是像Nginx-RTMP或Wowza这样的服务,使其他用户可以实时观看。 **npm install*...