|
|
本帖最后由 tufei 于 2017-3-13 13:37 编辑
. E" T1 Y2 H5 b4 R# P2 `+ n$ a' b! K7 {. P2 a* F5 _; u9 I/ a
经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。; |5 ~4 ~/ j# C) u R
视频服务器的上传打算采用这2种方式:! v: j9 z9 L( k$ G5 ]$ T! H! x" Q8 A) f
1 r) F) p6 C$ ?# ^+ m8 u7 B第一种方式:1. laravel+ffmepg+ngingx+videojs$ D) ?' R, G2 B: N, w( J. [" h* b
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址0 q6 I+ m5 P! \
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理1 w3 x# a* ~+ @- o4 f* c
nginx作为web服务器9 o i) V" o! _
videojs作为H5播放器
! T+ \* S `# z# u3 Z* G9 W: T+ q
2 }8 c1 ]2 H# p 参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
, z) q# w# C. `+ c+ I
3 L3 s! o' {6 l" `; r第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)
1 G* S+ b. }! T3 L* f
; l4 N/ m4 S4 X" a第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。
; v- ~- m: h# \% Q; D' S
. M# V. g1 B6 Q+ t* ]* q问题1.
0 ?! V7 d* o) v) ?' ?) A7 W第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。3 G0 f7 a4 A+ I+ k: ?( [- E- n' T
第二种方式支持,rtmp,和hls的协议以及直播的方式。* X' ^ o, I# ]2 |4 B
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
+ }8 c# o9 w; Q) K9 Y9 D* W如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?. t, n" A3 d2 r/ B& c3 F
. y' b( o9 y" I
问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)7 ~( D, U, `- \. V: X" S1 \7 P- V
. ^. D, I4 P# [8 f* H- \6 Q+ m
问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!5 F$ L+ q8 T% ^" g( a4 ~) a
最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。
( W5 U/ Y2 v0 ~
q7 w3 N" C- E: `9 N; ~. [( R; a |
评分
-
查看全部评分
|