Nginx+ffmpeg搭建Apple Http Live Streaming笔记

标签: nginx ffmpeg apple | 发表时间:2014-04-24 17:28 | 作者:LiYunpeng
出处:http://www.iteye.com
起始Nginx来搭建HLS步骤非常少

安装好Nginx,然后跑起来

把切片好的视频和m3u8文件放到部署目录,直接访问就可以了

重点是(切片)视频



网上国内国外的找了好多博客
这里一定注意一点,不要用VLC播放器来测试,最好用iPad或者iPhone,再么用Safari 开发模式下模拟iPad、iPhone的浏览器模式播放

因为在网上找了很多大家说VLC源码里面对HLS协议支持的不好,甚至快进暂停在源码里压根就没实现!!


下面是ffmpeg对视频进行切片的命令

ffmpeg -y -i %(filename)s -pix_fmt yuv420p -vcodec libx264 -acodec libfaac -r %(fps)s -profile:v baseline -b:v %(bitrate)sk -maxrate %(bitrate)sk  -force_key_frames %(keyframe_str)s -s %(width)sx%(height)s %-f segment -segment_list %(target_dir)sindex_%(bitrate)s.m3u8 -segment_time %(segment_size)s  -segment_list_type m3u8 %(filenameNoExt)s_%(count)s.ts
比如
ffmpeg -y -i infile.mp4 -pix_fmt yuv420p -vcodec libx264 -acodec libfaac -r 25 -profile:v baseline -b:v 1500k -maxrate 2000k -force_key_frames 50 -s 640×360 -map 0 -flags -global_header -f segment -segment_list /tmp/index_1500.m3u8 -segment_time 10 -segment_format mpeg_ts -segment_list_type m3u8 /tmp/segment%05d.ts

https://ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_002c-ssegment

上面这个链接介绍了大概的命令解释,但是ffmpeg开发的人多,版本更新的也快,就是写说明文档的人特别少,写的也让人看不懂,不会用啊!!!

我的文件是用的MP4
所以用了一下命令
ffmpeg -i input.mp4 -codec copy -map 0 -bsf h264_mp4toannexb -c copy -f segment -segment_list ™output.m3u8 -segment_time 10 output-%03d.ts


目前还有一个需要研究,就是我把文件放在其他路径,写成 绝对路径的时候,.m3u8文件里面也会对应编程绝对路径,就会导致文件播放不了,这个还有待于继续研究,先坐下笔记

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [nginx ffmpeg apple] 推荐:

Nginx+ffmpeg搭建Apple Http Live Streaming笔记

- - 移动开发 - ITeye博客
起始Nginx来搭建HLS步骤非常少. 安装好Nginx,然后跑起来. 把切片好的视频和m3u8文件放到部署目录,直接访问就可以了. 网上国内国外的找了好多博客. 这里一定注意一点,不要用VLC播放器来测试,最好用iPad或者iPhone,再么用Safari 开发模式下模拟iPad、iPhone的浏览器模式播放.

视频直播方案(nginx-rtmp-module ffmpeg) - Andrew's BlogAndrew's Blog

- -
视频直播方案(nginx-rtmp-module ffmpeg). 本文将介绍如何从零搭建流媒体服务器作为直播方案. 一般视频录像板或者网络摄像头仅支持RTSP服务,或自己的私有协议. 因为RTSP是基于TCP的协议一般浏览器是无法支持创建Socket与其他服务相连前端无法播放. 私有协议仅能在IE浏览器下调用OCX插件播放视频,兼容性太差.

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

- - 互联网 - ITeye博客
          至目前为止,HLS 是移动平台上非常重要并十分流行的流媒体传输协议. 做移动平台的流媒体开发,不知道它不掌握它 ,真是一大遗憾. 而HLS的平台搭建有一定的难度,本文针对对该方向有一定了解的朋友,将方案实施中的一些细节和流程进行分享交流. 本文介绍了,使用开源服务器nginx 搭建 HLS 服务比较详细的方案.

使用 ffmpeg nginx rtmp 搭建实时流处理平台 - nowgood - 博客园

- -
环境: ubuntu 16.04. 使用 opencv 获取摄像头数据帧, 进行处理之后(如进行 keypoint 识别), 将 opencv 中图像的 Mat类型转化为 ffmpeg 的 AvPicture 格式, 然后推送到流媒体服务器上, 本地通过 VLC 播放器查看实时检测效果. /etc/ffserver.conf配置外部可接入地址 在文件的.

ffmpeg轉檔

- - SSORC.twSSORC.tw
ffmpeg 是一個命令列工具,用來對視訊檔案轉換格式. -i = 來源影片 (後面的參數先不接的話可以查看來源影片的詳細資訊,可供想要轉成什麼品質的參考). -vcodec = video code (如果要保留原格式就用 -vcodec copy). -acoder = audio code  (如果要保留原格式就用 -vcodec copy).

ffmpeg裁剪合并视频

- - inJava
这里裁剪是指时间轴裁剪,不是空间裁剪. 比如说,你想把视频的从一分20秒开始,30秒的视频裁剪出来,保存成一个视频. ffmpeg提供简单的命令参数:. -ss 开始时间,如: 00:00:20,表示从20秒开始;. -t 时长,如: 00:00:10,表示截取10秒长的视频;. -i 输入,后面是空格,紧跟着就是输入视频文件;.

玩转 FFmpeg 的 7 个小技巧

- mk - OSMSG
FFmpeg堪称音频和视频应用程序的瑞士军刀,提供了丰富的选项和灵活性.很多时候用户为了看视频和听音乐都安装了ffmeg.更多关于ffmeg的详细介绍:here,可以通过ffmpeg -formats查看FFmpeg支持的视音频格式,左侧若是E表明可以编码,D表明可以解码. 本文着重介绍命令行下ffmeg的7个技巧:.

CentOS 下通过 JavaCPP 调用 FFMPEG

- - CSDN博客综合推荐文章
   FFMPEG 是一个广泛用于媒体处理的库,在Java的世界里,处理视频的能力相当弱,于是有很大需求需要Java 调用 FFMPEG.   Java 调用C 的方式有很多,可以用最原始的JNI方式,也可以JNA方式,还可以是命令行.    采用命令行的方式比较简单,不过有很大局限性,尤其是涉及到 视频的处理和分析的时候,比如要取出某个packet,然后进行处理.

FFmpeg和一千多次bug修正

- - Solidot
Google透露,它在两年多时间内帮助开源跨平台多媒体编解码器库FFmpeg发现和修复了1000多个bug. Google称,它不仅仅重视自家产品的安全,它的安全团队和Google雇员还经常评估外部软件,并将结果报告给软件供应商或维护者. FFmpeg和它的衍生版本Libav被许多项目广泛使用,其中包括Google Chrome、MPlayer、VLC和xine,Google认为帮助FFmpeg发现bug将会让数以百万计的用户受益.

ffmpeg 视频转码例子集合

- - 开源软件 - ITeye博客
-muxrate 复用码率,设置之后整体码率模式才是CBR. -c:v mpeg2video MPEG2视频编码. -flags ildct+ilme 隔行扫描. -top 隔行扫描前场/后场优先模式 ,1是前场(顶场),0是后场(底场). -streamid 设置视频、音频PID,0视频,1音频.