基于m3u8索引文件实现可在网页上进行视频剪辑的方法技术

技术编号:37969244 阅读:11 留言:0更新日期:2023-06-30 09:44
本发明专利技术涉及视频剪辑处理技术领域,公开了基于m3u8索引文件实现可在网页上进行视频剪辑的方法,包括如下步骤:S01、客户端上传本地视频至存储介质中,一般采用对象存储进行资源文件存储,并获得该视频资源的访问地址url;S02、用户提交一个视频转码任务的MQ消息通知,后端系统监听到转码任务的通知后,先将转码状态更新为转码中,然后在服务器/opt目录新建一个名为ts的目录,用于存储转码生成的ts、m3u8文件,同时在/opt目录生成进程pid文件以及log日志文件。本发明专利技术中,本发明专利技术网页在线剪辑视频的处理方法,解决了依赖本地计算机与第三方软件的不便捷性,降低了个人与企业的软件成本,提升了视频剪辑的便捷操作与系统自动化处理效率。效率。效率。

【技术实现步骤摘要】
基于m3u8索引文件实现可在网页上进行视频剪辑的方法


[0001]本专利技术涉及视频剪辑处理
,具体为基于m3u8索引文件实现可在网页上进行视频剪辑的方法。

技术介绍

[0002]随着互联网企业的业务不断发展,视频管理与视频剪辑的需求也更加广泛,比如:某场活动直播结束后生成了回放视频,需要对回放视频进行二次处理后,方可提供给用户进行访问观看;再或者用户想将本地视频剪辑后上传提供给用户观看。
[0003]传统的做法是将视频文件存放到本地计算机中,通过第三方应用软件进行视频的剪辑,然后导出某种格式的视频文件至本地电脑硬盘中,比如flv、mp4、rmvb等,最终将剪辑后的视频文件上传至对象存储介质中,提供给用户浏览观看。
[0004]由于传统的视频剪辑,需要先将视频文件存放在本地电脑硬盘中,并且需要通过第三方软件才能完成视频的剪辑处理,同时,由于第三方软件的视频剪辑功能大多数都是付费服务,因此对于个人以及公司而言,是一笔不小的费用支出,也提高了用户的使用操作成本。

技术实现思路

