|
|
本帖最后由 tufei 于 2017-3-13 13:37 编辑
# I$ p( t0 r! P2 w$ g. {* p
" O: y1 ]3 R/ O5 Z k' m1 O经过这2天的了解学习,对视频流播放有了大概的了解。但因为第一次搞这块。还是想各位前辈给点经验指导。
5 b9 Y& `0 j* C+ J视频服务器的上传打算采用这2种方式:
$ |. d3 j. [! E% L3 s, E
. f, p, {) I( M: I7 z: { j第一种方式:1. laravel+ffmepg+ngingx+videojs: l" F) K+ a3 ?+ D6 g9 I
即: laravel开发上传接口,提供上传rest api,以及上传认证功能,返回视频上传后的地址" c' @2 a9 P% [! ?
ffmepg作为上传过程中对视频转码,以及切片的功能,不做推流处理
9 q) q! y9 @( }- p nginx作为web服务器
8 @( D+ `& | l7 v0 c* m videojs作为H5播放器
, x! _$ ?5 u0 @3 q$ J. @ ! S- x# X, K& {
参考播放页面:http://www.advertstudy.com/movie/movie.html (nginx+videojs) 2 X- @9 K5 G8 r: P
1 W, N5 {; |$ B* W
第二种方式. laravel+ffmepg+nginx+videojs + 新增(nginx+rtmp moudle)+(配置nginx支持hls 方式播放)
! {& f- M5 e9 y% V, u1 h% _) _# k6 ?. U" Q
第二种方式主要增加了对rtmp协议 和hls的支持,支持直播方式,用ffmepg 推流,可以对点播的视频,进行ts后缀 小文件的推流处理。$ n# F @' S. I' f) W
+ x/ _0 r3 ]. }: S
问题1.$ S6 a9 t+ x6 s; u# e+ M3 f
第一种方式播放,其实就是直接对视频的点播。指定视频地址,以及缩略图地址。 m- o2 C& ]$ f" x
第二种方式支持,rtmp,和hls的协议以及直播的方式。
$ N) }, t3 g. ~7 ]. D# }这种方式可以对视频可以进行一个10秒钟的一个小文件的保存。以及m3u8的文件格式的播放,(本质应该是用 ffmepg推流,然后客户端用相应的协议去接流比如用rtmp,http协议)
" |* O+ ^1 k3 k1 P( t& P如果我只是对MP4格式的视频做点播。有必要弄hls支持吗?不同大小的视频文件比如50MB 跟500MB 有性能差异?. ]6 `) g" R" u+ `
+ s* T# H) L3 N& T5 u
问题2:如果我所有的文件都是mp4格式的话。有必要用第二种方式吗?第二种方式比第一种有什么优点?(因为MP4格式对所有浏览器,IE9以上,和现代手机都是可以播放的)
# D- I% c8 ~$ u5 ~$ s' V, k2 D2 A, d ]0 T( f1 E, y
问题3:如果视频文件很多,比如1个TB的量的话。播放会产生大量的流量 那么用什么服务器比较好(50刀-500刀每个月都可以考虑)。最好是不限流量的服务器,求推荐!
# j' k2 T! p U0 |3 N9 G9 a最后感谢上一贴 @河小马 和 @wo2363960626 ,@akzovk 的一些解惑 。诚邀这贴进行一些建议。也希望其他前辈不吝赐教。3 V; y' b2 X/ L) v" c$ |
$ M) C& c8 y( R+ U8 T9 ^
|
评分
-
查看全部评分
|