|
本帖最后由 tufei 于 2017-3-13 13:37 编辑
6 v4 l; f) g" e1 N& |. F T# v! s0 X0 X) }; w
经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
* y% q$ V: c; y! I2 }6 {视频服务器的上传打算采用这2种方式:
G, p s2 U5 l' B
/ T6 W6 D. R. {9 R/ P. p第一种方式:1. laravel+ffmepg+ngingx+videojs
* }! W; G) \4 Y; p4 |) v即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址
9 o) K% n/ R W+ |, ?1 |* s ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理) u: _. Q" h% V( u5 c5 w7 t
nginx作为web服务器
0 b+ r4 G7 q8 C7 U" a; X videojs作为H5播放器1 z2 r3 X+ z5 J' Q; A8 M% O/ j
n2 C' q- ]7 C' ]" g 参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
" F5 r) Z$ g1 ?" V: s5 g
5 _7 s# I" W9 u) v2 s2 c* n第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)
V `7 b& J+ ?7 q4 r1 D+ p9 U7 S4 |7 f7 ?
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。
% M" A; O5 X* G( e# O% z1 ^- K# [3 `2 e
问题1.; p; I3 E/ x7 a
第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。7 B6 C2 y% h' W. {
第二种方式支持,rtmp,和hls的协议以及直播的方式。/ g) Y! _0 m8 {: d5 O
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
+ p9 _8 G2 t R9 v' q+ n9 p" l# J如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?
4 U) {( B' Y2 E! ]0 i2 _2 D) i5 z! e) q
问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)3 Y) X$ \3 C" Y. d) |
/ N5 ?' S1 j K: A问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
' G! Z- I9 D4 T8 p3 A s最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。( z) x0 k% T0 {. T9 e$ ^
0 J& j; ]5 O7 r6 q) n0 S5 Z9 U) U |
评分
-
查看全部评分
|