CN112449213A - 一种基于FFmpeg实现的HLS切片服务方案 - Google Patents

一种基于FFmpeg实现的HLS切片服务方案 Download PDF

Info

Publication number
CN112449213A
CN112449213A CN202011332237.1A CN202011332237A CN112449213A CN 112449213 A CN112449213 A CN 112449213A CN 202011332237 A CN202011332237 A CN 202011332237A CN 112449213 A CN112449213 A CN 112449213A
Authority
CN
China
Prior art keywords
slicing
data
video
processing
ffmpeg
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.)
Pending
Application number
CN202011332237.1A
Other languages
English (en)
Inventor
周益彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Shidong Technology Co ltd
Original Assignee
Hangzhou Shidong Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Shidong Technology Co ltd filed Critical Hangzhou Shidong Technology Co ltd
Priority to CN202011332237.1A priority Critical patent/CN112449213A/zh
Publication of CN112449213A publication Critical patent/CN112449213A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream

Abstract

本发明公开了一种基于FFmpeg实现的HLS切片服务方案,包括以下步骤;步骤(1)、切片服务从音视频输入源中获取到媒体数据流以后,判断是否需要对输入源进行解协议;步骤(2)、处理步骤1中的输出数据;步骤(3)、处理步骤(2)中的输出数据;步骤(4)、复用处理是对步骤(2)或者步骤(3)的压缩的音视频数据写入到最终的切片文件中;步骤(5)、步骤(4)生成的切片文件最终通过分发服务发布到HTTP服务器上,终端用户就可以使用播放客户端去观看视频。本发明可兼容更多格式的输入码流,并可以以更灵活,更容易拓展的方式来实现切片服务,当有新的协议,封装格式,编码类型的码流接入时,也可以以很小的改动来进行兼容。

Description

一种基于FFmpeg实现的HLS切片服务方案
技术领域
本发明涉及计算机软件技术领域,具体为一种基于FFmpeg实现的HLS切片服务方案。
背景技术
HLS (HTTP Live Streaming)是Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,媒体分片文件和key加密串文件。其中媒体分片文件的生成是其中的一个重要环节,我们一般使用一个切片服务来生成分片。因为切片服务可能需要面临种类繁多的协议类型,封装格式及音视频编码类型,这对切片服务的兼容性及灵活性提出了挑战。Apple官方提供了mediafilesegmenter工具来生成分片,对于本地媒体文件的处理基本能满足要求,但是对于需要结合现有架构进行实时流切片就相对比较有局限性了,使用很不灵活,兼容性也不够强,除了使用FFmpeg,也有一些其他的工具也可以进行切片服务的开发,但相比FFmpeg都没有什么优势。
针对提供的切片方法并不能很好的满足结合现有架构进行切片,以及兼容多种协议、封装格式及编码类型的转换的问题,提出一种基于FFmpeg实现的HLS切片服务方案。
发明内容
本发明的目的在于提供一种基于FFmpeg实现的HLS切片服务方案,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于FFmpeg实现的HLS切片服务方案,包括以下步骤;
步骤(1)、切片服务从音视频输入源中获取到媒体数据流以后,判断是否需要对输入源进行解协议,如果需要解协议,则调用FFmpeg的libavformat的相关接口初始化其支持的协议的相关结构体,再调用相关接口去做解协议的处理,否则进行到下一步,判断其是否需要进行解复用的处理;
步骤(2)、处理步骤1中的输出数据,如果需要进行解复用处理,则使用libavformat中的解利用相关接口获取到分离的音视频负载数据,否则进行到下一步,判断其是否需要进行转码的处理;
步骤(3)、处理步骤(2)中的输出数据,如果需要进行转码处理,则使用libavcodec中的编解码相关接口获取到解码后的音视频数据,再调用其编码接口,获取到压缩的音视频数据,否则直接进行到下一步,对步骤(2)中解复用的音视频负载进行复用处理;
步骤(4)、复用处理是对步骤(2)或者步骤(3)的压缩的音视频数据写入到最终的切片文件中;
步骤(5)、步骤(4)生成的切片文件最终通过分发服务发布到HTTP服务器上,终端用户就可以使用播放客户端去观看视频。
优选的,步骤(4)中,所述分发服务发布包括切片的类型、等级和版本信息的切片请求,并接收切片服务器返回的切片数据。
优选的,步骤(5)中,所述播放客户端可以缓存更新的切片数据,确认客户端缓存有效。
优选的,步骤(5),所述HTTP服务器包括分别与切片服务器和客户端相连接的WEB加速缓存服务器,所述WEB加速缓存服务器用于缓存切片服务器发送给客户端的切片数据,并返回给客户端,还用于接收客户端发送给切片服务器的切片请求。
本发明提出的一种基于FFmpeg实现的HLS切片服务方案,有益效果在于:本发明可兼容更多格式的输入码流,并可以以更灵活,更容易拓展的方式来实现切片服务,当有新的协议,封装格式,编码类型的码流接入时,也可以以很小的改动来进行兼容。
附图说明
图1为本发明所述一种基于FFmpeg实现的HLS切片服务方案的原理框图;
图2为本发明所述一种基于FFmpeg实现的HLS切片服务方案的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1、请参阅图1-2,本发明提供一种技术方案:一种基于FFmpeg实现的HLS切片服务方案,包括以下步骤;
步骤(1)、切片服务从音视频输入源中获取到媒体数据流以后,判断是否需要对输入源进行解协议,如果需要解协议,则调用FFmpeg的libavformat的相关接口初始化其支持的协议的相关结构体,再调用相关接口去做解协议的处理,否则进行到下一步,判断其是否需要进行解复用的处理;
步骤(2)、处理步骤1中的输出数据,如果需要进行解复用处理,则使用libavformat中的解利用相关接口获取到分离的音视频负载数据,否则进行到下一步,判断其是否需要进行转码的处理;
步骤(3)、处理步骤(2)中的输出数据,如果需要进行转码处理,则使用libavcodec中的编解码相关接口获取到解码后的音视频数据,再调用其编码接口,获取到压缩的音视频数据,否则直接进行到下一步,对步骤(2)中解复用的音视频负载进行复用处理;
步骤(4)、复用处理是对步骤(2)或者步骤(3)的压缩的音视频数据写入到最终的切片文件中;
分发服务发布包括切片的类型、等级和版本信息的切片请求,并接收切片服务器返回的切片数据;
步骤(5)、步骤(4)生成的切片文件最终通过分发服务发布到HTTP服务器上,终端用户就可以使用播放客户端去观看视频;
播放客户端可以缓存更新的切片数据,确认客户端缓存有效;
HTTP服务器包括分别与切片服务器和客户端相连接的WEB加速缓存服务器,所述WEB加速缓存服务器用于缓存切片服务器发送给客户端的切片数据,并返回给客户端,还用于接收客户端发送给切片服务器的切片请求。
通过使用FFmpeg提供的libav相关库在切片服务进行切片前对音视频输入源进行解协议后,得到音视频数据包,再对音视频数据包进行解复用,得到音视频负载数据,根据切片服务的需要来决定是否需要对音视频数据转码,如果需要做转码,则使用FFmpeg的libavcodec相关接口将音视频数据进行解码,再进行编码,然后再使用FFmpeg的libavformat相关接口将编码后的音视频压缩数据复用,音视频输入源经过前处理以后,再根据业务需要决定最终生成的切片格式:TS或者fMP4。生成的切片文件交给分发服务,最终用户通过播放器客户端来观看视频。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (4)

