天天看點

nginx 播放視訊(1)

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 libx26420150428101917_31520150408監利新聞(三).ts

nginx 播放視訊(1)

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':  

    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:切片的名字的字首

nginx 播放視訊(1)

     -u url位址:m3u8中播放清單的位址字首

nginx 播放視訊(1)

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.  

ignoring attempt to set invalid timebase 1/0 for st:1  

4,打開vp5.m3u8 确認裡面的切片路徑是否正确

一定要確定切片(ts檔案)的url是有效的

nginx 播放視訊(1)

5,指令清單

cd broadcast2/

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

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

 vim vp5.m3u8 

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

繼續閱讀