自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (8)
  • 收藏
  • 关注

原创 关于FFMPEG编译调试FFPLAY网络未返回HTTP Header的问题

追踪avio_read发现从网络中读取的MPD数据是从<Period duration="PT0H15M37.045S">这个位置开始。对比正常运行的日志记录,软件并未返回HTTP响应却返回了MPD文件的内容,导致http在get_line的时候,把MPD数据的头部给丢掉了,直到遇到了下一个新的空行。这是问题所在,但原因是什么呢?调试windows上的send及revc函数没有返回错误。使用google chrome浏览器抓包情况也是无HTTP HEADER响应,但可以下载到MPD文件,后来发现,

2024-04-29 18:27:42 223

原创 Gstreamer Dash直播数据下载分析

本文也分析始于列表下载,止于container数据送到文件demux,比如送到qtdemux,主要是数据下载,尔后的流程不在本文讨论范围。主要包括gst_adaptive_demux_stream_download_loop任务,gst_adaptive_demux_updates_loop任务和gst_system_clock_async_thread,_src_chain这几方面的任务,Dash直播的时候,音视频可能会分开,因此,数据下载可能会有多个任务,也就是gs

2023-03-16 17:14:47 294

原创 FFMPEG之bitstream_filter

ctx->par_in->extradata + 4跳过的字节如下图所示。跳过的字节就是红色框中的内容。此时length_size为4,unit_nb是1。static int h264_extradata_to_annexb(AVBSFContext *ctx, const int padding){ H264BSFContext *s = ctx->priv_data; uint16_t unit_size; uint64_t total_s...

2023-03-09 17:05:55 1148

原创 从零开始成为GStreamer专家——HTTPS支持

Gstremer https支持

2023-02-23 13:33:12 714

原创 从零开始成为GStreamer专家——GSlice

Gslice全称应该是GSlice allocator,是一种有效的内存管理方式,它将大小相同chunk_size的内存分成内存块组,称为一个magazine,一个magazine内有许多个内存大小一样的空间。是一种节省空间、可扩展的分配大小相同的内存块的内存块管理方式

2022-12-21 13:53:16 574

原创 从零开始成为GStreamer专家——MPEG-DASH HLS开发

Gstreamer DASH HLS播放器自主开发

2022-11-10 18:48:47 1090

原创 从零开始成为GStreamer专家——RTSP播放开发

配置GStreamer RTSP播放时的时钟

2022-11-10 18:22:52 3848 4

原创 Excel VBA 巧列工作计划

有一种工作内容叫做给计划,工程师常常需要给出工作计划安排,工作天数和工作时期。所以Engineer常常需要对着日历一遍又一遍地核对日期与天数,浪费大量时间且错误率较高。作者写了一个VBA小工具,指定工作天数后,自动化计算各项工作需要的开始时间和结束时间,方便某些客户计划制定。

2022-10-25 18:18:14 622

原创 Audio格式汇编

LATM和LOAS都用于低开销的audio传输中,LATM数据包中的AudioSpecificConfig可以用带内也可带外传送,由于AudioSpecificConfig 一般不变,在MP4格式的文件中,可以只在文件头部信息中描述一次,将AudioSpecificConfig 信息一次发送给解码器,这称为带外传送。一般情况下ADTS的头信息是7个字节,分为2adts_fixed_header和adts_variable_header部分,同步字符是0xFFF,代表一帧的开始和上一帧的结束。

2022-09-30 10:15:03 440

原创 从零开始成为GStreamer专家——GStreamer类型系统

GStreamer类型系统Gstreamer的类型系统来源于GLib Object System,GLib对基本类型进行了重新映射,同时实现了如Lists,hash表等等算法,它比Gobject的类型更通用。Gobject和它的底层类型系统Gtype被用在GTK+(图形用户界面工具包)和大多数GNOME库(Linux上的图形桌面环境库)。Gtype用C的方式实现了面向对象,用来兼容不同类型的语言和提供透明的跨语言交叉访问,比如Python和C程序的互相访问。G...

2022-01-25 22:18:00 879

原创 从零开始成为GStreamer专家——基于Windows的GStreamer从源码下载、编译到开发

写一个自己的Hello,Word!代码下载一、GStreamer下载到Sign up · GitLabfreedesktop.org GitLab loginhttps://gitlab.freedesktop.org/users/sign_up上注册一个用户。 在PC机上用ssh-keygen -t rsa -C "[email protected]"生成id_rsa.pub值,把这个值贴到下面Key框里,如果这一步不会,请搜索参考ssh-keygen的用法。 git clo...

2022-01-21 14:44:13 8537 3

原创 一文弄懂FFMPEG HLS & 加密HLS

HLS打开网络连接:#0 send#1 tcp_write libavformat/tcp.c:222#2 retry_transfer_wrapper libavformat/avio.c:355#4 http_connect libavformat/http.c:215#6 http_open at libavformat/http.c:317#7 ffurl_connect at libavformat/avio.c:204#8 ffurl_open at libavformat....

2021-12-22 10:37:32 4839

原创 OpenMax IL开发指引

前言:OpenMax IL参考网站:OpenMAX Overview - The Khronos Group IncOpenMax IL源码下载网站:Bellagio OpenMAX Integration Layer

2021-12-16 14:59:40 559

原创 FFMPEG优化的帧率估计分析

FFMPEG的帧率分析在avformat_find_stream_info中进行。主要用到了如下结构体:struct { int64_t last_dts; int64_t duration_gcd; int duration_count; int64_t rfps_duration_sum; double (*duration_error)[2][MAX_STD_TIMEBASES]; int64_t codec_info_duration; i...

2021-06-03 19:10:50 964

原创 FFMPEG 时间戳PTS校正

FFMPEG 时间戳PTS校正前言 FFMPEG时间戳校正是通过DTS来进行的,在compute_pkt_fields中实现。代码/*** Return the frame duration in seconds. Return 0 if not available.*/void ff_compute_frame_duration(AVFormatContext *s, int *pnum, int *pden, AVStream *st, ...

2021-06-01 18:26:51 1408

原创 AVI 文件格式解析

AVI 文件格式解析前言 AVI(Audio Video Interleaved 音频视频交错格式)是一种音视频的封装格式,于1992年由微软公司推出。它用RIFF(Resource Interchange File Format 资源交换文件格式)描述,包括Chunk和LIST两种结构。Chunk用来描述(音频/视频/字幕)的数据,包含在movi LIST中:Chunk标志是4字节的ASCII码标识符dwFourCC("four-character code"):Chunk...

2021-03-03 10:30:47 4522 7

原创 MKV 文件格式解析

xx

2021-02-23 19:47:15 6686 1

原创 FFMPEG 之 AVPacket

前言:FFMPEG使用版本ffmpeg-4.2.2av_packet_refint av_packet_ref(AVPacket *dst, const AVPacket *src){ int ret; /*复制src的内容到dst,整这一出是为了深拷贝。把src中side data全部拷贝到dst中去,而不是仅仅传个指针到dst。*/ ret = av_packet_copy_props(dst, src); if (ret < 0) ...

2021-01-28 17:13:08 2313 1

原创 FFMPEG 之 parser 一文搞懂FFMPEG 分帧、组帧Framimg

FFMPEG 之 parse_packet前言 现实世界中的声音图像采样后经过音视频压缩技术压缩而成的码流称为ES流(Elementary Stream),ES流中包含有解码器解码文件必须的信息,比如视频宽高,采样格式,声音的采样率,声道等等。为了方便传输,播放,将音视频ES数据打包到一个文件中,这个文件称之为音视频ES流的封装,常见的音视频封装格式有:MP3,MP4,AVI,MKV,FLV,RMVB,TS,PS等等。 例外也时有发生,有些文件在打包的时候,只包含了ES流,无封装格式...

2021-01-20 17:21:23 3230 1

原创 VLC 推RTP流

xx

2021-01-12 16:52:24 5202 1

Araxis Merge 2001 Professional

比较好的文件及文件夹差异比较工具,小巧方便,按CTRL+D切换到文件夹diff.

2016-05-15

Linux那些事儿之我是USB(第2版)

Linux那些事儿之我是USB(第2版)

2012-08-18

C/C++语言硬件程序设计——基于TMS320C5000系列DSP

C/C++语言硬件程序设计——基于TMS320C5000系列DSP 张勇 编著

2010-09-08

打包GPRS协议规范

GPRS协议规范,一共16M多,非常好的哦!

2010-05-20

CAN总线&HDL设计资料&IEEE1194&PSPICE的高频开关电源仿真实例&TCPIP源代码&ucosii

打包的多个资料文档,包括CAN总线&HDL(VHDL/VERILOG)设计资料&IEEE1194&PSPICE的高频开关电源仿真实例&TCPIP源代码&ucosii

2010-05-20

Verilog经典教程打包

包含Verilog经典教程二本,verilog逻辑仿真,verilog程序设计.....个人觉得不错哦!

2009-04-28

经典FPGA入门教程

很好的FPGA入门教程 第一章FPGACPLD概述.pdf 第2章 ALTERA可编程逻辑器件.pdf 第三章 HS102型FPGACPLD实验板.pdf 第四章 Max+plusII10.2的使用.pdf 第五章. Quartus4.2软件的使用.pdf 第六章 HS101型FPGACPLD实验板设计实例.pdf

2009-01-13

数据结构算法及原程序代码

数据结构算法及原程序代码,包含多个树,图的算法及原程序代码!

2009-01-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除