|
本帖最后由 tufei 于 2017-3-13 13:37 编辑
+ A4 Z" K+ M4 E+ o9 y8 Y; R
0 U# d2 u6 P. _! i0 l, p& T8 l经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
4 a. e) ^$ @ Z9 I! ]视频服务器的上传打算采用这2种方式:
1 Z. K. V2 k9 Z* H2 W4 B. a% e* c s( I* P8 D$ t e& \
第一种方式:1. laravel+ffmepg+ngingx+videojs
/ q6 V( ^* j) ~! @: p: W1 j8 D即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址7 p @1 d+ J$ j3 c
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理1 B) U- n+ h' c8 A+ e
nginx作为web服务器2 L) d% L3 D* R. n* s D" U: P
videojs作为H5播放器
5 k. Z2 h) y& [, w
. |0 _1 a. s' z6 M4 l 参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs) ( B. e1 R5 G+ Y$ V, c
" ^! b8 G& }* V
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)1 o4 ~6 p. c2 g9 O
$ E' `! {! E) v4 A2 [) ^6 I6 T- h
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。- A$ h* r- U4 E4 y! W" B" }
9 }$ r+ v- X7 v6 i9 a
问题1.
: V/ _9 N2 Z, a% e, J2 ^! ?& n第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。5 Y6 c+ L9 }/ Q n1 w# J
第二种方式支持,rtmp,和hls的协议以及直播的方式。
! u r1 Y6 @0 S- m, w7 j( k这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)3 p$ a9 v" A4 T$ {# X3 }# ?8 b
如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?
: |+ U+ ?7 U3 |9 J; ?& j8 F' @6 v# P5 |4 |
问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)5 I' {" c; c+ E& L$ E
( j2 L& {4 H4 h问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
, a8 W0 E( U8 f) }" @- w最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。& f( S8 b6 B Z. \
; N' p7 H$ }7 c' ^& _
|
评分
-
查看全部评分
|