|
本帖最后由 tufei 于 2017-3-13 13:37 编辑
j' Q$ {# P8 F5 s, {
& S% @ C* ^$ l9 [" ?经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。, g1 a' C" Q4 T, h5 y: g+ [
视频服务器的上传打算采用这2种方式:- c `$ A" K. }3 ^2 t ]
: Y- s0 M! ?+ [: F4 `( U9 T0 e2 ~第一种方式:1. laravel+ffmepg+ngingx+videojs) F$ s8 t3 D0 Q: z( N6 T: b4 u
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址+ E6 T$ H1 u: b* t7 V# x" H- E
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理
* }) n" A5 h. g7 T6 |! T nginx作为web服务器
. C e9 B5 u" g4 B$ Z. Y p! } videojs作为H5播放器
5 W) J3 ?: `6 n% u g! M7 w
' k! S9 h" }$ h 参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs) , ^+ r7 e6 Y+ K3 |* M) f3 Z
. J4 y" y0 e* T2 c4 s
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)
+ I3 _& X( U3 v, j
! q' o! ?& L5 a. N3 A9 u第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。9 e8 g+ Z- _, j; h! k$ q* ]
8 H3 I2 u8 I6 o* c. F问题1.
" a* E2 f% K6 Z+ N3 ]: p第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。8 ]: G1 v6 T: `' P0 G1 s
第二种方式支持,rtmp,和hls的协议以及直播的方式。: d& e9 h _! ]
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
) J" L( I6 a4 M" B- J如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?+ b& j4 h8 S6 f1 F! n
$ q+ P* z" [ j4 R% P% |问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)
2 ]; Y5 M# h! O# T2 ~; ^; |2 X: f; B6 X+ a% o$ H+ h
问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
: O7 k$ {9 b9 n最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。
6 y8 t& k, }$ |! o1 ?9 C1 V) u7 v/ d# u3 O+ Q- K4 r
|
评分
-
查看全部评分
|