nginx_rtmp
rtmp {
server {
listen ;
chunk_size ;
max_connections ; #音视频流上传和播放地址都是 rtmp://你的IP/live/streamName
#streamName自己是自定义的。
application live {
live on;
record off;
} #这个是上传地址 rtmp://你的IP:/hls/streamName2
#直播的地址也是这个,点播播放地址在下面
application hls {
live on;
hls on;
#请先创建相应目录(mkdir -p /var/www/hls/ && chown -R www-data:www-data /var/www )
hls_path /var/www/hls/;
}
}
}
#这个是点播播放地址 http://你的IP:8080/hls/streamName2.m3u8
server {
listen ;
index index.html;
root /var/www/hls/; location /hls {
alias /var/www/hls/;
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
add_header Cache-Control no-cache;
}
}
使用linux上ffmpeg工具模拟推流到服务器
安装ffmpeg工具
apt-get -y install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev libxfixes-dev zlib1g-dev pkg-config netcat libncurses5-dev libfaac-dev libmp3lame-dev libx264-dev
FFMPEG_VERSION=2.3. cd /usr/local/src
if [ ! -d "/usr/local/src/ffmpeg-${FFMPEG_VERSION}" ]; then
sudo wget "http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2"
sudo tar -xjf "ffmpeg-${FFMPEG_VERSION}.tar.bz2"
fi cd "ffmpeg-${FFMPEG_VERSION}"
./configure --enable-version3 --enable-postproc --enable-libvorbis --enable-libvpx --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libx264
make
checkinstall --pkgname=ffmpeg --pkgversion="5:${FFMPEG_VERSION}" --backup=no --deldoc=yes --default
使用ffmpeg工具把本地的视频文件模拟推送到服务器
ffmpeg -re -i /data/localFile.mp4 -c copy -f flv rtmp://你的IP/live/streamName
这个命令会把本地的localFile.mp4模拟推入live直播流,然后可以通过 rtmp://你的IP/live/streamName地址观看该直播。
ffmpeg -re -i /data/localFile.mp4 -c copy -f flv /var/www/hls/streamName
这个命令会把本地的localFile.mp4模拟推入到hls应用中,然后可以通过rtmp://你的IP/hls/streamName 地址观看该直播,也可以通过播放器打开http://你的IP:8080/hls/streamName.m3u8查看该视频的点播 nginx_rtmp_module录制和直播测试
nginx_rtmp的更多相关文章
- Android中直播视频技术探究之---视频直播服务端环境搭建(Nginx+RTMP)
一.前言 前面介绍了Android中视频直播中的一个重要类ByteBuffer,不了解的同学可以 点击查看 到这里开始,我们开始动手开发了,因为我们后续肯定是需要直播视频功能,然后把视频推流到服务端, ...
- JavaCV的摄像头实战之一:基础
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于<JavaCV的摄像头实战>系列 &l ...
随机推荐
- JPA 或者Hibernate 实体类说明
这里简单介绍Hibernate的Annotation注解 一.声明实体 @Entity对实体注释.任何Hibernate映射对象都要有这个注释@Table声明此对象映射到数据库的数据表,通过它可以为实 ...
- Element Children
The childNodes property contains all of the immediate children of the element. There is a significan ...
- 爱伪装(AWZ)/爱立思(ALS)改机改串一键新机原理分析
简介 爱伪装(AWZ)/爱立思(ALS)是一款iOS越狱系统上的改机工具,可以修改多种系统参数达到伪装设备型号及各种软硬件属性的目的,同时提供了防越狱检测机制,常用于iOS上的推广刷量,配合代理/VP ...
- django中聚合aggregate和annotate GROUP BY的使用方法
接触django已经很长时间了,但是使用QuerySet查询集的方式一直比较低端,只会使用filter/Q函数/exclude等方式来查询,数据量比较小的时候还可以,但是如果数据量很大,而且查询比较复 ...
- XML模块,面向对象思想与类的定义
今日内容 XML模块,面向对象思想,类的定义 1.XML模块 xml是一种可扩展的标记语言格式如下 使用 <> 作为标签格式 <tag style: '' color:read '' ...
- 【C/C++】BOOST 线程完全攻略 - 基础篇
C++多线程开发是一个复杂的事情,mfc下提供了CWinThread类,和AfxBeginThread等等函数,但是在使用中会遇到很多麻烦事情,例如线程之间参数传递的问题,我们一般都是把参数new一个 ...
- Longest Palindromic Subsequence
Given a string s, find the longest palindromic subsequence's length in s. You may assume that the ma ...
- JCC指令
0.JMP1.JE, JZ 结果为零则跳转(相等时跳转) ZF=12.JNE, JNZ 结果不为零则跳转(不相等时跳转) ZF=03.JS 结果为负则跳转 SF=14.JNS 结果为非负则 ...
- 内存溢出之PermGen space异常解决
1.出现的异常: java.lang.OutOfMemoryError: PermGen space at sun.misc.Launcher$ExtClassLoader.getExtClassLo ...
- int与Integer的一个小区别
int不能为空,而Integer可以赋空值