avatar
文章
50
标签
12
分类
0
首页
归档
标签
分类
关于
yxibng
搜索
首页
归档
标签
分类
关于

yxibng

ffmpeg 命令
发表于2022-09-23|ffmpeg
ffmpeg1usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... 音频转码 12345678#转码生成新的文件,目标为 - ar 采样率 44100,- ac 双声道,编码格式 aac- acodec 编码器 aacffmpeg -i source.mp3 -ar 44100 -ac 2 -acodec aac -y output.m4a# 转换为 pcmffmpeg -i source.mp3 -f s16le -acodec pcm_s16le output.raw 从 mp4 中提取 yuv 1ffmpeg -i xx.mp4 -s 960x540 -pix_fmt yuv420p xx.yuv -s 来设置 yuv 数据的分辨率 -pix_fmt 设置 yuv 的颜色格式 从mp4或flv文件中提取h264 1ffmpeg -i test.flv -vcodec copy -an -bsf:v h264_mp4toanne...
通过脚本修改xcode pbxproj文件
发表于2022-05-11|Shell
分析 xcode pbxproj 文件格式 创建一个新的iOS工程demo, 进入工程目录, 找到project.pbxproj。 12345➜ demo git:(main) ✗ lsdemo demo.xcodeproj demoTests demoUITests➜ demo git:(main) ✗ cd demo.xcodeproj➜ demo.xcodeproj git:(main) ✗ lsproject.pbxproj project.xcworkspace xcuserdata 通过code打开看看文件内容。 The Xcode project file is an old-style plist (Next style) based on braces to delimit the hierarchy. The file begins with an explicit encoding information, usually the UTF-8 one. project.pbxproj文件格式是旧式的plis...
ffplay 代码结构与总结
发表于2022-03-27|ffmpeg
ffplay 源码分析系列 - CSDNffplay源码分析1-概述 - 叶余 - 博客园 ffplay源码分析2-数据结构 - 叶余 - 博客园 ffplay源码分析3-代码框架 - 叶余 - 博客园 ffplay源码分析4-音视频同步 - 叶余 - 博客园 ffplay源码分析5-图像格式转换 - 叶余 - 博客园 ffplay源码分析6-音频重采样 - 叶余 - 博客园 ffplay源码分析7-播放控制 - 叶余 - 博客园 ffplay 源码分析系列 - 知乎 ffplay packet queue分析 ffplay frame queue分析 ffplay read线程分析 ffplay解码线程分析 ffplay video显示线程分析 ffplay audio输出线程分析 ffplay subtitle显示线程分析 ffplay音视频同步分析——基础概念 ffplay音视频同步分析——视频同步音频 ffplay音视频同步分析——音频同步视频 ffplay音视频同步分析——同步到外部时钟 ffplay 分析概述 ffplay 思维导图 ffmpeg数据流...
mac上通过 doxygen + graphviz生成函数调用图
发表于2022-03-26|ffmpeg
安装Doxygen 12brew install doxygenbrew install doxygen --cask 安装Graphviz 1brew install graphviz 配置doxygen配置工作目录,源码目录,生成文档目录 配置DOT_PATH 12➜ ~ which dot/opt/homebrew/bin/dot 生成文档和函数调用图 查看函数调用图1234➜ ff_doc lshtml latex➜ ff_doc cd html➜ html open index.html 文档生成目录下,打开html/index.html 可以看到生成的函数调用图
ffplay video_thread 分析
发表于2022-03-22|ffmpeg
去除滤镜相关,简化为 12345678910111213141516171819static int video_thread(void *arg){ for (;;) { //获取解码后的frame ret = get_video_frame(is, frame); if (ret < 0) //收到了退出请求,结束循环 goto the_end; if (!ret) continue; //根据帧率,计算frame的播放持续时间 duration = (frame_rate.num && frame_rate.den ? av_q2d((AVRational){frame_rate.den, frame_rate.num}) : 0); //根据视频流时间基计算pts pts = (frame->pts == AV_NOPTS_VALUE) ? NA...
git hooks 结合 clang-format 提交前自动格式化代码
发表于2022-03-21|c++
ClangFormat ClangFormat 描述了一组构建在 LibFormat 之上的工具。它可以以多种方式支持您的工作流,包括独立工具和编辑器集成。 其中独立的工具就是clang-format, 可用于格式化 c/c + +/Java/JavaScript/JSON/Objective-C/Protobuf/c # 代码。 clang-format的默认配置文件是.clang-format或_clang-format, 也可以通过clang-format -style=file指定配置文件。 .clang-format 使用yaml格式,指定了如何对文件格式化的规则。 可以基于预定义的样式,快速创建.clang-format文件。 LLVM A style complying with the LLVM coding standards Google A style complying with Google’s C++ style guide Chromium A style complying...
ffplay read_thread 分析
发表于2022-03-20|ffmpeg
参考: ffplay read线程分析 ffplay main 函数 做了什么 参数验证与解析 注册codecs, demux, protocols sdl 初始化,创建窗口 调用stream_open打开流 调用event_loop进入运行循环 stream_open 做了什么     主要是初始化VideoState *is,填充关键信息 初始化,分配内存is = av_mallocz(sizeof(VideoState)); 调用frame_queue_init给VideoState对应的音频,视频,字幕对应Frame队列初始化分配内存 调用packet_queue_init给VideoState对应的音频,视频,字幕对应Packet队列初始化分配内存 创建条件变量continue_read_thread, 用于控制是否继续读取或者等待 调用init_clock 初始化音频,视频,外部时钟 设置同步类型av_sync_type 创建并开启read_thread read_thread分为两个阶段: 准备阶段 循环读pkt 准备...
#pragma once 用法总结
发表于2022-03-19|c++
pragma once 用法总结pragma once 这个宏有什么用?为了避免同一个头文件被包含(include)多次,C/C++中有两种宏实现方式:一种是#ifndef方式;另一种是#pragma once方式。 在能够支持这两种方式的编译器上,二者并没有太大的区别。但两者仍然有一些细微的区别。 两者的使用方式有何区别?方式1: 1234#ifndef __SOMEFILE_H__#define __SOMEFILE_H__ ... ... // 声明、定义语句#endif 方式2: 12#pragma once ... ... // 声明、定义语句 两者各有和特点?#ifndef #ifndef的方式受C/C++语言标准支持 通过宏来检测,宏的范围可以是单个文件,也可以是代码片段。保证文件或者代码片段不被重复包含,针对文件的内容。 可能会发生宏冲突,导致你看到头文件明明存在,但编译器却硬说找不到声明的状况(遇到过一次,查了一晚上) #pragma once pragma once由编译器提供保证:同一个文件不会被包含多次。注意这里所说的...
cmake 语言初识
发表于2022-03-17|cmake
文件组织CMake源文件用cmake语言编写,共三种组织形式 Directories (CMakeLists.txt) 目录 Scripts (<script>.cmake) 脚本 Modules (<module>.cmake) 模块 Directories 目录用cmake 去编译项目时候,入口是项目顶级目录的CMakeLists.txt文件,CMakeLists.txt描述了当前项目构建规则。当遇到add _ subdirectory ()命令,cmake会去命令指定的子目录中搜索CMakeLists.txt,将其添加到构建过程,这是一个递归解析的过程。子目录中的CMakeLists.txt描述了子项目的构建规则。 Scripts 脚本一个单独的<script>.cmake文件可以被当做脚本来处理,可以理解为shell脚本,通过cmake来解析和执行脚本定义的操作。脚本中不允许出现定义构建目标和构建行为的命令, cmake 脚本不参与构建过程。 1cmake [{-D <var>=<value>...
FFmpeg filter
发表于2022-03-15|ffmpeg
参考: FFmpeg filter简介 - Tocy - 博客园 FFmpeg Filtering Guide FFmpeg Filters Documentation [FFmpeg filter的使用介绍](FFmpeg filter的使用介绍 - 简书)
12345
avatar
yxibng
文章
50
标签
12
分类
0
Follow Me
公告
This is my Blog
最新文章
无标题2026-04-16
CMake ios code signing2024-04-03
ios xib 总结2024-03-18
Xcode 源码调试微信 xlog2024-03-08
结构体位域中的高低位问题2023-06-09
标签
lldb aac Shell hls,m3u8 webrtc cmake shell iOS ruby hls c++ ffmpeg
归档
  • 四月 2026 1
  • 四月 2024 1
  • 三月 2024 2
  • 六月 2023 1
  • 五月 2023 3
  • 三月 2023 2
  • 十二月 2022 1
  • 十一月 2022 2
网站信息
文章数目 :
50
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2022 - 2026 By yxibng
搜索
数据加载中