摘要:简介 M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。"M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。 上述文字定义来自于维基百科。可以看到,
阅读全文
03 2022 档案
摘要:今天用gdb查看core文件,发现找不到源文件。记录一下相关命令 在gdb里面查看源码, list 一下提醒找不到相关文件,列出来的是绝对路径的完整文件名。 help files 看一下帮助,可以加载符号,源文件等,自己看一下。 dir 设置源码路径无效,show directories 看到设置成
阅读全文
摘要:如果你手头上有一个你自己或者别人开发的程序,但它有一些bug。或者你只是想知道这个程序是如何工作的。怎么办呢?你需要一个调试工具。 现在很少有人会直接对着汇编指令进行调试,通常情况下,大家都希望能对照着源代码进行调试。但是,你调试使用的主机,一般来说并不是构建程序的那台,因此你会看到如下这个令人沮丧
阅读全文
摘要:有的时候一个程序不是在同一个机器上执行的,当调试的时候就可能无法找到源代码的路径, 这时就需要使用下面的方法了: 当gdb程序找不到源码时,进行重新设置源码路径步骤: (1). 使用如下命令查看目标文件中保存的是相对路径还是绝对路径readelf -p .debug_str target_bin_f
阅读全文
摘要:在gdb程序的时候,有时候会发现源代码文件找不到,对于那些带调试信息的系统库或者第三方库,很多时候当你真正想gdb去追他源代码的时候你会发现gdb根本找不到这些源代码路径。这个时候有两种选择: 【1】如果gdb这个时候告诉你找不到这个带调试信息库的源文件路径,此时给出的路径地址是绝对路径,比如 /h
阅读全文
摘要:使用gdb调试程序时,执行gdb 可执行程序 程序进程号 报错: 解决方案: gdb -iex 'set auto-load safe-path /' 可执行程序 程序进程号
阅读全文
摘要:LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下: LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。设置方法如下(其中,LIBDIR1和LIBDIR2
阅读全文
摘要:最近调试的时候遇到一个问题,系统中安装的curl版本和调试程序依赖的curl版本不一致,编译时在Makefile里用gcc -L指定了libcurl的路径能够顺利编译,但是gdb启动程序时报错,依赖的curl动态库版本与加载的不一致,加载失败。 查阅资料发现,在osx上加载动态库的顺序是先搜索DYL
阅读全文
摘要:笔记: 当GDB无法显示so动态库的信息或者显示信息有误时,通常是由于库搜索路径错误导致的,可使用set sysroot、set solib-absolute-prefix、set solib-search-path来指定库搜索路径。 1. set sysroot 与 set solib-absol
阅读全文
摘要:本文目录: 一、AVFilterGraph 、AVFilterContext、AVFilter 二、AVFilter 相关Api使用方法整理 三、FFmpeg Filter Buffer 和 BufferSink 相关APi的使用方法整理 四、FFmpeg AVFilter 使用整体流程 在使用FF
阅读全文
摘要:ffmpeg——av_buffersrc_add_frame分析 一、函数功能 二、使用场景 三、源码分析 一、函数功能 向滤镜源中添加一个frame,源码摘录如下: /** * Add a frame to the buffer source. * * @param ctx an instance
阅读全文
摘要:1、创建graph /** * Allocate a filter graph. * * @return the allocated filter graph on success or NULL. */ AVFilterGraph *avfilter_graph_alloc(void); 相当于一
阅读全文
摘要:使用FFmpeg的avfilter时,流程如下: 1.使用avfilter_get_by_name 创建AVFilter的实例,返回指针 2.构建buffersrc和buffersink,作为graph的输入输出端口 3.构建类型为AVFilterContext的对象,作为实际操作数据的对象 4.将
阅读全文
摘要:虽然通过声明[x][y]avfilter=a=x:b=y;avfilter=xxx的方式可以创建一个可用的Filter调用链,并且在绝大多数场合下这种方式都是靠谱和实用的。 但如果想精细化的管理AVFilter调用链,例如根据某些条件来动态生成AVFilter Graph。这种声明方式就不太灵活(也
阅读全文