|
|
本帖最后由 tufei 于 2017-3-13 13:37 编辑 & p( _5 ~( m! s. e0 j
! G+ ?9 B, f9 E/ s经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
3 e6 t$ c- m7 V X5 x( a9 d视频服务器的上传打算采用这2种方式:( z, o$ e1 U' B* Y9 z) I- J' b6 G
8 o$ z7 o' n4 v8 d* S
第一种方式:1. laravel+ffmepg+ngingx+videojs* P0 t* |* X/ G# H {' @
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址2 b6 o3 G# i" X3 }
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理
. [7 E$ c0 ~- Y+ U nginx作为web服务器
1 Q, R: n2 J, T( |" R: g videojs作为H5播放器( ~$ a3 @% x/ a: J/ ^3 D4 A, i
6 z* M% l9 d6 i, h) ]: G5 o 参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs) * t# k8 D; @8 L x! E
0 J8 j6 m- F% B/ K0 f" A
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)
3 M2 }5 o2 J6 ]* x8 q$ |" m. s4 x* X# J" H
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。
, D7 f* n$ W/ [& A$ V, o8 [9 Q* @: Q) Y2 A
问题1., M1 `. s2 Q6 m( |
第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。! ~. N( R' c; t. Y! ^
第二种方式支持,rtmp,和hls的协议以及直播的方式。8 M A; F" i4 J; {7 d) E- S! C+ o: }
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
; a- x& H2 r) B如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?
+ O. l$ {' _( \9 J, O" x6 i
1 f6 J0 P8 a0 M9 t问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)
8 K+ N: f: L# n0 U( T/ H+ l/ T
# w5 u: Q) r7 V" O4 v问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
' j: o, R' ]7 n4 J ^9 E% S最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。
4 z* l- s' y( p) e' Q! F$ `
6 j* O( d- H9 g) Y9 H" a |
评分
-
查看全部评分
|