|
本帖最后由 tufei 于 2017-3-13 13:37 编辑 + y" p/ y \. `, O, l
$ o' Y6 d! B% {- V" ?- _* f经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
4 g3 t+ C: O1 c I. `4 _8 ^视频服务器的上传打算采用这2种方式:1 s$ g7 n6 O' ]4 p3 ~- z/ ~+ k* {
8 R. ?2 v8 P* K4 X" ~第一种方式:1. laravel+ffmepg+ngingx+videojs2 o2 Y. `1 A6 E, i
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址
+ H# _9 l0 ?) V, K/ { ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理
. r( c; G& a1 z$ x nginx作为web服务器
% J5 f, d! z! ~ videojs作为H5播放器
7 H0 C* E {+ ^4 @ , a( a# Q# K% ?9 F" N& w/ m" ]# P
参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs)
# W4 A8 F+ ~! @, D9 M7 V+ [+ C7 `
. o0 e& K/ E& ]第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)- B; e9 G/ ]: i: M0 C; h0 ^
% f$ l# m# w$ P0 l
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。
4 ?8 O/ @, |# @" H9 U& u3 T7 w) R4 S; E: J" O/ G
问题1.
* i4 k( s) i% U第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。
# K% B3 p; T8 t6 o+ w7 _# F8 I3 }第二种方式支持,rtmp,和hls的协议以及直播的方式。5 T5 j$ L5 s2 p
这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)/ w1 B) z8 B) F2 w! o P+ i
如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?: P) H# R: ]9 `1 |& B, r
- u4 c8 ^& Q2 a& @! k7 ^+ ~问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)9 P6 w" i* J, Y2 V `$ H- O
/ `: a" f; V! `1 C0 s问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!( V; R2 Z; ]- c$ E
最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。' r5 P) o9 S; X9 B5 x0 _
" J4 s. E( V y# y% {5 `9 u6 ~7 W/ g: U
|
评分
-
查看全部评分
|