|
本帖最后由 tufei 于 2017-3-13 13:37 编辑
# }: H; d8 |$ B, d" A& S8 o) k8 a; ?) d6 f p; h3 |" n, c: ?
经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
! t: D: |, u B( L视频服务器的上传打算采用这2种方式:) y5 `- `* w& z
3 F) D9 r M1 y8 o3 h; T1 v
第一种方式:1. laravel+ffmepg+ngingx+videojs
" W- Z; q! ^- u+ t* c即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址
' I! J B; n# T ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理5 c( I* O; h. U( w* ~4 Y- N7 C
nginx作为web服务器, t" \2 f. h" L r- H$ B& E7 ?
videojs作为H5播放器
) H3 [9 l0 U6 {. }% x* ` ! h5 I I n; C; E. X
参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
' e5 e$ `) a+ r! l- w( E/ m J. s4 z$ X. g8 M
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)6 U R6 @$ c1 |" c: ^2 J4 O6 ^
0 I; n8 }/ @ @! b
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。( c3 o# O+ k+ S# B) b
$ a& U9 O. e3 v5 v( q4 i" G
问题1.
) E: e- h' `; U; _- B% `第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。7 L# x: a' t, Q. B
第二种方式支持,rtmp,和hls的协议以及直播的方式。) p+ ]( ], b' @( y: I" {2 h
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
4 T' ]# b1 A* X6 j' R3 T如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?; n2 ^9 B6 T6 Z7 v
. |' \ q& x7 G* ]问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)+ C5 g/ @" [; e' h% b" D$ P
9 O" }+ l0 O3 Z% R7 t% A' ^问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐! o2 o$ c3 |3 q$ F2 b6 ^
最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。0 R* K7 d/ u3 Y- E
3 l4 [% a* K' s
|
评分
-
查看全部评分
|