|
|
本帖最后由 tufei 于 2017-3-13 13:37 编辑
6 `# s) f8 N# l' p$ X5 u! g6 d' ^& m, P9 v1 [3 t5 X9 K& i
经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。4 f4 p# w; W5 L
视频服务器的上传打算采用这2种方式:+ _: Q0 O7 A; i: r6 M& R1 P) r2 t
9 Z$ T: j( f6 f% a j3 @1 I
第一种方式:1. laravel+ffmepg+ngingx+videojs
1 E7 ]8 @- F1 V即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址
3 c- m! b5 R3 W& {0 k8 Q5 _3 k ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理9 d8 N9 L' N7 p0 b/ M' J
nginx作为web服务器
$ Y& ~+ P& p, ]1 W videojs作为H5播放器
6 l- U% j$ A/ y2 f: ?6 }, [; U
- _3 c: F6 f0 ]% r7 o 参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
, b/ y7 x6 b+ K4 x0 M6 O+ B! L! E
" h$ W5 [$ N: }3 n, D第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)
: H9 a$ g3 H% w4 Z0 R; H* ^9 ] H9 }1 u) Z* L/ x$ D" a
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。 P2 q) Q! d P
% y: J/ c9 {7 c- L8 x7 e
问题1.7 E0 H: v0 j5 x0 a6 R# V! y
第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。
3 g, N; D) n9 H' p第二种方式支持,rtmp,和hls的协议以及直播的方式。6 A. r4 ~9 ^# y- ?& v. s$ U
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
8 L; H0 R# I% Q如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?
( d& D ~$ E% Z. Z7 E- ?( q9 [( B" A) E7 a6 j! N7 c5 R) Q: ]" o0 F: J
问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)8 v! f# c9 q' |/ i( u: v8 L) K
2 U' Z" s3 {& D" R- V) X, I3 m
问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
3 [3 T8 ]+ l# W3 A- l; g) }最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。
/ i! R1 B/ P' \& R" P ~7 {
8 L7 s0 c; `8 z/ |# L# E1 l |
评分
-
查看全部评分
|