APP下载

视频转码在音视频资源共享系统中的应用与研究

2013-04-29申丽红李小勇周恕义

电脑知识与技术 2013年8期

申丽红 李小勇 周恕义

摘要:在音视频资源共享系统中,为了使音视频资源有利于网络传播,需要对不同的音视频编码进行转换,可通过开源软件FFmpeg和Mencoder来实现音视频的转码。FFmpeg和Mencoder拥有丰富的音视频解码器和编码器,可以有效的完成多种格式的音视频的编码。

关键词:视频转码;音视频资源共享系统;FFmpeg;Mencode

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)08-1928-03

1 概述

2 FFmpeg和Mencoder简介

FFmpeg是一个在Linux下开发出来的一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,但它可以在包括Windows在内的大多数操作系统中编译。这个项目是由Fabrice Bellard发起的,现在由Michael Niedermayer主持。它包括了目前领先的音/视频编码库libavcodec,支持 MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、ASF等90多种解码,可以轻易地实现多种视频格式之间的相互转换。

Mencoder是Mplayer自带的编码工具(Mplayer是Linux下的播放器,开源,支持几乎所有视频格式的播放,现在有windows和Mac版本)。Mencoder支持几乎所有格式的视频转换,可以将任意格式转换到任意格式,转换格式可以说非常强大。

3 视频格式说明

在音视频资源共享系统中,当主程序检测到用户有新上传的视频后,等待进入到视频转码流程,由主程序调用FFmpeg.exe或者Mencoder.exe完成对视频的转码并将转码后的视频保存在相应的目录下,同时,截取视频文件的某一帧作为视频的缩略图保存到对应的图像文件,等待进程结束,根据转码原理,由于参数的设计,转码后的音视频会比原来的视频小,并且在一定的范围内,因此根据原音视频资源和转码后的音视频资源进行比较,来判断转码是否成功,如果转码后的音视频过小,表示转码未成功,标记并返还主程序;如果转码成功,将转码后的视频路径和图像路径保存到数据库,至此,完成对视频的转码流程。

4.2 具体控制流程

1)对用户上传的音视频,数据库存储的主要的视频信息包括:名称,转码前存储路径,转码后的存储路径,大小,音视频截图路径,音视频状态标志位(报告转码中,审核中,转码成功,转码未成功,审核通过,审核未通过)。当用户上传成功后,改变数据库的状态标志位为转码中,进入视频转码子系统。

2)对于音视频转码的处理,有两种处理方式,一种是多进程,一种是多线程。

5 结论

在音视频资源共享系统中,视频转码是该系统的重要组成部分,对于提高网络视频的传播效率,有很大的帮助。使用FFmpeg和Mencoder相结合的转码方案,不仅可以实现对各种编码格式的视频的转换,而且可以生产视频的截图和压缩,方便用户的浏览。系统完成后,转码效率高,系统运行稳定。

参考文献:

[1] 杨丽军.FFmpeg在媒体资产管理系统的应用[J].现代电子技术,2011(8):147-148.

[2] 马洪堂.基于FFmpeg的视频转换系统[D].杭州:浙江大学硕士学位论文,2009.

[3] 任严,刘丽.基于FFmpeg的视频转换与发布系统[J].计算机工程与设计,2007(10):4962-4963.