|
本帖最后由 tufei 于 2017-3-13 13:37 编辑
% ~2 C# [# c' _0 G2 l+ V: ]9 n; n) }5 [
经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。 x2 `% o' w1 q& i. Y4 M
视频服务器的上传打算采用这2种方式:! d. `/ |# ~. x5 c* k$ f& \
/ G8 R7 C* t/ j3 A) F第一种方式:1. laravel+ffmepg+ngingx+videojs( t' x+ M$ E& i0 }* \1 e
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址; D2 ~* d+ `: K* j
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理
+ n5 l0 N* `% N# u2 Y$ h nginx作为web服务器
* F3 y2 m& e! K$ q4 I) K videojs作为H5播放器 y5 c( p$ s+ j: ?- C, e9 Q
- j0 y2 t+ W2 x# u 参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
' M9 _8 ?5 z+ c+ t5 E5 i. C9 m4 I1 O! Q" g: I" ^
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放); _( S( N. H1 h
8 M0 ?/ B7 b3 `5 X0 Y8 B第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。* ` R5 }, f% F# y
3 n2 b, b$ x) w+ h% {- Y+ ~
问题1.% J' Z+ x( d0 \1 i* L% H6 E
第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。0 A) K0 F, g4 |( {' k6 k" c
第二种方式支持,rtmp,和hls的协议以及直播的方式。 Y; `* d9 Q* ^ q8 k) I
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)6 n# C! l& |) T5 g
如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?5 Z# y0 B( `" x" S; I6 z1 ?1 O1 [
. t, c3 S. @: m' u5 Y; }- u
问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的); w5 @' c6 a6 p) s
' K' w2 O' i1 l5 ?
问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
) k3 K, p. ^; y" f最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。9 I3 r" t1 U& E- u0 K! F" q
& C/ ]& D8 c; P- D8 s0 i$ Q2 T$ r
|
评分
-
查看全部评分
|