首页 > 其他 > 详细

其他----流媒体

时间:2019-12-04 15:23:13      阅读:82      评论:0      收藏:0      [点我收藏+]

视频播放方案

1、 播放器通过 http协议从http服务器上下载视频文件进行播放问题:必须等到视频下载完才可以播放,不支持快进到某个时间点进行播放

2、 播放器通过rtmp协议连接媒体服务器以实时流方式播放视频 使用rtmp协议需要架设媒体服务器,造价高,对于直播多采用此方案。

3、 播放器使用HLS协议连接http服务器(Nginx、Apache等)实现近实时流方式播放视频,HLS协议规定:基于Http协议,视频封装格式为ts,视频的编码格式为H264,音频编码格式为MP3、AAC或者AC3。

                                技术分享图片

 

FFmpeg的基本使用

下载:https://www.ffmpeg.org/download.html#build-windows(网页)

技术分享图片

 

 技术分享图片

使用ffmpeg转换文件格式

将.avi文件格式的视频转换成.mp4文件格式(可以将视频转成 mp4/mp3/gif)

?mpeg -i lucene.avi lucene.mp4 

 

使用ffmpeg生产m3u8/ts文件 

第一步:先将avi视频转成mp4

ffmpeg.exe ‐i  lucene.avi ‐c:v libx264 ‐s 1280x720 ‐pix_fmt yuv420p ‐b:a 63k ‐b:v 753k ‐r 18  .\lucene.mp4
  • -c:v 视频编码为x264 ,x264编码是H264的一种开源编码格式。
  • -s 设置分辨率
  • -pix_fmt yuv420p:设置像素采样方式,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0,它的作用是 根据采样方式来从码流中还原每个像素点的YUV(亮度信息与色彩信息)值。
  • -b 设置码率,-b:a和-b:v分别表示音频的码率和视频的码率,-b表示音频加视频的总码率。码率对一个视频质量有 很大的作用
  • -r:帧率,表示每秒更新图像画面的次数,通常大于24肉眼就没有连贯与停顿的感觉了

第二步:将mp4生成m3u8(先将视频转换成mp4,在生成m3u8,并切割ts文件,播放效果比直接avi生成m3u8好) 注意:要有 ‘’-‘’

ffmpeg  ‐i  lucene.mp4   ‐hls_time 10 ‐hls_list_size 0  ‐hls_segment_filename  ./hls/lucene_%05d.ts ./hls/lucene.m3u8
  • -hls_time 设置每片的长度,单位为秒
  • -hls_list_size n: 保存的分片的数量,设置为0表示保存所有分片
  • -hls_segment_?lename :每段文件的名称,%05d表示5位数字 生成的效果是:将lucene.mp4视频文件每10秒生成一个ts文件,最后生成一个m3u8文件,m3u8文件是ts的索引 文件。

第三步:需要使用支持HSL协议的播放器播放视频(可以直接播放m3u8这个文件)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

其他----流媒体

原文:https://www.cnblogs.com/yanxiaoge/p/11981995.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!