FLV视频上传处理的原理和步骤

来源:互联网 发布:包邮控软件 编辑:程序博客网 时间:2024/05/19 10:35

FLV视频上传处理的原理和步骤

现在视频分享网站如雨后春笋般,尽管不清楚它们的未来,但至少现在很火。
这些视频分享网站无一例外的采用了flv格式来共享视频,根本原因就是flash player的终端占有率。

对于这些视频分享网站,其技术实现是如何呢?
基本流程都应该是这样的:
1. 用户上传视频
上传视频可以实现的方式很多,现在也有利用flash的FileReference,用这个的好处是上传进度可以实时显示,并且可以多线程(这里说的多线程不是单个文件的多线程,而是多个文件同时上传,但每一个上传进程都是单独的http请求)。
2. 在服务端转换上传的视频格式为flv
上传完成后,在服务端需要做文件格式转换,因为客户上传的视频是各种格式的,都需要转换为flv。
利用ffmpeg这个开源免费的库可以完成这个步骤,如 ffmpeg -i [customer.mpeg] -acodec mp3 -ar 22050 -ab 32 -f flv -s 320×240 [result.flv]
转换后的flv还不能直接用,如果不加入合适的metadata,flv在播放的时候将不能拖动。
3. 利用工具给flv文件注入metadata
利用flvtool2这个开源免费的库可以完成这个步骤,如 flvtool2 -U [result.flv]
这样,包含duration,frames等信息的metadata将被注入到flv中
4. 对视频中某一帧做截屏来生成缩略图
利用ffmpeg可以完成这个需求,它可以从视频中取出某一帧来保存为图片,如
ffmpeg -y -i [result.flv] -vframes 1 -ss 00:00:01 -an -vcodec png -f rawvideo -s 320×240 [thumbnailimage.png]
5. 将这些最后整理一下,该放db的放db,该放某个文件目录的放过去

基本原理就是这样
关键是对ffmpeg和flvtool2的使用

原创粉丝点击