nginx 播放视频(1)

标签: nginx 播放 视频 | 发表时间:2015-06-22 12:21 | 作者:
出处:http://www.iteye.com

1,首先拷贝一个flv文件到nginx 的html目录中

cp /var/www/html/ajl/uploadvideos/20150428101917_31520150408监利新闻(三).flv ./

flv文件的路径是:/usr/local/nginx/html/broadcast2/20150428101917_31520150408监利新闻(三).flv

 

2,把flv视频格式转化为ts

ffmpeg -i 20150428101917_31520150408监利新闻(三).flv -acodec copy -vcodec libx264 20150428101917_31520150408监利新闻(三).ts

ffmpeg version N-72743-g130a6c0 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9)
  configuration: --enable-version3 --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libxvid --enable-shared --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads --enable-libnut --enable-libtheora
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, flv, from '20150428101917_31520150408监利新闻(三).flv':
  Metadata:
    encoder         : Lavf53.6.0
  Duration: 00:23:02.61, start: 0.000000, bitrate: 453 kb/s
    Stream #0:0: Video: flv1, yuv420p, 320x240, 800 kb/s, 18 fps, 18 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 58 kb/s
[libx264 @ 0xa954c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0xa954c0] profile High, level 1.2
Output #0, mpegts, to '20150428101917_31520150408监利新闻(三).ts':
  Metadata:
    encoder         : Lavf56.36.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 320x240, q=-1--1, 18 fps, 90k tbn, 18 tbc
    Metadata:
      encoder         : Lavc56.41.100 libx264
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, 58 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (flv1 (flv) -> h264 (libx264))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=24886 fps=146 q=27.0 Lsize=   59063kB time=00:23:02.60 bitrate= 350.0kbits/s    
video:40726kB audio:10621kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 15.029047%
[libx264 @ 0xa954c0] frame I:180   Avg QP:18.64  size: 13909
[libx264 @ 0xa954c0] frame P:18092 Avg QP:23.20  size:  2073
[libx264 @ 0xa954c0] frame B:6614  Avg QP:26.06  size:   257
[libx264 @ 0xa954c0] consecutive B-frames: 60.2% 10.6%  7.8% 21.4%
[libx264 @ 0xa954c0] mb I  I16..4: 13.8% 66.2% 20.0%
[libx264 @ 0xa954c0] mb P  I16..4:  0.6%  1.9%  0.3%  P16..4: 25.3% 14.2% 12.6%  0.0%  0.0%    skip:45.1%
[libx264 @ 0xa954c0] mb B  I16..4:  0.1%  0.3%  0.0%  B16..8: 21.6%  2.9%  0.9%  direct: 1.0%  skip:73.3%  L0:41.6% L1:45.6% BI:12.8%
[libx264 @ 0xa954c0] 8x8 transform intra:67.8% inter:67.4%
[libx264 @ 0xa954c0] coded y,uvDC,uvAC intra: 69.6% 73.8% 34.0% inter: 20.4% 13.7% 2.9%
[libx264 @ 0xa954c0] i16 v,h,dc,p: 13% 69% 12%  6%
[libx264 @ 0xa954c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 28% 28%  4%  4%  4%  6%  4%  7%
[libx264 @ 0xa954c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 31% 13%  5%  6%  6%  7%  5%  7%
[libx264 @ 0xa954c0] i8c dc,h,v,p: 43% 34% 18%  5%
[libx264 @ 0xa954c0] Weighted P-Frames: Y:0.9% UV:0.5%
[libx264 @ 0xa954c0] ref P L0: 73.5% 15.3%  7.8%  3.4%  0.0%
[libx264 @ 0xa954c0] ref B L0: 86.6% 11.0%  2.4%
[libx264 @ 0xa954c0] ref B L1: 94.9%  5.1%
[libx264 @ 0xa954c0] kb/s:241.31
[root@iZ25vr4qe08Z broadcast2]# 

 

3,切片

segmenter -i 20150428101917_31520150408监利新闻(三).ts -d 10 -p segmenter_test -m vp5.m3u8 -u http://123.57.250.51:8080/broadcast2/

-d 10:每个切片为10秒,

-p segmenter_test:切片的名字的前缀

 

     -u URL地址:m3u8中播放列表的地址前缀

Output #0, mpegts, to 'segmenter_test':
    Stream #0:0: Video: h264 ([27][0][0][0] / 0x001B), yuv420p, 320x240, q=2-31, 18 tbc
    Stream #0:1: Audio: mp3 ([3][0][0][0] / 0x0003), 22050 Hz, stereo, 60 kb/s
[mpegts @ 0x23826e0] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
[mpegts @ 0x23826e0] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
Ignoring attempt to set invalid timebase 1/0 for st:1

 

 

4,打开vp5.m3u8 确认里面的切片路径是否正确

一定要确保切片(ts文件)的url是有效的

 

 

5,命令列表

cd broadcast2/

cp /var/www/html/ajl/uploadvideos/20150428101917_31520150408监利新闻(三).flv ./

 ffmpeg -i 20150428101917_31520150408监利新闻(三).flv -acodec copy -vcodec libx264 20150428101917_31520150408监利新闻(三).ts 

segmenter -i 20150428101917_31520150408监利新闻(三).ts -d 10 -p segmenter_test -m vp5.m3u8 -u http://123.57.250.51:8080/broadcast2/

 

 vim vp5.m3u8 

参考:http://hdu104.com/294

 



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


ITeye推荐



相关 [nginx 播放 视频] 推荐:

nginx 播放视频(1)

- - ITeye博客
1,首先拷贝一个flv文件到nginx 的html目录中. cp /var/www/html/ajl/uploadvideos/20150428101917_31520150408监利新闻(三).flv ./. flv文件的路径是:/usr/local/nginx/html/broadcast2/20150428101917_31520150408监利新闻(三).flv.

Nginx下搭建flv视频服务器且支持视频拖动进度条播放

- gOODiDEA - CSDN博客推荐文章
目前,由于Flash的流行,网络上绝大多数的微视频网站都采用了Flv格式来播放视频. 在互联网上播放视频,有两种方式,一种是文件方式,即通过HTTP协议访问视频文件,这种方式的缺点是不能从特定的帧开始播放;另外一种就是采用专门的流媒体服务器,这种方式的缺点是要搭建复杂的流媒体服务器. 不过,现在有了一种集合了以上两种方式优点的一种解决方案,即通过HTTP来实现伪流媒体.

WebView中的视频播放

- - 移动开发 - ITeye博客
activity_main.xml如下:. private String videoUrl = "视频地址.mp4";. private String imgUrl = "视频封面图片地址.png";. private String html = "视频如下:
视频直播方案(nginx-rtmp-module ffmpeg) - Andrew's BlogAndrew's Blog - -
视频直播方案(nginx-rtmp-module ffmpeg). 本文将介绍如何从零搭建流媒体服务器作为直播方案. 一般视频录像板或者网络摄像头仅支持RTSP服务,或自己的私有协议. 因为RTSP是基于TCP的协议一般浏览器是无法支持创建Socket与其他服务相连前端无法播放. 私有协议仅能在IE浏览器下调用OCX插件播放视频,兼容性太差.

Android三种播放视频的方式

- - CSDN博客推荐文章
在Android中,我们有三种方式来实现视频的播放:. 指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型. 2、使用VideoView来播放. 在布局文件中使用VideoView结合MediaController来实现对其控制. 3、使用MediaPlayer类和SurfaceView来实现,这种方式很灵活.

HTML5视频播放器总结

- - mo-Android
目前HTML5的各种应用在如火如荼的进行着,大家都在不断的尝试,尽管目前还没有优秀的产品出现,但是目前各方面的应用产品在层出不穷. 而我一直关注的HTML5视频播放这一块,应该说在国外是很火的,很多公司或者个人都在这推出自己的HTML5 视频播放器,详细的说明大家看下面这张图片:. 以上HTML5视频播放器,我也是使用了其中的2-3个,感觉比较好的还是Video JS,对我们开发人员来说很方便,网站有详细的文档说明,以及扩展说明等,播放器制作的很不错,很具有商业价值,下面给大家看一个我们使用的样例:.

Android 4.4中播放HTML视频的Bug

- - 爱谷地
近期Nexus 4手机自动升级到Android4.4,本来挺好的一件事儿,结果发现自己的应用中出现一个Bug,应用中使用了Webview播放HTML5视频,代码如下:. 在4.3版本之前播放正常,新版本中播放时只能听到声音,而画面停留在最初的画面,也就是poster属性中的图片,但不会显示视频动画,只有点击暂停按钮,然后再次点击播放按钮时,视频动画才会显示正常.

开源的Android视频播放器

- - CSDN博客推荐文章
之前尝试自己解码视频,然后播放显示,虽然音视频都可以播放,但是实现不了音视频的同步,所以使用第三方的视频库Vitamio来实现视频播放器功能,这样自己只需要实现播放解码的制作不不要关心底层解码和显示问题. 是使用Vitamio 4.0,制作的视频播放器,后续会继续添加直播,网络播放功能. 2.使用ListView显示本地视频的缩略图,文件名称,播放时间.

PyQt+OpenCV 录制保存、播放视频

- - 编程语言 - ITeye博客
准备这一两个月看看以前的书,另外学习下视频方面的东西(CV方面). 之前学过几天QT/PyQt,于是用PyQt结合OpenCV,做了一个小程序. 具有播放并保存摄像头捕获组成的视频,以及播放本地视频文件两个小功能. 界面很简单,没图没真相. 代码就100多行,很容易看懂. 最后感叹下OpenCV和python的强大,噢,还有QT/PyQt.

【Android】播放视频的简易播放器源码

- - CSDN博客推荐文章
一,MainActivity.java源码. if(!checkSDCard()) //如果没有SD卡. mSurfaceView01 = (SurfaceView) findViewById(R.id.mSurfaceView1); //显示动画用的容器. 三,源码中所需其余图片等 ,自备就可以.