|
|
本帖最后由 tufei 于 2017-3-13 13:37 编辑 " `4 E( k- w: \/ U) k- e. G
' ?" U T; {; n7 ~) \ n# |2 Q
经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
* [! R# q) T/ B- r视频服务器的上传打算采用这2种方式:
; x% W- M& Y- d9 ~3 M0 F8 G% z7 |- i% P1 {/ n; V
第一种方式:1. laravel+ffmepg+ngingx+videojs
# q9 i% V. _/ @" z" x6 s3 [即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址" b: X% }; ^# r* a# e v* l
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理
1 [) J+ x* {' b9 _$ j nginx作为web服务器$ H9 S+ |9 U+ d2 }3 t% d8 B* ?
videojs作为H5播放器
% I6 N8 I& q9 Q Y5 w
# w0 ~: V- K8 L! i3 ~ q 参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
# r# K6 W+ C- a
/ j0 `7 _, I' @8 J& x第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)% U9 i& l1 B9 B% W5 w$ l
- ^& P3 Q& B! L" k' p! \- _3 x. O第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。" ^; {/ \) |4 W5 |! {6 k
$ W% a, c1 W! g9 x. z- _
问题1.; v+ ]( _" [# g( j* [
第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。+ B4 }' u$ F% p
第二种方式支持,rtmp,和hls的协议以及直播的方式。* I5 n7 U& m* ]5 z1 j
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
8 ~# S- m. z6 k& w' T如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?
: F1 a f2 ~0 D9 u
. ^7 `8 P1 ^/ X' l$ F& s( a问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)
$ o; B2 C V- v% _- `- Q) h! E
6 }, F/ F5 J4 U6 t% w2 F问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!, R" _# R: F$ p
最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。
/ ^$ p: `/ j6 z/ s" O$ a8 O, f8 {7 }3 @5 B5 ]7 q( B
|
评分
-
查看全部评分
|