|
|
本帖最后由 tufei 于 2017-3-13 13:37 编辑 % j0 ]% d! s* ?9 s
4 `: T& q3 ~ p' \经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。$ E! ?1 T1 p$ C8 z6 ~) X$ L9 n
视频服务器的上传打算采用这2种方式:
2 }1 W$ H% b/ w7 D3 H5 Z
" w0 |4 i8 E+ q第一种方式:1. laravel+ffmepg+ngingx+videojs& G- A) K o- R7 T4 @ e% {
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址- U! o" y7 v8 j
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理
0 N. Z' z9 h. \; u+ `* U nginx作为web服务器2 w8 \5 Z# d/ c/ X8 G
videojs作为H5播放器
# e; v; p; U; z0 a: Y 5 R# [4 M' r U( m0 w" h0 G1 {
参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs) 1 }" j2 Z6 V4 ^
2 t! y$ l: @5 h4 A
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放), s/ v0 i( C. p2 U3 ^/ ]
8 n5 x' g0 I9 N4 J
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。
* o- W5 ^7 p; C a9 {+ A. z4 ^, Q9 J$ v# r/ y& O6 [7 r. b0 t" F
问题1.
9 L& f1 \* w& a3 b' C第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。
+ c) ]3 x z& ?4 m7 X9 Z" f3 ?" j第二种方式支持,rtmp,和hls的协议以及直播的方式。3 K! L; m# R, Z* k
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议). l1 X7 S+ t: F; U
如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?
; _& B. B+ ]: [7 u6 e$ Z, f" }
5 F* C9 _0 e2 x- S问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)% l4 Z+ [/ v+ ^& ?7 N
# v4 c: t- l$ E6 f; Z, G- G! R! H
问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
1 {2 `9 P* V* l" w+ r. H最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。
4 ^8 w' R5 i; n
+ H( C% R+ a6 H0 f |
评分
-
查看全部评分
|