nginx 播放视频(2)

本文介绍使用FFmpeg将FLV格式视频转码为HLS格式的过程,并展示了具体的执行命令及转码结果。该案例涉及视频编码格式从FLV到H264的转换,音频编码从MP3到AAC的转换,以及最终生成的M3U8播放列表文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1

cd /usr/local/nginx/html/broadcast3

 

2,

ffmpeg -i 20150428101917_31520150408监利新闻(三).flv -c:v libx264 -c:a aac -strict -2 -f hls test22.m3u8

执行结果:

Sh代码  收藏代码
  1. ffmpeg version N-72743-g130a6c0 Copyright (c) 2000-2015 the FFmpeg developers  
  2.   built with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9)  
  3.   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  
  4.   libavutil      5427.100 / 5427.100  
  5.   libavcodec     5641.100 / 5641.100  
  6.   libavformat    5636.100 / 5636.100  
  7.   libavdevice    56.  4.100 / 56.  4.100  
  8.   libavfilter     516.101 /  516.101  
  9.   libswscale      3.  1.101 /  3.  1.101  
  10.   libswresample   1.  2.100 /  1.  2.100  
  11.   libpostproc    53.  3.100 / 53.  3.100  
  12. Input #0, flv, from '20150428101917_31520150408监利新闻(三).flv':  
  13.   Metadata:  
  14.     encoder         : Lavf53.6.0  
  15.   Duration: 00:23:02.61, start: 0.000000, bitrate: 453 kb/s  
  16.     Stream #0:0: Video: flv1, yuv420p, 320x240, 800 kb/s, 18 fps, 18 tbr, 1k tbn, 1k tbc  
  17.     Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 58 kb/s  
  18. [libx264 @ 0xfa8680] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2  
  19. [libx264 @ 0xfa8680] profile High, level 1.2  
  20. Output #0, hls, to 'test22.m3u8':  
  21.   Metadata:  
  22.     encoder         : Lavf56.36.100  
  23.     Stream #0:0: Video: h264 (libx264), yuv420p, 320x240, q=-1--118 fps, 90k tbn, 18 tbc  
  24.     Metadata:  
  25.       encoder         : Lavc56.41.100 libx264  
  26.     Stream #0:1: Audio: aac, 22050 Hz, stereo, fltp, 128 kb/s  
  27.     Metadata:  
  28.       encoder         : Lavc56.41.100 aac  
  29. Stream mapping:  
  30.   Stream #0:0 -> #0:0 (flv1 (flv) -> h264 (libx264))  
  31.   Stream #0:1 -> #0:1 (mp3 (native) -> aac (native))  
  32. Press [q] to stop, [?] for help  
  33. frame=24886 fps=131 q=27.0 Lsize=N/A time=00:23:02.60 bitrate=N/A      
  34. video:40726kB audio:21245kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown  
  35. [libx264 @ 0xfa8680] frame I:180   Avg QP:18.64  size: 13909  
  36. [libx264 @ 0xfa8680] frame P:18092 Avg QP:23.20  size:  2073  
  37. [libx264 @ 0xfa8680] frame B:6614  Avg QP:26.06  size:   257  
  38. [libx264 @ 0xfa8680] consecutive B-frames: 60.210.6%  7.821.4%  
  39. [libx264 @ 0xfa8680] mb I  I16..413.866.220.0%  
  40. [libx264 @ 0xfa8680] mb P  I16..4:  0.6%  1.9%  0.3%  P16..425.314.212.6%  0.0%  0.0%    skip:45.1%  
  41. [libx264 @ 0xfa8680] mb B  I16..4:  0.1%  0.3%  0.0%  B16..821.6%  2.9%  0.9%  direct: 1.0%  skip:73.3%  L0:41.6% L1:45.6% BI:12.8%  
  42. [libx264 @ 0xfa8680] 8x8 transform intra:67.8% inter:67.4%  
  43. [libx264 @ 0xfa8680] coded y,uvDC,uvAC intra: 69.673.834.0% inter: 20.413.72.9%  
  44. [libx264 @ 0xfa8680] i16 v,h,dc,p: 136912%  6%  
  45. [libx264 @ 0xfa8680] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 162828%  4%  4%  4%  6%  4%  7%  
  46. [libx264 @ 0xfa8680] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 203113%  5%  6%  6%  7%  5%  7%  
  47. [libx264 @ 0xfa8680] i8c dc,h,v,p: 433418%  5%  
  48. [libx264 @ 0xfa8680] Weighted P-Frames: Y:0.9% UV:0.5%  
  49. [libx264 @ 0xfa8680] ref P L0: 73.515.3%  7.8%  3.4%  0.0%  
  50. [libx264 @ 0xfa8680] ref B L0: 86.611.0%  2.4%  
  51. [libx264 @ 0xfa8680] ref B L1: 94.9%  5.1%  
  52. [libx264 @ 0xfa8680] kb/s:241.31  

 