1.一种基于FFmpeg实现的HLS切片服务方案,其特征在于:包括以下步骤;
步骤(1)、切片服务从音视频输入源中获取到媒体数据流以后,判断是否需要对输入源进行解协议,如果需要解协议,则调用FFmpeg的libavformat的相关接口初始化其支持的协议的相关结构体,再调用相关接口去做解协议的处理,否则进行到下一步,判断其是否需要进行解复用的处理;
步骤(2)、处理步骤1中的输出数据,如果需要进行解复用处理,则使用libavformat中的解利用相关接口获取到分离的音视频负载数据,否则进行到下一步,判断其是否需要进行转码的处理;
步骤(3)、处理步骤(2)中的输出数据,如果需要进行转码处理,则使用libavcodec中的编解码相关接口获取到解码后的音视频数据,再调用其编码接口,获取到压缩的音视频数据,否则直接进行到下一步,对步骤(2)中解复用的音视频负载进行复用处理;
步骤(4)、复用处理是对步骤(2)或者步骤(3)的压缩的音视频数据写入到最终的切片文件中;
步骤(5)、步骤(4)生成的切片文件最终通过分发服务发布到HTTP服务器上,终端用户就可以使用播放客户端去观看视频。
2.根据权利要求1所述的一种基于FFmpeg实现的HLS切片服务方案,其特征在于:步骤(4)中,所述分发服务发布包括切片的类型、等级和版本信息的切片请求,并接收切片服务器返回的切片数据。
3.根据权利要求1所述的一种基于FFmpeg实现的HLS切片服务方案,其特征在于:步骤(5)中,所述播放客户端可以缓存更新的切片数据,确认客户端缓存有效。
4.根据权利要求1所述的一种基于FFmpeg实现的HLS切片服务方案,其特征在于:步骤(5),所述HTTP服务器包括分别与切片服务器和客户端相连接的WEB加速缓存服务器,所述WEB加速缓存服务器用于缓存切片服务器发送给客户端的切片数据,并返回给客户端,还用于接收客户端发送给切片服务器的切片请求。
CN202011332237.1A 2020-11-25 2020-11-25 一种基于FFmpeg实现的HLS切片服务方案 Pending CN112449213A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011332237.1A CN112449213A (zh) 2020-11-25 2020-11-25 一种基于FFmpeg实现的HLS切片服务方案

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011332237.1A CN112449213A (zh) 2020-11-25 2020-11-25 一种基于FFmpeg实现的HLS切片服务方案

