|
|
本帖最后由 tufei 于 2017-3-13 13:37 编辑 1 t8 p2 Q% E9 I: D
0 b! L. u4 h- K8 _8 {: Y经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
" p$ }& v" s) V+ C视频服务器的上传打算采用这2种方式:
6 d( }& D9 f3 D9 K+ j9 U2 M; P! ~8 w% ?& W5 F L
第一种方式:1. laravel+ffmepg+ngingx+videojs% V7 R& v5 o1 N$ V x, J/ c
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址 F8 T. i9 E9 e$ E( g% P! F
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理
2 |' f( z; m' d& [$ L. b nginx作为web服务器% T5 H5 U/ R9 t. E+ J* \7 ^+ d$ s
videojs作为H5播放器
" P2 J4 P* U3 ~6 w/ \ + C1 S7 A: l8 h0 ]( v. H
参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
& R5 g. c' E( C; L" v/ H/ n6 B) @" J; H' u# y9 i7 K% Q+ s
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)
4 U; q) G" _% ]/ n2 t" ~, K! }# C$ }4 `! c8 p/ H% ?! D
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。# i; N8 G4 m8 Q9 \* j9 V6 p
8 P, H& O, O8 n& _ w0 u1 U
问题1.
2 X8 t" a) l( I( e' l第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。
% I6 S3 s" u; T0 }第二种方式支持,rtmp,和hls的协议以及直播的方式。
! u- z$ k6 J0 l/ I2 {3 j这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)' b( o3 `. l# j
如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?8 y, L6 a. C. K6 N( ?5 ~
1 d: D+ h6 P- e: q- v问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)0 G; t3 }, N# f0 {% A* c
) ]; h( K1 P2 [! p问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
2 w: R. l3 L5 i0 H0 r( E最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。9 }9 a; G) J9 T" ]6 [6 z
, u4 X- K; x2 N* m9 j; e( K. T4 U
|
评分
-
查看全部评分
|