但是m3u8 文件中的切片不全

vim test22.m3u8

 

Sh代码  收藏代码
  1. #EXTM3U  
  2. #EXT-X-VERSION:3  
  3. #EXT-X-TARGETDURATION:11  
  4. #EXT-X-MEDIA-SEQUENCE:168  
  5. #EXTINF:3.111111,  
  6. test22168.ts  
  7. #EXTINF:3.666667,  
  8. test22169.ts  
  9. #EXTINF:10.111111,  
  10. test22170.ts  
  11. #EXTINF:10.000000,  
  12. test22171.ts  
  13. #EXTINF:4.888889,  
  14. test22172.ts  
  15. #EXT-X-ENDLIST  
Ssh代码  收藏代码
  1.    

 

参考:

http://www.cnblogs.com/littlehb/p/3914437.html

http://hdu104.com/294

http://blog.youkuaiyun.com/liuhongxiangm/article/details/18666993

http://blog.youkuaiyun.com/cdnight/article/details/39156711

要在 Nginx 上设置视频播放,你需要进行以下步骤: 1. 确保已经安装并正确配置了 Nginx。可以通过在终端中运行 `nginx -v` 命令来检查 Nginx 是否已安装,并且可以通过编辑 `/etc/nginx/nginx.conf` 文件来配置 Nginx2. 将视频文件放置在 Nginx 服务器的根目录或其他指定的目录下。你可以使用 `root` 指令在 Nginx 配置文件中指定根目录。例如: ``` server { ... root /path/to/videos; ... } ``` 在这个例子中,视频文件应该放在 `/path/to/videos` 目录下。 3. 配置 MIME 类型,以便 Nginx 可以正确识别视频文件的类型。在 Nginx 配置文件中,可以使用 `types` 指令来进行配置。例如: ``` http { ... types { video/mp4 mp4; video/webm webm; video/ogg ogv; ... } ... } ``` 在这个例子中,我们为常见的视频格式(MP4、WebM、Ogg)指定了相应的 MIME 类型。 4. 配置 Nginx 以处理视频文件的请求。在 Nginx 配置文件中,可以使用 `location` 指令来配置对视频文件的请求处理。例如: ``` server { ... location /videos/ { autoindex on; } ... } ``` 在这个例子中,我们配置了 `/videos/` 路径下的请求,并启用了自动索引,这样当访问该路径时,Nginx 将显示该目录下的视频文件列表。 5. 保存并退出 Nginx 配置文件后,重新加载 Nginx 配置,可以使用以下命令: ``` sudo nginx -s reload ``` 这将重新加载配置文件,使设置生效。 现在,你可以通过浏览器访问 Nginx 服务器,尝试播放视频文件。例如,如果你的视频文件名为 `video.mp4`,则可以通过在浏览器中输入 `http://yourdomain.com/videos/video.mp4` 来访问该视频文件。 请注意,这只是一个基本的设置示例,你可能还需要根据自己的需求进行额外的配置和优化,如添加安全性措施、启用缓存等。另外,确保视频文件的格式和编码是广泛支持的,并且浏览器也支持这些格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值