|
本帖最后由 tufei 于 2017-3-13 13:37 编辑 9 b Y; j" _5 t0 J( Z/ K0 S
( H$ E# O% i. ]; x9 G( L: c经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
5 V$ `# \2 A* V% ^3 L7 O& G视频服务器的上传打算采用这2种方式:3 u: ~0 n$ f3 A6 A
9 P# G2 r+ w- x( t7 r |% N
第一种方式:1. laravel+ffmepg+ngingx+videojs
2 V% x) }# i. k: G% L4 b7 a( w6 C即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址( S) b' Q" z8 d) I- X
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理$ ?7 c! P- M4 B \
nginx作为web服务器
/ q$ _9 Q% v- F- W videojs作为H5播放器6 z! o- j T, }0 W
7 q- [, T# c' n# Y$ c
参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs) ! i8 e+ I& `6 H% T, _2 j, m$ \
) P/ v" |2 \; z
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放). |) z5 S3 S" \0 j
: e. N: V# o% z) k$ N, {
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。- w# B; _* c3 M7 I6 f3 i
4 K z# k- m+ N7 a; y" O; S- ~) c问题1.$ o& ~- K# x# F% \; _( M: x) M
第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。
2 K' B# a/ L2 u第二种方式支持,rtmp,和hls的协议以及直播的方式。7 B8 V& i1 [. T! T- w) e1 H
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
$ D9 s7 V& A; G% l& V7 m p如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?9 u1 a0 J& c& Q8 E. L% V5 L. c
, E2 ] Z1 k/ _. _, d问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)
3 ]% a: |. O' }: f- D. V: h8 ]( k1 j' a$ ~+ ]9 Q, K
问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
( X$ q, U p: j& S% i8 Z4 r! |最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。
9 h6 b2 S1 z% C- U2 n4 C4 c: [, u! ]- }5 Z
|
评分
-
查看全部评分
|