Publications (1)

Publication Number Publication Date
CN112449213A true CN112449213A (zh) 2021-03-05

Family

ID=74737907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011332237.1A Pending CN112449213A (zh) 2020-11-25 2020-11-25 一种基于FFmpeg实现的HLS切片服务方案

Country Status (1)

Country Link
CN (1) CN112449213A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055717A (zh) * 2021-03-08 2021-06-29 快媒数字科技有限公司 一种hls流媒体drm的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796796A (zh) * 2015-04-21 2015-07-22 范文鲜 提高Android平台的HLS流播放器容错的方法
CN107018446A (zh) * 2017-04-07 2017-08-04 无锡职业技术学院 一种网络视频点播以及直播的推流方法
CN107277081A (zh) * 2016-04-06 2017-10-20 北京优朋普乐科技有限公司 流媒体数据的切片下载方法和装置、流媒体系统
CN108391176A (zh) * 2018-04-09 2018-08-10 四川百视通科技有限公司 一种rtmp协议到hls协议的实时转换系统及其工作方法
CN109168090A (zh) * 2018-10-22 2019-01-08 中电科新型智慧城市研究院有限公司 利用gpu实现h264视频流转hls视频流的方法
US10182269B1 (en) * 2018-04-24 2019-01-15 Verizon Patent And Licensing Inc. HTTP live streaming delivery over multicast
CN110933476A (zh) * 2019-12-06 2020-03-27 杭州视洞科技有限公司 一种基于Relay的HLS首屏时间优化方案

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796796A (zh) * 2015-04-21 2015-07-22 范文鲜 提高Android平台的HLS流播放器容错的方法
CN107277081A (zh) * 2016-04-06 2017-10-20 北京优朋普乐科技有限公司 流媒体数据的切片下载方法和装置、流媒体系统
CN107018446A (zh) * 2017-04-07 2017-08-04 无锡职业技术学院 一种网络视频点播以及直播的推流方法
CN108391176A (zh) * 2018-04-09 2018-08-10 四川百视通科技有限公司 一种rtmp协议到hls协议的实时转换系统及其工作方法
US10182269B1 (en) * 2018-04-24 2019-01-15 Verizon Patent And Licensing Inc. HTTP live streaming delivery over multicast
CN109168090A (zh) * 2018-10-22 2019-01-08 中电科新型智慧城市研究院有限公司 利用gpu实现h264视频流转hls视频流的方法
CN110933476A (zh) * 2019-12-06 2020-03-27 杭州视洞科技有限公司 一种基于Relay的HLS首屏时间优化方案

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055717A (zh) * 2021-03-08 2021-06-29 快媒数字科技有限公司 一种hls流媒体drm的方法

Similar Documents

Publication Publication Date Title
KR101554997B1 (ko) 스트리밍 미디어 컨텐츠 모니터링
TWI642283B (zh) 用於封包標頭壓縮之方法及裝置
US20220224993A2 (en) Systems and methods for production of fragmented video content
US20130042100A1 (en) Method and apparatus for forced playback in http streaming
CN107634930B (zh) 一种媒体数据的获取方法和装置
US20050193138A1 (en) Storage medium storing multimedia data, and method and apparatus for reproducing the multimedia data
TW200541347A (en) Data insertion apparatus and methods for use with compressed audio/video data
WO2008061416A1 (fr) Procédé et système permettant d'accepter des données media de divers formats de codage
CN103179431A (zh) Vdi环境下音视频重定向转码分离方法
JP2005176352A (ja) 移動通信端末機の動画像ストリーミングサービスのための無線動画像ストリーミングファイル、サービス方法及びシステム
CN102783147A (zh) 预算编码
TW200829030A (en) A Method and apparatus for decoding/encoding of a video signal
CN112752115B (zh) 直播数据传输方法、装置、设备及介质
CN112740325B (zh) 即时播放帧(ipf)的生成、传输及处理的方法、设备及系统
US7461161B2 (en) Information processing apparatus and method for decoding encoded data
CN112165653B (zh) 一种视频播放方法、装置及设备
CN110519635A (zh) 一种无线集群系统的音视频媒体流合流方法及系统
CN108122558B (zh) 一种latm aac音频流的实时转容实现方法及装置
CN102254560B (zh) 一种移动数字电视录像中的音频处理方法
CN112449213A (zh) 一种基于FFmpeg实现的HLS切片服务方案
CN113382278B (zh) 视频推送方法、装置、电子设备和可读存储介质
JP2019220974A (ja) 復号装置
KR100608059B1 (ko) Mot 데이터 복호 방법 및 장치
CN110392276B (zh) 一种基于rtmp协议同步传输midi的直播录播方法
CN101193105A (zh) 一种媒体流的传送/切换方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210305

RJ01 Rejection of invention patent application after publication