音视频
文章平均质量分 67
leek5533
这个作者很懒,什么都没留下…
展开
-
FFmpeg之时间戳详解
这个要链接我之前的文章:ffmpeg的pts之解析_leek5533的博客-CSDN博客结合FFmpeg时间戳详解 - 叶余 - 博客园梳理一下时间戳,首先要有一定的I B P帧概念,和timebase 及timescale的认识,3. FFmpeg 中的时间基与时间戳3.1 时间基与时间戳的概念在 FFmpeg 中,时间基(time_base)是时间戳(timestamp)的单位,时间戳值乘以时间基,可以得到实际的时刻值(以秒等为单位)。例如,如果一个视频帧的 dts 是 40,p原创 2021-09-24 17:40:27 · 1630 阅读 · 0 评论 -
FFmpeg的player之decoder_decode_frame()
目录一、大致逻辑如下:二、发送失败重新发送packet这个函数顾名思义:解码一、大致逻辑如下:1、从video_queue里获取packet,:packet_queue_get();2、发送packet给decoder :decoder_send_packer();3、从decoder去获取,:decoder_receive_frame();这个看代码时候可能顺序不一样,这个是因为一些工程的原因:比如://流连续的情况下,不断调用avcodec_receive.原创 2021-09-23 17:39:21 · 646 阅读 · 0 评论 -
ffmpeg的player之video_refresh()
目录1、音视频同步的实现2、丢帧的时机3、这部分的代码4、自己打印的log这里有两个地方值得注意1、音视频同步的实现音视频同步关键点在计算显示时间:remaining_time;这个时间是video refresh的sleep时间,默认0.01s,也就是10ms,一刷新,一个fps=24的video,一帧差不多是0.041708s,那么得用4次刷新,但是,第五次怎么办,就得计算remaining_time了,第五次可以让0.001708s后刷新一次,这个计算是(*rema原创 2021-09-18 18:10:23 · 504 阅读 · 0 评论 -
ffmpeg的pts之解析
目录1、认识AVRational,说白了就是个分数a/b,2、第二个是video_thread()的读帧的一段,每获取一个frame就打印一下log;看pts,3、为什么这么做:1、认识AVRational,说白了就是个分数a/b,下面是定义的结构体:/** * Rational number (pair of numerator and denominator). */typedef struct AVRational{ int num; ///< N..原创 2021-09-17 13:26:55 · 2143 阅读 · 0 评论 -
Fairplay流程
目录一、概念二、流程:三、还可以通过AVContentKeyRequest获取一、概念FairPlay Streaming (FPS)Key security module (KSM)Digital Rights Management (DRM)Server Playback Context (SPC)content key context (ckc)最终结果是获取ckc(内容秘钥文)三个地址:1、流的地址url2、key server的地址:se..原创 2021-07-20 17:53:47 · 524 阅读 · 0 评论 -
Fairplay之streamingContentKeyRequestDataForApp && makeStreamingContentKeyRequestDataForApp
一、streamingContentKeyRequestDataForApp:官方api:是类 AVAssetResourceLoadingRequest 的方法:@interface AVAssetResourceLoadingRequest (AVAssetResourceLoadingRequestContentKeyRequestSupport)/*! @method streamingContentKeyRequestDataForApp:contentIdentifier..原创 2021-07-20 16:27:51 · 226 阅读 · 0 评论 -
HLS tag “CHARACTERISTICS”&&DASH的AudioPurposeCS:
CHARACTERISTICS The value is a quoted-string containing one or more Uniform Type Identifiers [UTI] separated by comma (,) characters. This attribute is OPTIONAL. Each UTI indicates an individual characteristic of the rendition. A SUBTITL.原创 2021-06-10 16:05:50 · 139 阅读 · 0 评论 -
DASH流mpd文件注释---比较详细
<!--profiles:不同的profile对应不同的MPD要求和Segment格式要求mediaPresentationDuration:整个节目的时长minBufferTime:至少需要缓冲的时间type:点播对应static,直播对应dynamicavailabilityStartTime="2016-06-28T08:16:57Z":如果是直播流的话,则必须提供,代表MPD中所有Seg从该时间开始可以request了minimumUpdatePeriod="PT10H":至少每隔.原创 2021-06-09 17:35:28 · 2851 阅读 · 2 评论 -
DASH流
eg1:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><MPD id="f08e80da-bf1d-4e3d-8899-f0f6155f6efa" profiles="urn:mpeg:dash:profile:isoff-main:2011" type="static" availabilityStartTime="2015-08-04T09:33:14.000Z" publishTime="2015-08-04T10.原创 2021-06-09 16:49:26 · 640 阅读 · 0 评论 -
GOP I帧和IDR帧
IDR帧属于I帧。解码器收到IDRframe时,将所有的参考帧队列丢弃(用x264_reference_reset函数实现——在encoder.c文件中)。这点是所有I帧共有的特性,但是收到IDR帧时,解码器另外需要做的工作就是:把所有的PPS和SPS参数进行更新。由此可见,在编码器端,每发一个IDR,就相应地发一个PPS&SPS_nal_unithttps://blog.csdn.net/leek5533/article/details/1049...原创 2021-04-14 18:04:48 · 775 阅读 · 0 评论 -
监听Apple tv网络请求(有线)
这是监听有线的Apple tv, 无线的Apple后续补充1、需要两个软件:Apple Configurator 2Charles:https://blog.csdn.net/leek5533/article/details/1087841302、Supervise Device3、Profile CreationClose the Profile by clicking the red circle and save the configuration (.m...原创 2020-10-13 10:04:21 · 344 阅读 · 0 评论 -
macos配置FFmpeg
1、进入FFmpeg源代码目录,运行配置命令https://www.jianshu.com/p/85f905ddb36f2、配置环境变量https://www.jianshu.com/p/ab469a2ffd28原创 2020-07-28 22:58:09 · 181 阅读 · 0 评论 -
网页app 的player
http://demo.theoplayer.com/test-your-stream-with-statistics原创 2020-05-15 15:45:42 · 207 阅读 · 0 评论 -
AC3
http://stnsoft.com/DVD/ac3hdr.htmlhttps://blog.csdn.net/tx3344/article/details/7414543https://blog.csdn.net/hiccupzhu/article/details/9021643原创 2020-04-29 19:35:46 · 152 阅读 · 0 评论 -
closed caption
closed caption原创 2020-04-10 16:46:37 · 421 阅读 · 0 评论 -
TS格式详解
之前都是别人总结的,现在感觉看了那么多之后也有了自己的认识,还是Mark一下吧,方便以后回顾。一、基本概念 关于ts的封包,ts的封装格式要比flv更复杂,主要的数据单元是ts包,每个包有pid,一个包固定大小普通没有crc的为188,主要分为三类ts包,pat,pmt,pes,pat就是第一个包,当解析的时候会在ts包列表里找pid为0x0的包,就是pat包,pat大概作用就...原创 2020-03-20 19:39:24 · 9718 阅读 · 1 评论 -
TS格式的解析
值得好好研究研究参考:https://www.jianshu.com/p/d6311f03b81fhttps://blog.csdn.net/qq_41786131/article/details/90405715https://www.cnblogs.com/CoderTian/p/7198765.html原创 2020-03-18 19:52:31 · 179 阅读 · 0 评论 -
音视频帧关于PCR同步问题
PCR同步在非硬件精确时钟源的情况还是谨慎使用,gstreamer里面采用PCR同步,但是发现好多ffmpeg转的片儿,或者是CP方的片源,pcr打得很粗糙的,老是有跳帧等现象。音视频同步,有三种方法,视频同步音频,音频同步视频,同步到外部时钟!第三种,同步到外部时钟也就是PCR同步,和我上面说的那种同步方式,一样!用的最多的还是,视频同步音频,为什么呢?音频的采样率是固定的,若音频稍...原创 2020-03-18 19:35:43 · 775 阅读 · 0 评论