CN109474827B - 监控视频快速转码的方法 - Google Patents
监控视频快速转码的方法 Download PDFInfo
- Publication number
- CN109474827B CN109474827B CN201811463874.5A CN201811463874A CN109474827B CN 109474827 B CN109474827 B CN 109474827B CN 201811463874 A CN201811463874 A CN 201811463874A CN 109474827 B CN109474827 B CN 109474827B
- Authority
- CN
- China
- Prior art keywords
- file
- executing
- video
- transcoding
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种监控视频快速转码的方法,其特征在于包括以下步骤:S100:确定待转码的源视频文件作为输入文件,转码后的文件作为输出文件;S200:检测输入文件的类型,包括以下具体步骤:S201:读取并加载配置文件S202:判断输入文件的配置文件中键值对的格式是否与步骤S201中的键值对的格式匹配,如果是,执行步骤S203,否则执行步骤S204;S203:读取输入文件的第二字段作为地址,并读取该地址中的内容,判断该内容是否与步骤S201中的键值对的第一字段相同,如果是,执行步骤S205,否则执行步骤S204;S204:丢弃当前输入文件,加载下一输入文件,执行步骤S202;S205:使用当前键值对的第一字段、第二字段及第三字段作为转码器的参数;S300:打开输入文件;S400:转码并输出文件。
Description
技术领域
本发明属于监控视频领域,涉及监控视频快速转码的方法。
背景技术
目前市面上的监控厂商众多,因无行业标准,各行其是,导致如今监控视频格式繁杂,对视频后续的播放预览和视频分析处理造成困难,主要表现为不支持通用播放器,不支持解复用分离,不支持视频定位等,甚至某些监控厂商无法提供SDK,大厂的SDK功能比较完善,小厂的SDK则强弱不一,如果要集成并支持所有的视频格式,则异常的困难。
如何通过一种方法,来降低在后端播放和分析的难度,那就是整合数据的输入,也就是说将视频全部转换成一种或几种主流的、通用的视频格式,可以使用视频组件正常处理的视频格式,这就是转码的过程。众所周知视频编码是很耗时且耗资源,如果是视频播放或分析前花过多的时间来转码是得不偿失的,同时时转码要尽可能多的支持不同的视频输入格式,目前行业内大部分转码方法都有以下局限性:
1、兼容性差,通过直接集成厂商的SDK功能,SDK收集并集成的越多,转码兼容性就越强,没有提供SDK的厂商则几乎无法。
2、处理速度慢,通过厂商SDK提供的解码功能,再重新编码来得到一个标准的视频格式,但是编码耗时且耗资源严重。
3、设备依赖性强且成本高,为提高编码工作的效率,可以使用GPU进行加速,GPU设备的性价不高,低端的提速不明显,高端则太昂贵,支持的视频格式很少。
视频编码时,图像质量、占用空间、编解码耗时这几者不易平衡,一般来说若希望图像质量好,要么需要占用较大的存储空间,要么压缩率高但算法复杂耗时长,解码亦是如此;
综上所述,开发一种兼容性好、处理速度快,设备依赖性低且存储成本合理的方法有很重要的意义。
发明内容
本发明针对现有技术的不足问题,提出了监控视频快速转码的方法,将源视频文件作为输入文件并与配置文件进行匹配,将符合匹配条件的输入文件打开并转码,实现监控视频快速转码,包括以下步骤:
S100:确定待转码的源视频文件作为输入文件,转码后的文件作为输出文件,将所述输入文件及输出文件存放在不同的路径下;
S200:检测所述输入文件的类型,包括以下具体步骤:
S201:读取并加载配置文件,所述配置文件包括转码配置类型信息,所述转码配置类型信息包括转码配置类型[sdk]、[rate]、[x264]、[h264]及[ffmpeg],其中,所述配置文件包括键值对,所述键值对的格式为X1=Y1[,Y2[,Y3]],其中,
X1为键,表示视频格式之一;
Y1为值的第一字段,表示特征信息;
Y2为值的第二字段,表示特征偏移位置;
Y3为值的第三字段,表示视频头偏移地址;
S202:判断所述输入文件的配置文件中键值对的格式是否与所述步骤S201中的键值对的格式匹配,如果是,执行步骤S203,否则执行步骤S204;
S203:读取所述输入文件的配置文件中键值对的第二字段作为地址,读取所述地址中的内容,判断所述内容是否与所述步骤S201中的键值对的第一字段相同,如果是,执行步骤S205,否则执行步骤S204;
S204:使用所述步骤S201中所述配置文件的下一键值对作为匹配项,执行所述步骤S202;
S205:使用当前键值对的第一字段、第二字段及第三字段作为转码器的参数;
S300:打开所述输入文件;
S400:转码并输出所述输出文件。
优选地,所述步骤S300包括以下步骤:
S301:获取所述步骤S205中转码器的参数;
S302:采用当前转码器打开当前输入文件,如果打开成功,执行步骤S304,否则执行步骤S303;
S303:判断当前输入文件的视频格式是否为h264,如果是,执行步骤S304,否则结束本流程;
S304:设置转码器的输出路径,如果当前输入文件的视频格式为h264,则读取当前键值对的第三字段作为转码器的参数。
优选地,所述步骤S400的具体步骤为:
S401:根据当前输入文件中的流信息,生成对应的输出文件的流信息,其中,所述输入文件中的所述流信息包括视频流、音频流、字幕流;
S402:调用ffmpeg的API,将输出文件头信息写入到当前输出文件;
S403:循环读取当前输入文件的数据帧,将信息PTS、DTS、duration转换后写入输出文件;
S404:判断是否能读出下一帧,如果是,执行步骤S402,否则执行步骤S405;
S405:将缓冲区中的数据写入当前输出文件,清除临时信息。
本发明的有益效果是:
1、能够快速判断文件所属监控厂商视频格式类型;
2、能够快速分析文件是否为h264编码方案视频文件格式;
3、能够剔除原始文件视频头和视频帧之间错误编码数据并重新封装;
4、能够通过简单配置文件设定转码策略;
5、能够通过简单代码修改接入新的视频监控厂商SDK;
6、无需对视频的帧数据进行解码和再次编码,转码速度非常快,在输入视频帧数据无需纠错的情况下速度相当于文件复制的速度。
附图说明
图1为本发明所提供的方法的总流程图;
图2为本发明中检测输入文件的类型的流程图;
图3为本发明中打开输入文件的流程图;
图4为本发明中转码并输出输出文件的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步阐述。
图1示出了本发明所提供的方法的总流程图,如图1所示,本发明的方法包括以下步骤:
S100:确定待转码的源视频文件作为输入文件,转码后的文件作为输出文件,将输入文件及输出文件存放在不同的路径下;
S200:检测输入文件的类型,包括如图2所示的以下具体步骤:
S201:读取并加载配置文件,配置文件包括转码配置类型信息,转码配置类型信息包括转码配置类型[sdk]、[rate]、[x264]、[h264]及[ffmpeg],其中,配置文件包括键值对,键值对的格式为X1=Y1[,Y2[,Y3]],其中,
X1为键,表示视频格式之一;
Y1为值的第一字段,表示特征信息;
Y2为值的第二字段,表示特征偏移位置;
Y3为值的第三字段,表示视频头偏移地址;
例如,将键值对定义如下:
格式:X1=Y1[,Y2[,Y3]]
示例:f360=61766331,0x10
X1是“键”,表示一种视频格式,由1个字母加3个字母或数字组成;示例中为f360,首字母f表示位于[ffmpeg]配置中,360是视频监控厂商名称的缩写,合起来表示可以用ffmpeg处理的一种360视频监控厂商的监控视频格式。
Y1是“值”的第一字段,表示特征信息,以16进制字符串表示,示例中为61766331。
Y2是“值”的第二字段,为特征偏移位置,以0x表示16进制,否则默认为10进制,为空时则使用默认值0;示例中为0x10,即10进制的16。
Y3是“值”的第三字段,表示视频头偏移地址,可以为空,当前两个字段匹配成功时,则确定视频格式为当前“键”对应的视频格式,并可以直接指定偏移地址参数为此字段的值;示例中该值为空。
S202:判断输入文件的配置文件中键值对的格式是否与步骤S201中的键值对的格式匹配,如果是,执行步骤S203,否则执行步骤S204;
S203:读取输入文件的配置文件中键值对的第二字段作为地址,读取地址中的内容,判断内容是否与步骤S201中的键值对的第一字段相同,如果是,执行步骤S205,否则执行步骤S204;
S204:使用步骤S201中配置文件的下一键值对作为匹配项,执行步骤S202;
S205:使用当前键值对的第一字段、第二字段及第三字段作为转码器的参数;
本实施例中的配置文件需对各厂商视频文件进行分析,查找出其共有的特征,然后使用ffmpeg、h264、各监控厂商的SDK相关工具尝试打开,根据测试结果生成配置文件,具体地,
[sdk]类型的配置文件,只能使用SDK进行转码,若SDK支持转封装则优先实现;
[rate]类型的配置文件,需要先使用SDK取帧率,再使用ffmpeg转码;
[x264]类型的配置文件,需要先使用SDK取帧率,再使用h264探测视频头偏移地址,最后再使用ffmpeg转码;
[h264]类型的配置文件,需要先使用h264探测视频头偏移地址,然后使用ffmpeg转码;
[ffmpeg]类型的配置文件,直接使用ffmpeg转码。
S300:打开输入文件,包括如图3所示的以下具体步骤:
S301:获取步骤S205中转码器的参数;
S302:采用当前转码器打开当前输入文件,如果打开成功,执行步骤S304,否则执行步骤S303;
S303:判断当前输入文件的视频格式是否为h264,如果是,执行步骤S304,否则结束本流程;具体地,使用文件类型检测方式获取的转码器无法正确打开输入视频,可以测试视频是否为h264格式,即,探测NAL帧且解码出的帧长、宽均不为0,如果探测失败则说明本方法不支持。
S304:设置转码器的输出路径,如果当前输入文件的视频格式为h264,则读取当前键值对的第三字段作为转码器的参数。
S400:转码并输出输出文件,包括如图4所示的以下具体步骤:
S401:根据当前输入文件中的流信息,生成对应的输出文件的流信息,其中,输入文件中的流信息包括视频流、音频流、字幕流;
S402:调用ffmpeg的API,将输出文件头信息写入到当前输出文件;
S403:循环读取当前输入文件的数据帧,将信息PTS、DTS、duration转换后写入输出文件;
S404:判断是否能读出下一帧,如果是,执行步骤S402,否则执行步骤S405;
S405:将缓冲区中的数据写入当前输出文件,清除临时信息。
通过本发明提供的方法,解决了现有技术中尚无监控视频快速转码的方法的技术问题。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (3)
1.监控视频快速转码的方法,其特征在于包括以下步骤:
S100:确定待转码的源视频文件作为输入文件,转码后的文件作为输出文件,将所述输入文件及输出文件存放在不同的路径下;
S200:检测所述输入文件的类型,包括以下具体步骤:
S201:读取并加载配置文件,所述配置文件包括转码配置类型信息,所述转码配置类型信息包括转码配置类型[sdk]、[rate]、[x264]、[h264]及[ffmpeg],其中,
[sdk]类型的配置文件,只能使用SDK进行转码,若SDK支持转封装则优先实现;
[rate]类型的配置文件,需要先使用SDK取帧率,再使用ffmpeg转码;
[x264]类型的配置文件,需要先使用SDK取帧率,再使用h264探测视频头偏移地址,最后再使用ffmpeg转码;
[h264]类型的配置文件,需要先使用h264探测视频头偏移地址,然后使用ffmpeg转码;
[ffmpeg]类型的配置文件,直接使用ffmpeg转码;
所述配置文件包括键值对,所述键值对的格式为X1=Y1[,Y2[,Y3]],其中,
X1为键,表示视频格式之一;
Y1为值的第一字段,表示特征信息;
Y2为值的第二字段,表示特征偏移位置;
Y3为值的第三字段,表示视频头偏移地址;
S202:判断所述输入文件的配置文件中键值对的格式是否与所述步骤S201中的键值对的格式匹配,如果是,执行步骤S203,否则执行步骤S204;
S203:读取所述输入文件的配置文件中键值对的第二字段作为地址,读取所述地址中的内容,判断所述内容是否与所述步骤S201中的键值对的第一字段相同,如果是,执行步骤S205,否则执行步骤S204;
S204:使用所述步骤S201中所述配置文件的下一键值对作为匹配项,执行所述步骤S202;
S205:使用当前键值对的第一字段、第二字段及第三字段作为转码器的参数;
S300:打开所述输入文件;
S400:转码并输出所述输出文件。
2.根据权利要求1所述的监控视频快速转码的方法,其特征在于,所述步骤S300包括以下步骤:
S301:获取所述步骤S205中转码器的参数;
S302:采用当前转码器打开当前输入文件,如果打开成功,执行步骤S304,否则执行步骤S303;
S303:判断当前输入文件的视频格式是否为h264,如果是,执行步骤S304,否则结束本流程;
S304:设置转码器的输出路径,如果当前输入文件的视频格式为h264,则读取当前键值对的第三字段作为转码器的参数。
3.根据权利要求2所述的监控视频快速转码的方法,其特征在于,所述步骤S400的具体步骤为:
S401:根据当前输入文件中的流信息,生成对应的输出文件的流信息,其中,所述输入文件中的所述流信息包括视频流、音频流、字幕流;
S402:调用ffmpeg的API,将输出文件头信息写入到当前输出文件;
S403:循环读取当前输入文件的数据帧,将信息PTS、DTS、duration转换后写入输出文件;
S404:判断是否能读出下一帧,如果是,执行步骤S402,否则执行步骤S405;
S405:将缓冲区中的数据写入当前输出文件,清除临时信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811463874.5A CN109474827B (zh) | 2018-12-03 | 2018-12-03 | 监控视频快速转码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811463874.5A CN109474827B (zh) | 2018-12-03 | 2018-12-03 | 监控视频快速转码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109474827A CN109474827A (zh) | 2019-03-15 |
CN109474827B true CN109474827B (zh) | 2022-11-29 |
Family
ID=65674870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811463874.5A Active CN109474827B (zh) | 2018-12-03 | 2018-12-03 | 监控视频快速转码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109474827B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110099252B (zh) * | 2019-05-06 | 2021-01-08 | 四川效率源信息安全技术股份有限公司 | 一种转换监控视频为可播放视频的方法 |
CN114339389B (zh) * | 2022-01-10 | 2024-05-14 | 稿定(厦门)科技有限公司 | 音视频系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409843A (zh) * | 2008-12-05 | 2009-04-15 | 中国电信股份有限公司 | 应用于移动视频监控的智能转码方法和设备 |
CN102045312A (zh) * | 2009-10-21 | 2011-05-04 | 三星电子(中国)研发中心 | 自适应转码方法和系统 |
CN102811235A (zh) * | 2011-06-01 | 2012-12-05 | 腾讯科技(深圳)有限公司 | 一种媒体文件离线下载方法、装置及离线下载服务器 |
CN103327052A (zh) * | 2012-03-22 | 2013-09-25 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
CN103686209A (zh) * | 2013-12-13 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 具有多元化机制的转码处理的方法和系统 |
CN104967912A (zh) * | 2015-07-01 | 2015-10-07 | 四川效率源信息安全技术有限责任公司 | 监控视频无需转码直接播放的方法 |
CN104980752A (zh) * | 2015-06-11 | 2015-10-14 | 武汉大千信息技术有限公司 | 利用cpu和gpu实现多路自适应并行转码的方法及系统 |
CN105187835A (zh) * | 2014-05-30 | 2015-12-23 | 阿里巴巴集团控股有限公司 | 基于内容的自适应视频转码方法及装置 |
CN105578205A (zh) * | 2014-10-27 | 2016-05-11 | 深圳国微技术有限公司 | 一种视频转码方法和系统 |
WO2017107514A1 (zh) * | 2015-12-21 | 2017-06-29 | 乐视控股(北京)有限公司 | 离线转码方法和系统 |
CN108063953A (zh) * | 2017-12-28 | 2018-05-22 | 武汉烽火众智数字技术有限责任公司 | 视频转码网关、监控系统以及视频转码网关的转码方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101909211B (zh) * | 2010-01-04 | 2012-05-23 | 西安电子科技大学 | 基于快速模式判决的h.264/avc高效转码器 |
CN102957902B (zh) * | 2011-08-22 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 音视频转码参数的适配方法及装置 |
CN102768676B (zh) * | 2012-06-14 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 一种格式未知文件的处理方法和装置 |
CN103404146B (zh) * | 2013-03-11 | 2016-10-12 | 华为技术有限公司 | 视频文件修复方法及装置 |
CN103702138A (zh) * | 2013-11-29 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 自适应指定转码的方法和系统 |
WO2016109770A1 (en) * | 2014-12-31 | 2016-07-07 | Imagine Communications Corp. | Fragmented video transcoding systems and methods |
-
2018
- 2018-12-03 CN CN201811463874.5A patent/CN109474827B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409843A (zh) * | 2008-12-05 | 2009-04-15 | 中国电信股份有限公司 | 应用于移动视频监控的智能转码方法和设备 |
CN102045312A (zh) * | 2009-10-21 | 2011-05-04 | 三星电子(中国)研发中心 | 自适应转码方法和系统 |
CN102811235A (zh) * | 2011-06-01 | 2012-12-05 | 腾讯科技(深圳)有限公司 | 一种媒体文件离线下载方法、装置及离线下载服务器 |
CN103327052A (zh) * | 2012-03-22 | 2013-09-25 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
CN103686209A (zh) * | 2013-12-13 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 具有多元化机制的转码处理的方法和系统 |
CN105187835A (zh) * | 2014-05-30 | 2015-12-23 | 阿里巴巴集团控股有限公司 | 基于内容的自适应视频转码方法及装置 |
CN105578205A (zh) * | 2014-10-27 | 2016-05-11 | 深圳国微技术有限公司 | 一种视频转码方法和系统 |
CN104980752A (zh) * | 2015-06-11 | 2015-10-14 | 武汉大千信息技术有限公司 | 利用cpu和gpu实现多路自适应并行转码的方法及系统 |
CN104967912A (zh) * | 2015-07-01 | 2015-10-07 | 四川效率源信息安全技术有限责任公司 | 监控视频无需转码直接播放的方法 |
WO2017107514A1 (zh) * | 2015-12-21 | 2017-06-29 | 乐视控股(北京)有限公司 | 离线转码方法和系统 |
CN108063953A (zh) * | 2017-12-28 | 2018-05-22 | 武汉烽火众智数字技术有限责任公司 | 视频转码网关、监控系统以及视频转码网关的转码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109474827A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101501620B1 (ko) | 멀티미디어 컨텐츠-적응 통지의 생성 및 전달 | |
CN109474827B (zh) | 监控视频快速转码的方法 | |
US20130298171A1 (en) | Device for generating content data, method for generating content data, and recording medium | |
EP1610557A1 (en) | System and method for embedding multimedia processing information in a multimedia bitstream | |
US20120201290A1 (en) | Method and system for media file compression | |
US20060104525A1 (en) | System and method for lossless compression of digital images | |
JP2005327442A5 (zh) | ||
WO2008072452A1 (ja) | 動画像復号化装置、半導体装置、映像機器および動画像復号化方法 | |
KR20180100368A (ko) | 이미지의 복호화 및 부호화 방법, 복호화 및 부호화 장치, 디코더 및 인코더 | |
US7793207B2 (en) | Converting text data into binary data using external link information | |
US8208783B2 (en) | Image processing apparatus and image processing method | |
JP5587779B2 (ja) | メディアデータコンテナとメタデータコンテナとを有するファイルを格納し読み取るための装置及び方法 | |
US20060133507A1 (en) | Picture information decoding method and picture information encoding method | |
US8565299B2 (en) | Method and apparatus for processing audio/video bit-stream | |
US20060059509A1 (en) | System and method for embedding commercial information in a video bitstream | |
KR101427647B1 (ko) | 패킷 생성과 처리에 관한 방법 및 그 장치 | |
US20060098960A1 (en) | Data stream format conversion method and recording method for the same | |
US7602801B2 (en) | Packet processing device and method | |
KR101051063B1 (ko) | 영상 수록 재생 장치, 영상 수록 방법, 영상 재생 방법 및 영상 수록 재생 방법 | |
US20060245657A1 (en) | Image processing method and method for detecting differences between different image macro-blocks | |
CN113727116B (zh) | 基于过滤机制的视频解码方法 | |
US20060056506A1 (en) | System and method for embedding multimedia compression information in a multimedia bitstream | |
US20070160043A1 (en) | Method, medium, and system encoding and/or decoding audio data | |
US8103146B2 (en) | DVD player and optical disk reproducing apparatus | |
KR101251830B1 (ko) | 비디오 데이터 처리 장치 및 비디오 데이터 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |