|
|
本帖最后由 tufei 于 2017-3-13 13:37 编辑
6 j2 w- C8 S+ v1 s( q2 @1 M$ s0 z8 h
经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
, B, G9 I9 U& v% a) Y) h ~' i0 [$ c5 _视频服务器的上传打算采用这2种方式:
8 s1 g" G+ b' }# o% v x6 ~& \: s, b
第一种方式:1. laravel+ffmepg+ngingx+videojs5 j9 E8 F- N2 o$ a0 C+ O0 Y j# Q
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址
& n; A" J- x' N$ A# d) {) b ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理: z" R& z9 l& C) V
nginx作为web服务器& D! @$ \0 C+ i+ w
videojs作为H5播放器" n4 V* Y e0 M+ R
$ C5 N! I$ U4 M( {1 H. i
参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
$ a' s; z9 S& ^) z% _, E" S! G; v% ?8 b8 H& v
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)
3 P$ x; z) s2 v" B1 T9 {
7 m6 n- M. v/ F& |. e第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。! f1 e4 f) j+ K! s
! r, F+ U/ h' s问题1.; Y5 }/ c0 ~! n) P4 J" ^
第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。" T, w# f' X/ R3 q5 }2 Z
第二种方式支持,rtmp,和hls的协议以及直播的方式。
* V5 e3 Y( O% j这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)) q! m3 D$ b* W3 `& W2 G* `5 v' T
如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?. v/ t+ _+ u d
/ v" \0 F9 v) q
问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)
" Y6 C$ f2 }% v: L) C
7 c5 k/ Q7 I( L, C问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
3 }$ k7 z S, |) m9 @最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。" `8 _+ I+ K4 g9 R/ I6 p. h
3 ~" `* [9 w* U- c |
评分
-
查看全部评分
|