|
本帖最后由 tufei 于 2017-3-13 13:37 编辑 0 @. m- @! n- a% d1 ]0 m2 x
4 f8 O6 O0 A5 B0 x4 k# }. Y7 P经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
5 c- W/ Q- l5 Q4 ]8 B4 R. N视频服务器的上传打算采用这2种方式:/ W3 a1 y6 e* @0 M" ?
4 ?; S4 J" J7 r S7 T
第一种方式:1. laravel+ffmepg+ngingx+videojs. ?/ X" W4 k* W+ h' T
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址
6 S( m- G P+ `% Y3 A2 D ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理 {4 X# `# u6 |7 v" _
nginx作为web服务器. ?* X* ?0 @# o3 ~: y- o
videojs作为H5播放器2 u2 X' s7 {3 j3 P4 N
b' V3 R+ t% b( V" f/ ^
参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs) 2 d; @* v8 P; }+ b+ r3 M
+ P7 y- e b' d+ g7 R9 K
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)$ l2 L' I. i; U2 ~$ a& u( o" L
; j' s0 c U) p第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。" ^" ?# Z8 V* T9 W: p, }0 M _
L2 T1 Y& @3 l) C1 Y
问题1.
6 n/ s& [2 ^" X0 T5 w7 X9 g第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。
' d% L( f! ^5 X6 z6 r第二种方式支持,rtmp,和hls的协议以及直播的方式。
; I/ R D" A6 ~这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
/ L1 R0 h5 ~; c% H* [' \$ H如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?
% K, p6 r* ]# |( ^( M" c. f1 M' _' K3 a
问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)
& C- w+ n6 L/ f4 t2 m
3 _* M9 X% v% o# t! y4 H问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
; O4 M; V$ E+ P1 f. `. A最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。* O: F- v3 V3 p* I0 R
# W+ q* O$ V- ]$ k, u2 P
|
评分
-
查看全部评分
|