本文概述:

至眼下为止。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. SharePoint中使用Global.asax

    Global.asax是ASP.Net应用程序的一个文件,用来处理Application级别的事情.可以添加自定义代码到这个文件,详细使用方式见 http://msdn.microsoft.com/e ...

  2. codevs——2548 自然数积分解

    2548 自然数积分解  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 把自然数N分解为若干个自然数之积,输出 ...

  3. 洛谷——P3252 [JLOI2012]树

    P3252 [JLOI2012]树 题目描述 在这个问题中,给定一个值S和一棵树.在树的每个节点有一个正整数,问有多少条路径的节点总和达到S.路径中节点的深度必须是升序的.假设节点1是根节点,根的深度 ...

  4. LightOj 1215 Finding LCM

    Discription LCM is an abbreviation used for Least Common Multiple in Mathematics. We say LCM (a, b, ...

  5. Java获取指定时间(转)

    说明:从LocalDate的API上看,主要用于快速获取当前年月日,而DateFormatter也基本上伴随着使用.如果是操作Date对象的,主要是用于时间戳等,伴随着使用的是SimpleDateFo ...

  6. Swift:闭包(Closures)

    一. 基本概念 闭包(Closures)是自包括的功能代码块,能够在代码中使用或者用来作为參数传值. 在Swift中的闭包与C.OC中的blocks和其他编程语言(如C#)中的lambda, java ...

  7. VS中的 MD/MT设置 【转】

    VS系列工具作为目前微软主打的集成开发环境,在历经了近20多年的发展后,到如今已经可以 说是Windows平台上各种IDE环境中的翘楚了.很多别的开发工具已经难望其项背了,如今VS2010也已经面市很 ...

  8. 安装 - LNMP一键安装包

    https://lnmp.org/ 系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要5GB以上硬盘剩余空间 需要128MB以上内存( ...

  9. Android--------------几个ADB经常使用命令

    1. 显示当前执行的所有模拟器:     adb devices 2. 安装应用程序:     adb install -r 123.apk 3. 获取模拟器中的文件:     adb pull &l ...

  10. Python下opencv使用笔记(七)(图像梯度与边缘检測)

    梯度简单来说就是求导,在图像上表现出来的就是提取图像的边缘(无论是横向的.纵向的.斜方向的等等),所须要的无非也是一个核模板.模板的不同结果也不同.所以能够看到,全部的这些个算子函数,归结究竟都能够用 ...