基于FFmpeg的教学资源库的非MP4视频转换为MP4流程

基于FFmpeg的教学资源库的非MP4视频转换为MP4流程

运行环境:

Win2003(或者Win2008  64bit,优先此步)、SQL Server 2005(或者SQL Server2008)

执行方式:

批处理方式执行,已转换视频列表、写入数据库;错误日志写入本机的执行程序下面。

1.转换步骤描述

1、非MP4视频列表

连接教学资源库数据库,查找本机的非MP4视频资源,得到非MP4视频列表。

2、生成原视频的MD5码

将所有的原视频生成MD5码。

3、判断该视频是否已经转换

比对新旧两个数据表,得到未转换的视频列表。

4、视频异步转换

根据非MP4视频列表,采用异步方式、批量将视频转换为MP4格式。转换前需要做的判断:是否有足够的视频存储空间(可用空间是否大于原视频的大小)、CPU使用率是否达到阈值(60%)、该视频是否已经转换过。

5、生成新视频MD5

6、新视频列表

新建数据库,保存已转换视频列表。包括SID、原地址、新地址、原MD5、新MD5、转换时长、转换完成时间。

7、异常处理

遇到以下情况:

空间不足、CPU超过阈值,

停止转换,生成报错日志,保存在本地的服务器。

2.转换流程

1)多台存储服务器异步视频转换

多台存储服务器异步视频转换

2)教学资源库非MP4视频列表转换流程

原来存储在数据库的视频(wmv格式)的是没有MD5码,程序生成MD5码。

教学资源库非MP4视频列表转换流程

3)单次视频转换流程

单次视频转换流程

3)列表

已转换的视频列表


SID


原地址


新地址


原MD5


新MD5


转换时长


转换完成时间

错误日志


SID


错误原因


报错时间

注:MD5值是一种密码值,要是视频内容没有改变过,那么上传和下载的视频的MD5值是一样的。

3.具体实现

1、命令行登录sql server 2008r2

在命令行窗口下 SQL code 1.使用osql >osql -Slocalhost -Usa -Ppass >use 数据库名称 >select * from sysobjects

2.使用sqlcmd sqlcmd -U sa -P pass -S localhost

2、视频转换

1)按照原来的大小、尺寸转换

start

ffmpeg.exe -i culture.wmv iCulture5.mp4

exit

2)acc编码

start

ffmpeg.exe -i culture.wmv -vcodec libx264 -preset ultrafast -profile:v baseline -acodec aac -strict experimental -s 640*480 -b 568k -ab 128k iCulture.mp4

exit

-vcodec libx264 使用h264转换

-acodec aac 音频编码用AAC

-b 800 视频数据流量,-b xxx的指令则使用固定码率,数字随机,1500以上没有效果;还可以用动态码率,如:-qscale 4、-qscale 6,4的质量比6的高。

-s 640*480 视频大小

-ab 128k 音频数据流量,一般选择32、64、96、128

3、代码

程序执行步骤

1、 从202.205.161.177(sa,sa.net)的MDER_CENTER_DATA数据库的[MDER_CENTER].[dbo].[COMM_SYS_STORAGESERVER]表找到本服务器IP对应的SERVER_ID。(STORAGEPATH是视频文件存储的路径)

2、 根据SERVER_ID ,在[MDER_CENTER].[dbo].[COMM_MEDIA_INFO]数据库中遍历得到本地数据库的所有wmv格式的视频文件。

得到本服务器ID、未转换的wmv格式的视频文件

" select * from [MDER_CENTER].[dbo].[COMM_MEDIA_INFO] where STORAGE_SERVERID=‘" + serverID +

"‘ AND RESOURCE_URL like ‘%.wmv‘ AND  MEDIA_ID not in (select MEDIA_ID from [MDER_CENTER].[dbo].[COMM_CONVERTMP4_INFO] )";

select * from [MDER_CENTER].[dbo].[COMM_MEDIA_INFO]

where STORAGE_SERVERID=‘22222222-2222-2222-2222-222222222222‘

update [MDER_CENTER].[dbo].[COMM_MEDIA_INFO]

set STORAGE_SERVERID=‘88888888-44af-4310-9468-17ec508e838‘

where MEDIA_ID=‘d2168944-c004-4df1-b572-7e5e90165ad8‘

update [MDER_CENTER].[dbo].[COMM_SYS_STORAGESERVER]

set STORAGEPATH=‘E:/video/‘

where SERVER_ID=‘22222222-2222-2222-2222-222222222222‘

时间: 2024-11-06 03:33:27

基于FFmpeg的教学资源库的非MP4视频转换为MP4流程的相关文章

最简单的基于FFmpeg的移动端例子:IOS 视频转码器

