|
|
本帖最后由 tufei 于 2017-3-13 13:37 编辑
n) k/ f, P+ b' ^4 ]% j" J. {% j6 r" P( b" O) e1 h
经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。, Z0 z) @/ y8 z1 t
视频服务器的上传打算采用这2种方式:
N. U7 J6 P* n1 }2 ~8 h( s+ I/ H
第一种方式:1. laravel+ffmepg+ngingx+videojs
( h8 ~9 x$ `- X( y( I即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址
8 f- f* U. l) U# k ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理4 D$ X: y& o3 s- p1 z$ P
nginx作为web服务器! x v6 B: C" B
videojs作为H5播放器0 f. F8 i f/ J' o A9 ~, X) F
% g; u& _8 c7 W. ^: h) }) n
参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
. M/ b; c. R: Z9 N" s! B
3 N2 ~# h: p3 S" Z) E! M c) Q$ c8 j$ N第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)5 |: W1 q% ]: e
' F; n; r* r$ l+ U
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。5 |3 l, ?* i, B" C
- O* Z8 `* w( x
问题1.! u3 `5 M8 A" n* S2 a/ h1 [- H$ m4 u
第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。4 w: i8 b, [* W1 T/ c2 D
第二种方式支持,rtmp,和hls的协议以及直播的方式。0 w" w2 V) ?* L
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议) h1 M6 b& C6 F5 i( l
如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?+ h! t8 } V% L, h9 h" g# Z4 N
9 t: S4 f* ]0 z- T5 t
问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)
. w- ~; P6 ?3 m+ ]6 d) m
8 t6 W. R( s. N3 K' X5 h# t问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
/ r1 F; e9 W3 I最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。
' |4 q* @2 R8 U) K' S l% B' N" L$ c
5 g& H3 d) j# q0 t* H |
评分
-
查看全部评分
|