Nginx+ffmpeg的HLS开源server搭建配置及开发具体解释
本文概述:
至眼下为止。HLS 是移动平台上很重要并十分流行的流媒体传输协议。做移动平台的流媒体开发,不知道它不掌握它 。真是一大遗憾。而HLS的平台搭建有一定的难度,本文针对对该方向有一定了解的朋友,将方案实施中的一些细节和流程进行分享交流。本文介绍了。使用开源servernginx 搭建 HLS 服务比較具体的方案。測试使用 VLC以及JWPlayer播放。
交流邮箱leoluopy@gmail.com,本文出自CSDN-固本培元。转载请注明出处。
切片器:
HLS 是依照切片发送流媒体子块的,切片当然不可少。
编译和使用的命令例如以下,能够參考。
编译m3u8-segment 改动makefile
all:
gcc -Wall -g segmenter.c -o segmenter -lm -lbz2 -lz -lpthread -lavformat -lavcodec -lavutil -std=c99 clean:
rm segmenter install: segmenter
cp segmenter /usr/local/bin/ uninstall:
rm /usr/local/bin/segmenter
參考segmenter和ffmpeg转换ts流以及分片的命令:
使用ffmpeg将測试视频和音频转为mpeg ts格式文件 ffmpeg -i /var/flvs/baluobu.flv -f mpegts -acodec libmp3lame -ar 48000 -ab 128k -vcodec libx264 -b 96k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 96k -bufsize 96k -rc_eq ‘blurCplx^(1-qComp)’ -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 /var/app/baluobu/baluobu.ts ffmpeg -i /var/flvs/10year.mp3 -f mpegts -acodec libmp3lame -ar 48000 -ab 128k -vcodec libx264 -b 96k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 96k -bufsize 96k -rc_eq ‘blurCplx^(1-qComp)’ -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 /var/app/10year/10year.ts cd /var/app/10year segmenter -i 10year.ts -d 5 -o 10year -x 10year.m3u8 cd /var/app/baluobu segmenter -i baluobu.ts -d 5 -o buluobu -x baluobu.m3u8
切片之后例如以下图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3ViZW5wZWl5dWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
server搭建:
nginxserver下载地址:
http://nginx.org/en/linux_packages.html#stable
PCRE下载地址:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
过程非常easy。
不多说了。假设不清楚,具体的能够阅读文章尾的參考文章。假设还有问题的话能够发邮件交流:leoluopy@gmail.com。
安装完毕后例如以下图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3ViZW5wZWl5dWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
測试:
搭建完毕后使用vlc检測效果成功例如以下图:
有的时候假设ts的编码存在问题,在跳转播放时间时不能正常反应,同一时候网页測试时也不能通过,以下是网页測试的一个地址:
即:HLSProvider - HLS Flash Plugin for JWPlayer
http://streambox.fr/HLSProvider/jwplayer6/
同一时候还有flash的安全文件须要增加后html才干正常播放。
參考文章:
http://blog.csdn.net/cjsafty/article/details/7922849
怎样用nginx+ffmpeg实现苹果HLS协议 (http
living stream)
http://blog.csdn.net/funkri/article/details/10192095
ffmpeg+HLS的project演示样例
http://jueshizhanhun.blog.51cto.com/4372226/1368768
基于HTTP Live Streaming(HLS)
搭建在线点播系统
http://blog.csdn.net/funkri/article/details/10946027
nginx安装教程:
http://wwwzhouhui.iteye.com/blog/1305512
http://blog.csdn.net/xiaoliouc/article/details/8613935
RTMP/RTP/RTSP/RTCP的差别
Nginx+ffmpeg的HLS开源server搭建配置及开发具体解释的更多相关文章
- 转:Nginx+ffmpeg的HLS开源服务器搭建配置及开发详解
转:http://itindex.net/detail/51186-nginx-ffmpeg-hls 本文概述: 至目前为止,HLS 是移动平台上非常重要并十分流行的流媒体传输协议.做移动平台的流媒体 ...
- Nginx+ffmpeg的HLS开源服务器搭建配置及开发详
本文概述: 至目前为止,HLS 是移动平台上非常重要并十分流行的流媒体传输协议.做移动平台的流媒体开发,不知道它不掌握它 ,真是一大遗憾.而HLS的平台搭建有一定的难度,本文针对对该方向有一定了解的朋 ...
- 如何搭建配置php开发环境
PHP的配置 1.打开解压后的C:\Program Files (x86)\php-5.3.5文件夹 1 将php.ini-development文件并更改名称为php.ini(留个备份,好习惯) 2 ...
- nginx+ffmpeg搭建rtmp转播rtsp流的flash服务器
本文概要: nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择.本文介绍了一种简易方法快速搭建rtmp流媒体服务器,也叫rtsp转播,数据源不是读取文件,而是采用 ...
- linux系统中Nginx+FFmPeg+vlc实现网页视频播放配置过程
linux系统中Nginx+FFmPeg实现网页监控视频播放配置过程 1.安装好的nginx上添加模块nginx-http-fiv-module-master 此模块是rtmp模块的升级版,有它所有的 ...
- 用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器(转)
用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器 现在不用Git,都不好意思说自己是程序员. 当你想用Git,而源代码服务器是Windows系统时,你 ...
- Nginx 笔记与总结(4)配置 server 访问日志
打开 nginx.conf: [root@localhost ~]# cd /usr/local/nginx/conf [root@localhost conf]# vim nginx.conf 在默 ...
- 站点搭建从零開始(四) server的配置
原文发表在我的个人站点,欢迎大家訪问~转载请保留本段,或注明原文:http://www.hainter.com/website-primer-4 域名解析设置好了,通常我们就能够訪问我们的网站了,上篇 ...
- nginx多个server的配置,同一端口
nginx多个server的配置,同一端口 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/e ...
随机推荐
- 利用node搭建本地服务器调试代码
在命令符中输入 npm install -g live-server安装live-server 安装完成后在项目文件夹下打开cmd,输入live-server启动
- xsy 1836 - Shop
from NOIP2016模拟题36 Description 商店里有n种背包和m种物品,物品体积为1到m,背包容积<=m 给出n个背包的容积 现在要求出这样一个物品集合,满足: 1)对于任意一 ...
- 【CF721C】Journey(拓扑排序,最短路,DP)
题意:给一个无环的图,问用不超过T的时间从1到n最多可以经过多少个点.要求输出一条路径. 思路:因为无环,可以用DP做.不过因为时间最短的原因要拓扑排序后再DP,目测由底向上的更新也是可以的. ; . ...
- 【CF707B】Bakery(想法题)
题意: 有N个城市,M条无向边,其中有K个城市是仓库 现在要在非仓库的城市中选择一家开面包店,使得其最少与一个仓库联通,且到所有仓库距离的最小值最小 (1 ≤ n, m ≤ 10^5, 0 ≤ k ≤ ...
- ADO:DataSet合并两张表( ds.Merge(ds1))
原文发布时间为:2008-08-01 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...
- vue2 如何通过router传递参数
当需要router-link传递参数的时候 vue2 如何做 记录下来备忘 1.通过vue页面传递参数 <router-link :to="{ path:'./attachment', ...
- 【MFC】定时器的使用(转)
原文转自 http://blog.csdn.net/hellozhd/article/details/8213359 在对话框中使用定时器: 1.定义定时器 #define TIMER1 1 2.开启 ...
- Linux内核解析之标准I/O库
当Linux创建一个进程时,会自动创建3个文件描述符0,1,2,分别对应标准输入,标准输出,错误输出.C库中与文件描述符对应的是文件指针.查看C库头文件stdio.h中的源码 typedef stru ...
- Ubuntu16 编译源码出错 unsupported reloc 43
错误如下 prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/include/c++/4.6/bits/basi ...
- Mac下Android SDK更新不了的解决办法
在hosts文件中加入: 203.208.46.146 dl.google.com 203.208.46.146 dl-ssl.google.com