论文部分内容阅读
摘要:针对教学用途设计一个以FFmpeg为核心技术支撑的视频管理系统,支持视频入/出库、基于属性的视频检索、常见视频格式转换、视频播放、基于视频标签截取与合并视频片段等功能,可基本满足教师日常备课的视频管理和制做需求。其突出特点是通过视频属性记录以及视频标记功能,大大提高视频检索、视频片段截取与合并操作的效率。
关键词:视频标签;视频管理系统;FFmpeg
一、引言
一图抵千言,更别说视频了。相对于其它媒体,视频具有表现力强、信息传输量大等特点。如果运用得当,视频辅助教学常常可以起到事半功倍的效果。例如,危玉妹、危薇将法律视频案例运用到教学中,有效提高了教学效率[1]。周娟认为微视频能呈现普通课堂不易呈现的内容,合理应用微视频可以有效提高学生的自主学习能力和学生的实际获得[2]。Amanda L Roshier等对诺丁汉大学兽医科学学院为促进学生学习而开发的在线视频学习资源的教学效果进行了实证研究,结果表明在教学中使用视频辅助教学获得了学生的积极评价[3]。就教学视频的获取而言,随着信息技术的迅猛发展和网络应用的推广普及,教师可获取的视频资源极大地丰富起来了,同时教育管理部门和各高校也在大力建设各类教学资源库,教师可以便利地获得大量视频资源。但是,由于教学研究本身就是个具有创造性的学术工作,教师个体对于具体教学实践的视频需要有着巨大差异,因此,积累和制作适合自身教学用途的教学视频在一定意义上来说是每一名教师都必须做到的。然而,教师要想制成好用的教学视频并不是一件容易的事。虽然如今视频管理和编辑工具越来越容易获得,工具掌握的难度也越来越低,但是就目前而言,已有的视频管理和编辑工具对于大数量视频的管理和编辑效率很低(编辑高清大视频文件时情况尤甚,常会造成计算机系统卡顿),更为重要的是,相比于文字资源内容的易搜索性,当前技术对视频资源内容的检索难度极大,教师常常为了寻找切合某个教学主题的多个短时视频片断,花费大量时间在众多长视频中进行全程人工搜索,效率极低。鉴于此,本文提出设计一种适合管理和编辑大数量视频的管理工具。
二、FFmpeg介绍
Ffmpeg既是一款音视频编解码工具,同时也是一组音视频编解码开发套件。作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口[5],在许多商用和自由软件中得到了广泛采用。它的开发套件中包含的函数库主要有:1)libavcodec函数库:音视频编解码;2)libavformat函数库:处理音频、视频以及字幕封装和解封装。本文提出的视频管理系统依赖Ffmpeg的这两个函数库提供的API来完成对视频的处理。
三、教学用途视频管理系统的需求分析
为了满足教学的多方面需要,教师平时往往积累了大量的教学基础视频,为了备课时能快速调用并编辑特定主题视频,教学用途视频管理系统(以下简称:系统)需要具备特殊的“增删改查”功能。常规的,系统需要提供视频入库(出于便捷考虑,视频入库功能需支持多个视频一次性文件入库操作)和视频出库(即把某个/某些视频保存到指定目录)功能。同时,为了便于教师调取特定内容的入库视频,系统必须提供依据属性的视频检索功能。我们知道,视频文件在入库前一般只带有文件名、时长、大小、帧数率等简单属性,不能满足复杂检索的需要,因此系统在原有属性的基础上重点应为视频提供额外属性,包括固定属性和扩展属性。前者包括内容描述(1个)、关键词(任意多个,支持任何常见的间隔符号),这对于从众多视频文件中迅速找到特定主题的视频非常有帮助,后者为特殊需要提供定制化属性。此外,为方便使用,系统还应提供最近使用视频的列表的功能。
为了便于后续高效搜索视频内容,视频入库以后,用户可以在任何时候为视频中任意时段做具体的内容标记。为此,系统提供创建、删除、编辑和搜索视频标签的功能,用户通过它在视频中标记感兴趣的视频片段。为了方便使用,系统还提供最近使用视频标签列表的功能。如此,教师平时在收集、使用、编辑视频时,就可以方便地在视频中的任意时段做标记(包括感兴趣的视频片段的起止时间、内容描述和关键词等),将来为某个教学需要进行内容检索时,就可以从大量长视频中迅速定位到特定主题的视频片断,节省重复人工观看视频查找特定内容的大量时间。这样,教师平时所积累的大量视频就不仅仅是令人望而生叹难以实际使用的堆积物,而是可以随时调用的数据资源库。
在將视频实际用于教学的时候,教师对于视频的使用有三种可能性:一是完整播放原有视频,二是播放某个视频的部分片段,三是播放融合了多个视频片段的视频。这就要求系统为用户提供视频播放、视频格式转换、视频截取和视频合并的功能。对于视频格式转换、视频截取和视频合并,由于有时候需要处理的数量较大,为了方便使用,系统以批处理方式提供相应的功能:先由用户指定要对哪些视频进行格式转换,要对哪些视频截取哪部分视频片段,要合并哪些视频片段,作为任务列表,再由系统集中处理完成。需要特别指出的是,为了辅助教学,教师常会运用运动相机拍摄教学素材。如王亮等将运动相机用于辅助游泳教学[3]。在拍摄过程中,运动相机会同时录制高清版本和低清版本两个视频。高清版本的视频文件的大小通常都达到数G规模,直接用来编辑常常会因为占用计算机过多资源导致卡顿现象,极大影响用户体验。此时,系统支持用户通过观看低清版本视频文件来设置编辑参数,待设置完成后交由系统对高清版本视频执行编辑任务,从而极大地提高编辑效率。如果原先没有对应的低清版本视频,系统对高清版本视频进行压缩处理,生成低清版本视频。
为了保障系统信息的安全,系统还提供用户管理功能,包括用户注册/注销、用户身份验证和对视频文件访问的权限管理。系统的用户分为管理用户和应用用户两类。系统设置一个永久存在的管理用户,负责自身密码修改和对应用用户的管理,包括注销应用用户,将应用用户密码重置为默认密码,但不能查看应用用户的信息和访问系统中的视频信息。应用用户可以根据需要注册和注销,修改密码,以及为视频设置私有或公开访问权限,默认为公开权限。 四、教学用途视频管理系统的设计
(一)系统的信息存储设计
对视频,选择以文件形式进行存储,系统以相对路径进行访问。对其它信息,选择以数据库形式进行存储。考虑到信息规模并不大,为了简化系统配置,选择采用轻型数据库管理系统SQLite进行信息管理。
(二)系统的事务处理设计
通过以上需求分析,可以看到系统需要提供用户管理、视频文件管理、视频标签管理和视频编辑任务管理的功能。为此,系统设置了用户管理模块、视频文件管理模块、视频标签管理模块和视频编辑任务管理模块等相应模块,它们的接口描述如下:
1.用户管理模块:通过访问数据库为系统提供实现用户管理的支撑,包括用户注册,用户注销,用户身份验证,当前登录用户记录和读取,用户密码修改等。
2.视频文件管理模块:为前端播放器提供视频文件地址,最近入库/修改的视频列表及列表中视频数量的设置,根据查询条件搜索视频,视频文件入库出库与删除,视频文件属性记录生成、删除和编辑,为视频文件增加/删除定制化属性等。
3.视频标签管理模块:最近生成/修改的标签列表及其列表中标签数量的设置,根据查询条件搜索视频标签,视频标签生成与删除等。
4.视频编辑任务管理模块:任务列表创建/删除,任务添加,任务顺序调整,任务列表提交,任务列表撤销等。
(三)系统的用户界面设计
总体上应遵循Theo Mandel提出的3条用户界面设计“黄金准则”:1)用户操作控制;2)减少用户的记忆负担;3)保持界面一致[6]。因此,系统的整个界面从上到下设置三大分区(菜单区、按钮区和工作区),其中,“菜单区”含有系统可供用户使用的所有功能项,“按钮区”设置常用按钮,“工作区”随工作内容显示对当前操作有帮助的信息,提供键盘快捷键操作(可极大提高编辑效率)和快捷菜单操作。
(四)系统架构
综上,教学用途视频管理系统选择如下图所示的分层架构。图中的箭头表示箭头发出模块需要调用箭头指向模块的功能。
五、结语
设计上述视频管理系统的出发点是让教师个人管理和编辑视频变得轻松便捷,其突出特点是通过视频属性记录以及视频标记功能,可以极大提高教师备课实际工作中视频检索、视频片段截取与合并操作的效率。但是,该系统提供的功能还比较少,特别是对视频的编辑只包含视频格式转换、视频片段截取和视频片段合并功能,需要在今后加以完善。
参考文献
[1]危玉妹, 危薇. 视频案例教学:法律教学的新突破[J]. 福建师范大学学报(哲学社会科学版), 2006(6):175-178.
[2]周娟. 微视频在教学中的积极作用[J]. 中国教育学刊, 2018(5).
[3]Roshier A L, Foster N, Jones M A. Veterinary students' usage and perception of video teaching resources.[J]. Bmc Medical Education, 2011, 11(1):1.
[4]陈宗让, 李骥平, 李晓铭. 教学视频资源在课堂教学中的应用研究[J]. 电化教育研究, 2009(7):95-97.
[5]刘琦, 赵文杰. FFmpeg 从入门到精通[M]. 機械工业出版社,2018.
[6]Mandel T . The Elements of User Interface Design[M]. John Wiley & Sons, Inc. 1997.
[3]王亮, 吴双. 运动相机在游泳日常教学中的创新应用[J]. 文体用品与科技, 2016(4):125-126.
关键词:视频标签;视频管理系统;FFmpeg
一、引言
一图抵千言,更别说视频了。相对于其它媒体,视频具有表现力强、信息传输量大等特点。如果运用得当,视频辅助教学常常可以起到事半功倍的效果。例如,危玉妹、危薇将法律视频案例运用到教学中,有效提高了教学效率[1]。周娟认为微视频能呈现普通课堂不易呈现的内容,合理应用微视频可以有效提高学生的自主学习能力和学生的实际获得[2]。Amanda L Roshier等对诺丁汉大学兽医科学学院为促进学生学习而开发的在线视频学习资源的教学效果进行了实证研究,结果表明在教学中使用视频辅助教学获得了学生的积极评价[3]。就教学视频的获取而言,随着信息技术的迅猛发展和网络应用的推广普及,教师可获取的视频资源极大地丰富起来了,同时教育管理部门和各高校也在大力建设各类教学资源库,教师可以便利地获得大量视频资源。但是,由于教学研究本身就是个具有创造性的学术工作,教师个体对于具体教学实践的视频需要有着巨大差异,因此,积累和制作适合自身教学用途的教学视频在一定意义上来说是每一名教师都必须做到的。然而,教师要想制成好用的教学视频并不是一件容易的事。虽然如今视频管理和编辑工具越来越容易获得,工具掌握的难度也越来越低,但是就目前而言,已有的视频管理和编辑工具对于大数量视频的管理和编辑效率很低(编辑高清大视频文件时情况尤甚,常会造成计算机系统卡顿),更为重要的是,相比于文字资源内容的易搜索性,当前技术对视频资源内容的检索难度极大,教师常常为了寻找切合某个教学主题的多个短时视频片断,花费大量时间在众多长视频中进行全程人工搜索,效率极低。鉴于此,本文提出设计一种适合管理和编辑大数量视频的管理工具。
二、FFmpeg介绍
Ffmpeg既是一款音视频编解码工具,同时也是一组音视频编解码开发套件。作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口[5],在许多商用和自由软件中得到了广泛采用。它的开发套件中包含的函数库主要有:1)libavcodec函数库:音视频编解码;2)libavformat函数库:处理音频、视频以及字幕封装和解封装。本文提出的视频管理系统依赖Ffmpeg的这两个函数库提供的API来完成对视频的处理。
三、教学用途视频管理系统的需求分析
为了满足教学的多方面需要,教师平时往往积累了大量的教学基础视频,为了备课时能快速调用并编辑特定主题视频,教学用途视频管理系统(以下简称:系统)需要具备特殊的“增删改查”功能。常规的,系统需要提供视频入库(出于便捷考虑,视频入库功能需支持多个视频一次性文件入库操作)和视频出库(即把某个/某些视频保存到指定目录)功能。同时,为了便于教师调取特定内容的入库视频,系统必须提供依据属性的视频检索功能。我们知道,视频文件在入库前一般只带有文件名、时长、大小、帧数率等简单属性,不能满足复杂检索的需要,因此系统在原有属性的基础上重点应为视频提供额外属性,包括固定属性和扩展属性。前者包括内容描述(1个)、关键词(任意多个,支持任何常见的间隔符号),这对于从众多视频文件中迅速找到特定主题的视频非常有帮助,后者为特殊需要提供定制化属性。此外,为方便使用,系统还应提供最近使用视频的列表的功能。
为了便于后续高效搜索视频内容,视频入库以后,用户可以在任何时候为视频中任意时段做具体的内容标记。为此,系统提供创建、删除、编辑和搜索视频标签的功能,用户通过它在视频中标记感兴趣的视频片段。为了方便使用,系统还提供最近使用视频标签列表的功能。如此,教师平时在收集、使用、编辑视频时,就可以方便地在视频中的任意时段做标记(包括感兴趣的视频片段的起止时间、内容描述和关键词等),将来为某个教学需要进行内容检索时,就可以从大量长视频中迅速定位到特定主题的视频片断,节省重复人工观看视频查找特定内容的大量时间。这样,教师平时所积累的大量视频就不仅仅是令人望而生叹难以实际使用的堆积物,而是可以随时调用的数据资源库。
在將视频实际用于教学的时候,教师对于视频的使用有三种可能性:一是完整播放原有视频,二是播放某个视频的部分片段,三是播放融合了多个视频片段的视频。这就要求系统为用户提供视频播放、视频格式转换、视频截取和视频合并的功能。对于视频格式转换、视频截取和视频合并,由于有时候需要处理的数量较大,为了方便使用,系统以批处理方式提供相应的功能:先由用户指定要对哪些视频进行格式转换,要对哪些视频截取哪部分视频片段,要合并哪些视频片段,作为任务列表,再由系统集中处理完成。需要特别指出的是,为了辅助教学,教师常会运用运动相机拍摄教学素材。如王亮等将运动相机用于辅助游泳教学[3]。在拍摄过程中,运动相机会同时录制高清版本和低清版本两个视频。高清版本的视频文件的大小通常都达到数G规模,直接用来编辑常常会因为占用计算机过多资源导致卡顿现象,极大影响用户体验。此时,系统支持用户通过观看低清版本视频文件来设置编辑参数,待设置完成后交由系统对高清版本视频执行编辑任务,从而极大地提高编辑效率。如果原先没有对应的低清版本视频,系统对高清版本视频进行压缩处理,生成低清版本视频。
为了保障系统信息的安全,系统还提供用户管理功能,包括用户注册/注销、用户身份验证和对视频文件访问的权限管理。系统的用户分为管理用户和应用用户两类。系统设置一个永久存在的管理用户,负责自身密码修改和对应用用户的管理,包括注销应用用户,将应用用户密码重置为默认密码,但不能查看应用用户的信息和访问系统中的视频信息。应用用户可以根据需要注册和注销,修改密码,以及为视频设置私有或公开访问权限,默认为公开权限。 四、教学用途视频管理系统的设计
(一)系统的信息存储设计
对视频,选择以文件形式进行存储,系统以相对路径进行访问。对其它信息,选择以数据库形式进行存储。考虑到信息规模并不大,为了简化系统配置,选择采用轻型数据库管理系统SQLite进行信息管理。
(二)系统的事务处理设计
通过以上需求分析,可以看到系统需要提供用户管理、视频文件管理、视频标签管理和视频编辑任务管理的功能。为此,系统设置了用户管理模块、视频文件管理模块、视频标签管理模块和视频编辑任务管理模块等相应模块,它们的接口描述如下:
1.用户管理模块:通过访问数据库为系统提供实现用户管理的支撑,包括用户注册,用户注销,用户身份验证,当前登录用户记录和读取,用户密码修改等。
2.视频文件管理模块:为前端播放器提供视频文件地址,最近入库/修改的视频列表及列表中视频数量的设置,根据查询条件搜索视频,视频文件入库出库与删除,视频文件属性记录生成、删除和编辑,为视频文件增加/删除定制化属性等。
3.视频标签管理模块:最近生成/修改的标签列表及其列表中标签数量的设置,根据查询条件搜索视频标签,视频标签生成与删除等。
4.视频编辑任务管理模块:任务列表创建/删除,任务添加,任务顺序调整,任务列表提交,任务列表撤销等。
(三)系统的用户界面设计
总体上应遵循Theo Mandel提出的3条用户界面设计“黄金准则”:1)用户操作控制;2)减少用户的记忆负担;3)保持界面一致[6]。因此,系统的整个界面从上到下设置三大分区(菜单区、按钮区和工作区),其中,“菜单区”含有系统可供用户使用的所有功能项,“按钮区”设置常用按钮,“工作区”随工作内容显示对当前操作有帮助的信息,提供键盘快捷键操作(可极大提高编辑效率)和快捷菜单操作。
(四)系统架构
综上,教学用途视频管理系统选择如下图所示的分层架构。图中的箭头表示箭头发出模块需要调用箭头指向模块的功能。
五、结语
设计上述视频管理系统的出发点是让教师个人管理和编辑视频变得轻松便捷,其突出特点是通过视频属性记录以及视频标记功能,可以极大提高教师备课实际工作中视频检索、视频片段截取与合并操作的效率。但是,该系统提供的功能还比较少,特别是对视频的编辑只包含视频格式转换、视频片段截取和视频片段合并功能,需要在今后加以完善。
参考文献
[1]危玉妹, 危薇. 视频案例教学:法律教学的新突破[J]. 福建师范大学学报(哲学社会科学版), 2006(6):175-178.
[2]周娟. 微视频在教学中的积极作用[J]. 中国教育学刊, 2018(5).
[3]Roshier A L, Foster N, Jones M A. Veterinary students' usage and perception of video teaching resources.[J]. Bmc Medical Education, 2011, 11(1):1.
[4]陈宗让, 李骥平, 李晓铭. 教学视频资源在课堂教学中的应用研究[J]. 电化教育研究, 2009(7):95-97.
[5]刘琦, 赵文杰. FFmpeg 从入门到精通[M]. 機械工业出版社,2018.
[6]Mandel T . The Elements of User Interface Design[M]. John Wiley & Sons, Inc. 1997.
[3]王亮, 吴双. 运动相机在游泳日常教学中的创新应用[J]. 文体用品与科技, 2016(4):125-126.