本文概述:

至眼下为止。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。HLS服务端就能够正常開始工作啦。

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才干正常播放。

參考文章:

nginx上搭建HLS流媒体server

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

RTMP,RTSP,HLS比較与分析

http://blog.csdn.net/xiaoliouc/article/details/8613935

RTMP/RTP/RTSP/RTCP的差别

http://blog.csdn.net/xiaoliouc/article/details/8613935

Nginx+ffmpeg的HLS开源server搭建配置及开发具体解释的更多相关文章

  1. 转:Nginx+ffmpeg的HLS开源服务器搭建配置及开发详解

    转:http://itindex.net/detail/51186-nginx-ffmpeg-hls 本文概述: 至目前为止,HLS 是移动平台上非常重要并十分流行的流媒体传输协议.做移动平台的流媒体 ...

  2. Nginx+ffmpeg的HLS开源服务器搭建配置及开发详

    本文概述: 至目前为止,HLS 是移动平台上非常重要并十分流行的流媒体传输协议.做移动平台的流媒体开发,不知道它不掌握它 ,真是一大遗憾.而HLS的平台搭建有一定的难度,本文针对对该方向有一定了解的朋 ...

  3. 如何搭建配置php开发环境

    PHP的配置 1.打开解压后的C:\Program Files (x86)\php-5.3.5文件夹 1 将php.ini-development文件并更改名称为php.ini(留个备份,好习惯) 2 ...

  4. nginx+ffmpeg搭建rtmp转播rtsp流的flash服务器

    本文概要: nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择.本文介绍了一种简易方法快速搭建rtmp流媒体服务器,也叫rtsp转播,数据源不是读取文件,而是采用 ...

  5. linux系统中Nginx+FFmPeg+vlc实现网页视频播放配置过程

    linux系统中Nginx+FFmPeg实现网页监控视频播放配置过程 1.安装好的nginx上添加模块nginx-http-fiv-module-master 此模块是rtmp模块的升级版,有它所有的 ...

  6. 用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器(转)

    用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器   现在不用Git,都不好意思说自己是程序员. 当你想用Git,而源代码服务器是Windows系统时,你 ...

  7. Nginx 笔记与总结(4)配置 server 访问日志

    打开 nginx.conf: [root@localhost ~]# cd /usr/local/nginx/conf [root@localhost conf]# vim nginx.conf 在默 ...

  8. 站点搭建从零開始(四) server的配置

    原文发表在我的个人站点,欢迎大家訪问~转载请保留本段,或注明原文:http://www.hainter.com/website-primer-4 域名解析设置好了,通常我们就能够訪问我们的网站了,上篇 ...

  9. nginx多个server的配置,同一端口

    nginx多个server的配置,同一端口 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/e ...

随机推荐

  1. python hashlib模块 logging模块 subprocess模块

    一 hashlib模块 import hashlib md5=hashlib.md5() #可以传参,加盐处理 print(md5) md5.update(b'alex') #update参数必须是b ...

  2. FOJ Problem 2261 浪里个浪

                                                                                                        ...

  3. 【CF1017C】The Phone Number(构造)

    题意:要求构造一个1-n的排列,使得它的LIS+LDS最小 n<=1e5 思路:一个百度之星时候从LYY处听来的结论:1-n随机排列的LIS期望是根号级别的 考虑将LIS与LDS都构造成根号级别 ...

  4. angular关于依赖注入

    <html> <head> <title>Angular JS Forms</title> </head> <body> < ...

  5. git超详细教程【转】

    转自:http://blog.csdn.net/liuwengai/article/details/52072344 GitHub操作总结 : 总结看不明白就看下面的详细讲解.   GitHub操作流 ...

  6. PE+ 1.0 ( Pump Express Plus 1.0 )

    Dialog iW1788 for PE+ 1.0 Dialog iW1680 for PE PE+1.0 for up to 15W battery, improve charging time, ...

  7. Sublime Text 新文本编辑器(txt3)

    http://www.sublimetext.com/

  8. react native ios启动指定模拟器

    react-native run-ios --simulator "iPhone 7 Plus” xcrun instruments -w 'iPhone X'

  9. [原创][FPGA]有限状态机FSM学习笔记(一)

    1. 概述--何为有限状态机FSM? 有限状态机-Finite State Machine,简写为FSM,是表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用.通常 ...

  10. SD-WAN用户实践分享:老网工趟出的SD-WAN成功路

    在这个离开“人大物云”(人-人工智能.大-大数据.物-物联网.云-云计算)话题都张不开嘴的年代,在这个在咖啡店谈生意都不好意思低于1个亿的年代,反思我的老本行——网络,正在以一种全新的.更加重要的姿态 ...