C语言音视频技术

好消息:《SRS原理》一书荣获官方推荐,访问地址:https://srs.xianwaizhiyin.net

本文 ffmpeg4.4.1 源码为准,用以下命令分析 ffmpeg.c 里面的硬件加速逻辑实现。 命令如下: ffmpeg.exe -hwaccel cuvid -vcodec h264_cuvid -i juren_10s.mp4 -vcodec h264_nvenc -acodec copy juren_h264_nvenc_10s.mp4 ...

发布 0 条评论

假设你已经阅读完 本站的 《源码分析》专栏。具备编译,调试 ffmpeg 源代码的能力。本文主要介绍如何 一步一步成为 ffmpeg 开发者。 提前了解: ffmpeg 的 git 仓库:https://git.ffmpeg.org/gitweb/ffmpeg.git git 使用手...

发布 0 条评论

本文以 ffmpeg-n4.4.1 的版本为准,移植 ffmpeg.c 的工程到 qt creator 里面调试,用 qt msvc 的方式编译调试。 过往的文章调试 ffmpeg.c 都是用的 qt MinGw 方式。今天就来介绍一下如何移植 ffmpeg.c 工程,并且能用 qt msvc 方...

发布 0 条评论

本文以 ffmpeg-n4.4.1 的版本为准,主要分析 ffmpeg 项目中 Makefile 的逻辑。 我的环境是window10 + msys2 ,以这个环境为基础进行讲解。 《ffmpeg-configure编译分析》 之前已经讲解了 configure 的作用,就是根据不同的编译...

发布 0 条评论

Linux静态库使用 的使用其实跟 《msys2-gcc静态库使用》是差不多的。 本文来讲Linux的so动态库,码如下: 注意不要在 msys2 环境操作,msys2 没有 so动态库。 又或者,如果 myMath 是一个动态库,又二级嵌套引用又会怎样,...

发布 0 条评论

上篇文章是《msys2-gcc静态库使用》,本文来讲动态库,代码如下: myTest.h : int my_test(int a, int b); myTest.c : #include "myTest.h" int my_test(int a, int b) { return a + b; } myMath.h : ...

发布 0 条评论

对于静态库的使用,网上多数文章讲的是一级嵌套,例如 main.c 引用了 myMath.a 静态库。但是如果 myMath.a 又引用了另一个静态 myTest.a 会怎么样。 gcc -o 生成可执行文件的时候,需不需要 指定 -L myTest.a?还是编译出 myMath....

发布 0 条评论

本文以 ffmpeg-n4.4.1 的版本为准,主要分析 ffmpeg 项目中 configure (shell脚本)的逻辑。 configure (shell 脚本)的代码里面有些不太容易理解的shell语法,在本文开头先进行一下讲解。 1,: ${ncols:=72} ,首先前面首字...

发布 0 条评论

今天主要讲讲生活中常见的收藏骗局。 本文具有非常主观的个人色彩,本文不对正确性负责。 之前在某个知识星球,看到一个人的分享,说他 16 岁通过收藏人民币挣到了1万块钱。我复述一下他是怎么挣到这个钱。 那个时间中国第...

发布 0 条评论

上一篇讲完 writer_open() 是如何初始化 WriterContext 的。 WriterContext 初始化完成之后,后面的就是打印各种信息,用QT断点调试一下很容易弄懂。 下面以 ffprobe -show_library_versions 为例,展示一下打印代码。 ...

发布 0 条评论