本文记录iOS平台下基于FFmpeg的视频转码器.该转码器实际上移植自ffmpeg工程中的ffmpeg.c源代码.有关ffmpeg.c的源代码可以参考文章<ffmpeg.c函数结构简单分析(画图)>,在这里就不重复记录了. 源代码 项目的目录结构如图所示. 下列C语言文件拷贝自FFmpeg源代码: cmdutils.ccmdutils.hcmdutils_common_opts.hconfig.hffmpeg.hffmpeg_filter.cffmpeg_opt.c 此外在编译ffmpeg.c

最简单的基于FFmpeg的移动端例子:IOS 视频解码器

本文记录IOS平台下基于FFmpeg的视频解码器.该示例C语言的源代码来自于<最简单的基于FFMPEG+SDL的视频播放器>.相关的概念就不再重复记录了. 源代码 项目的目录结构如图所示. C代码位于ViewController.m文件中,内容如下所示. /** * 最简单的基于FFmpeg的视频解码器-IOS * Simplest FFmpeg IOS Decoder * * 雷霄骅 Lei Xiaohua * [email protected] * 中国传媒大学/数字电视技术 * Comm

最简单的基于FFmpeg的移动端例子:Android 视频解码器

本文记录一个安卓平台下基于FFmpeg的视频解码器.该视频解码器C语言的源代码来自于<最简单的基于FFMPEG+SDL的视频播放器>.相关的概念就不再重复记录了. 源代码 项目的目录结构如图所示.Java源代码位于src目录,而C代码位于jni目录. Android程序Java端代码位于src\com\leixiaohua1020\sffmpegandroiddecoder\MainActivity.java,如下所示. /** * 最简单的基于FFmpeg的视频解码器-安卓 * Simple

最简单的基于FFmpeg的移动端例子:Android 视频解码器-单个库版

本文记录另一个安卓平台下基于FFmpeg的视频解码器.与前一篇文章记录的解码器不同,本文记录的解码器不再使用libavcodec.so.libavformat.so等类库,而只使用了一个类库--libffmpeg.so.该视频解码器C语言的源代码来自于<最简单的基于FFMPEG+SDL的视频播放器>.相关的概念就不再重复记录了. FFmpeg类库的打包 记录一下FFmpeg类库打包的方法.Android平台下FFmpeg类库一共包含下面几个: libavformat-56.solibavcod

腾讯下载的视频转换为MP4

第一步:首先找到腾讯视频下载设置中的缓存目录,如下图 打开这个目录,找到最近的,就是刚才你下载的文件夹 打开最近的文件夹,如下图,copy里面的内容到D盘的qlv目录中 第二部:进入D盘的qlv目录,执行下面的命令,即可生成MP4视频文件 D:\qlv>copy/b  *.tdl  2.mp46f18d09df684afee40d82ce34377064c.000.tdl6f18d09df684afee40d82ce34377064c.001.tdl6f18d09df684afee40d82ce

asp.net 使用FFmpeg将视频转换为mp4格式

在配置文件中需写入 代码: 在转码完毕后可以进行截图 如需一次转换多个视频文件,可以开启列队. 运行效果:

优酷爱奇艺视频转换为MP4格式工具

本君今天分享两个免费的视频格式转换工具,分别是爱奇艺和优酷的(腾讯的有点复杂,等整理完再分享).教程都是一步步亲手操作的,每一步都有配图.希望各位老板多转发分享,谢谢! 一爱奇艺QSV转MP4格式 解压软件.(建议关闭所有杀毒软件避免误伤,软件本身无毒无广告,请放心使用) 以管理员身份运行软件. 添加QSV文件,修改转换后文件的保存位置. 点击开始转换并等待转换完成. 转换完成,查看是否能正常播放. 二优酷KUX转MP4格式 解压软件.(建议关闭所有杀毒软件避免误伤,软件本身无毒无广告,请放心使

最简单的基于FFmpeg的移动端例子:Windows Phone HelloWorld

===================================================== 最简单的基于FFmpeg的移动端例子系列文章列表: 最简单的基于FFmpeg的移动端例子:Android HelloWorld 最简单的基于FFmpeg的移动端例子:Android 视频解码器 最简单的基于FFmpeg的移动端例子:Android 视频解码器-单个库版 最简单的基于FFmpeg的移动端例子:Android 推流器 最简单的基于FFmpeg的移动端例子:Android 视频转

腾讯qlv视频转为MP4格式工具

本文解决上一篇<优酷爱奇艺视频转换为MP4格式工具>留下的腾讯视频qlv转MP4格式问题,教程都是一步步亲手操作的,每一步都有配图.希望各位老板多转发分享,谢谢! 解压软件.(建议关闭所有杀毒软件避免误伤,软件本身无毒无广告,请放心使用) 安装去广告版的腾讯视频.(说明:因为腾讯视频版本变动,码率会随机,下载的视频无法转码,或者转码后的文件会出现不确定的问题,所以请安装去广告版腾讯视频.) 安装完成后,用去广告版腾讯视频下载视频文件. 视频文件下载完成后,右击转换工具以管理员身份运行软件. 添