|
|
本帖最后由 tufei 于 2017-3-13 13:37 编辑 , c- d( F( |1 y' i1 Y
8 j) F |9 m7 W5 C经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
9 [. A. }! K$ ]3 \# t: h视频服务器的上传打算采用这2种方式:, b* G: @7 }0 k( x# |5 B: r8 x
% u+ r. Y1 U& @- e+ m$ m第一种方式:1. laravel+ffmepg+ngingx+videojs5 R* r9 m% |. G0 u" k
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址/ K- Q ^2 A+ f$ A
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理
$ L+ N! P. ?# _& D& z3 \2 x nginx作为web服务器! {7 I7 x+ s0 j: M" O7 o& Y+ b
videojs作为H5播放器
; J K1 d. s5 v. h " i8 e3 D. T( m7 B# x; l
参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
% J. L) d- D+ R5 |6 }, G R& Z, u; g" }+ \# G3 Y$ Z
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)
+ L, [1 `; C4 x0 I+ h9 K' n$ l1 s
; S" x Z( R* ?; r7 i- o第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。
) A2 }/ o, p+ s9 `
+ f; K: l3 W7 R% A. W: z问题1.& N6 a5 N& W2 |, }# v1 z( y! {
第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。
" y5 i& Z0 `, }8 e) G) o第二种方式支持,rtmp,和hls的协议以及直播的方式。
/ o4 e$ H; K7 W% W这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
0 D8 @4 o6 N6 p' t如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?% ~( v5 |3 \; D$ I' t/ V( m
7 }1 ?& o0 Z5 ] F8 T3 w问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)* w; u/ |5 B8 R" U5 O2 ^, P/ u
1 [* z+ L% k4 L2 D+ f0 r7 U2 ]问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
' O9 ~+ X' |& S/ [. n6 ]最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。. O. e7 q/ l/ G! L. |
8 r* L' G! s* h8 L* {; O6 t |
评分
-
查看全部评分
|