[0005](一)解决的技术问题
[0006]针对现有技术的不足,本专利技术提供了基于m3u8索引文件实现可在网页上进行视频剪辑的方法,解决了
技术介绍
提出的问题。
[0007](二)技术方案
[0008]为实现上述目的,本专利技术提供如下技术方案:基于m3u8索引文件实现可在网页上进行视频剪辑的方法,包括如下步骤:
[0009]S01、客户端上传本地视频至存储介质中,一般采用对象存储进行资源文件存储,并获得该视频资源的访问地址url;
[0010]S02、用户提交一个视频转码任务的MQ消息通知,后端系统监听到转码任务的通知后,先将转码状态更新为转码中,然后在服务器/opt目录新建一个名为ts的目录,用于存储转码生成的ts、m3u8文件,同时在/opt目录生成进程pid文件以及log日志文件,然后通过在服务器主机上执行脚本命令,会在/opt/ts目录将视频转码生成N个ts格式的文件,以及在/opt目录中生成一个m3u8格式的文件;
[0011]S03、定时任务每10秒钟会检测一次视频转码的任务执行状态,通过对log日志进行解析,若日志中出现了“Failed to open bitstream filter”或者“Invalid argument”异常信息,则应用程序将更新视频转码状态为“转码失败”,当然用户可以再次发起转码任务的请求,直至转码任务执行成功,视频转码状态变成“转码完成”;
[0012]S04、用户在系统中配置需要剪辑的时间片段,如10:00至20:00,表示从10分钟时间节点开始,剪辑至20分钟的时间节点,即10分钟的片段,为了实现更加灵活的剪辑,系统
设计做到了支持多个时间片段同时剪辑合并,并且支持将不同时间片段的画面进行顺序调整;
[0013]S05、服务端程序接收到用户指定的时间片段合集,通过解析步骤3生成的m3u8文件中的ts文件的时长进行累计计算,当达到用户指定的时间片段的数值时,将该时间范围内的ts文件列表打包生成一个全新的m3u8文件,其中m3u8文件的内容包含所有ts文件的索引列表;
[0014]S06、将步骤S05中生成的m3u8文件上传至OSS对象存储,得到文件的外链访问地址,客户端通过浏览器播放器播放此m3u8文件,至此实现了上传视频并转码后可在网页上实时剪辑片段并播放。
[0015]优选的,所述步骤S02中pid文件用于记录当前转码进程的id,log文件用于记录ffmpeg服务执行的日志,ts文件数量取决于视频文件的大小。
[0016]优选的,所述步骤S02中的脚本命令是基于ffmpeg工具包的语法规定,采用多线程方式,对视频源文件按照h264解码标准进行编解码,最终生成N个ts视频片段以及m3u8视频文件合集。
[0017]优选的,所述步骤S02中ffmpeg为跨平台的音视频开发库,用于处理多媒体内容的库和工具的集合。
[0018]优选的,所述步骤S03中若log日志中同时出现了“video:”、“audio:”字样,说明视频转码正常完成,这时系统程序将对生成的ts、m3u8文件异步批量上传至OSS存储,上传完毕后将服务器磁盘上的相关文件删除,节省服务器资源占用,同时更新转码状态为“已完成”。
[0019]基于m3u8索引文件实现可在网页上进行视频剪辑的系统,包括MQ消息通信模块、转码指令模块、视频裁剪模块、多媒体转码切片服务模块、转码状态检测模块、OSS对象存储模块;
[0020]所述MQ通信模块与转码指令模块连接、转码指令模块与多媒体转码切片服务模块连接、多媒体转码切片服务模块与OSS对象存储模块连接、转码状态检测模块与多媒体转码切片服务模块进行连接、服务端视频裁剪模块与OSS对象存储模块进行连接;
[0021]所述多媒体转码切片服务模块负责将用户提交的视频通过服务器硬件资源进行编码、转码、视频切片、码率转换、构建m3u8索引文件等功能;
[0022]所述转码状态检测模块用于定时检测视频转码进程的运行状态,应用程序解析ffmpeg运行的log日志,根据关键字输出内容判断整体转码状态与进度,如果检测出异常,将会更新视频转码状态为“转码失败”;如果转码完成,会将ts切片列表与m3u8索引文件上传至OSS存储,提供给客户端进行访问观看;
[0023]所述视频裁剪模块用于处理用户在应用系统中配置的需要裁剪的画面片段,通过对m3u8文件中的ts切片时长进行累加计算,当满足用户指定的片段时长数值时,会生成新的m3u8索引文件,并上传至OSS,提供给应用访问和使用。
[0024](三)有益效果
[0025]与现有技术对比,本专利技术具备以下有益效果:
[0026]1、本专利技术中,本专利技术网页在线剪辑视频的处理方法,解决了依赖本地计算机与第三方软件的不便捷性,降低了个人与企业的软件成本,提升了视频剪辑的便捷操作与系统
自动化处理效率。
[0027]2、本专利技术中,由于本系统视频剪辑的处理方法是基于m3u8格式文件进行实现,对于m3u8文件可以直接进行在线剪辑生成新的视频,无须其它转码切片等操作;若非m3u8格式文件,必须经过服务器转码切片获得m3u8文件后,才可进行后续的片段剪辑合并,相比较传统的视频剪辑方式,效率明显提升,应用系统视频管理与剪辑流程更加自动化,同时m3u8文件本身占用存储空间很小,所以无论是客户端浏览器访问观看,还是剪辑解析,处理速度以及系统业务处理效率都会提升很多。
附图说明
[0028]图1为本专利技术的系统工作流程图;
[0029]图2为本专利技术的系统结构图;
[0030]图3为本专利技术的视频源文件通过工具包编解码的结果流程图。
具体实施方式
[0031]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于m3u8索引文件实现可在网页上进行视频剪辑的方法,其特征在于:包括如下步骤:S01、客户端上传本地视频至存储介质中,一般采用对象存储进行资源文件存储,并获得该视频资源的访问地址url;S02、用户提交一个视频转码任务的MQ消息通知,后端系统监听到转码任务的通知后,先将转码状态更新为转码中,然后在服务器/opt目录新建一个名为ts的目录,用于存储转码生成的ts、m3u8文件,同时在/opt目录生成进程pid文件以及log日志文件,然后通过在服务器主机上执行脚本命令,会在/opt/ts目录将视频转码生成N个ts格式的文件,以及在/opt目录中生成一个m3u8格式的文件;S03、定时任务每10秒钟会检测一次视频转码的任务执行状态,通过对log日志进行解析,若日志中出现了“Failedtoopenbitstreamfilter”或者“Invalidargument”异常信息,则应用程序将更新视频转码状态为“转码失败”,当然用户可以再次发起转码任务的请求,直至转码任务执行成功,视频转码状态变成“转码完成”;S04、用户在系统中配置需要剪辑的时间片段,如10:00至20:00,表示从10分钟时间节点开始,剪辑至20分钟的时间节点,即10分钟的片段,为了实现更加灵活的剪辑,系统设计做到了支持多个时间片段同时剪辑合并,并且支持将不同时间片段的画面进行顺序调整;S05、服务端程序接收到用户指定的时间片段合集,通过解析步骤3生成的m3u8文件中的ts文件的时长进行累计计算,当达到用户指定的时间片段的数值时,将该时间范围内的ts文件列表打包生成一个全新的m3u8文件,其中m3u8文件的内容包含所有ts文件的索引列表;S06、将步骤S05中生成的m3u8文件上传至OSS对象存储,得到文件的外链访问地址,客户端通过浏览器播放器播放此m3u8文件,至此实现了上传视频并转码后可在网页上实时剪辑片段并播放。2.根据权利要求1所述的基于m3u8索引文件实现可在网页上进行视频剪辑的方法,其特征在于:所述步骤S02中pid文件用于记录当前转码进程的id,log文件用于记录ffmpeg服务执行的日志,ts文件数量取决于视频文件的大小。3.根...

【专利技术属性】
技术研发人员:乔明辉王培
申请(专利权)人:上海悦米信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1