<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[NaiBei的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/naibei</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; naibei]]></copyright><item><title><![CDATA[使用Visual Studio编译ffmpeg]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/131186474</link><guid>https://blog.youkuaiyun.com/naibei/article/details/131186474</guid><author>naibei</author><pubDate>Tue, 13 Jun 2023 13:52:49 +0800</pubDate><description><![CDATA[1. 如果libass项目里面的.asm文件编译失败，删除前面环境变量里面配置的YASMPATH和NASMPATH，直接把yasm.exe和nasm.exe拷贝到C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC里面（具体看自己的vs的安装路径)，然后重新编译。2.  libavfilter项目属性里面，增加FRIBIDI_LIB_STATIC宏，如下图所示，否则会提示_imp_xxx函数找不到。]]></description><category></category></item><item><title><![CDATA[linux下使用vscode无法调试多线程]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/131183794</link><guid>https://blog.youkuaiyun.com/naibei/article/details/131183794</guid><author>naibei</author><pubDate>Tue, 13 Jun 2023 10:54:23 +0800</pubDate><description><![CDATA[vscode调试多线程]]></description><category></category></item><item><title><![CDATA[音频编码基础]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/128863186</link><guid>https://blog.youkuaiyun.com/naibei/article/details/128863186</guid><author>naibei</author><pubDate>Fri, 03 Feb 2023 11:13:39 +0800</pubDate><description><![CDATA[通过上文的介绍，我们了解了音频编码的理论基础，回顾了一下 PCM 编码流程，并重点探讨了目前广泛流行的 AAC 编码的工具集、编码流程、编码规格以及对应的数据格式]]></description><category></category></item><item><title><![CDATA[h264硬编解码ffmpeg]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/128863081</link><guid>https://blog.youkuaiyun.com/naibei/article/details/128863081</guid><author>naibei</author><pubDate>Fri, 03 Feb 2023 11:11:31 +0800</pubDate><description><![CDATA[本文介绍通过ffmpeg实现硬遍解码h264]]></description><category></category></item><item><title><![CDATA[深入理解pts，dts，time_base]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/128863033</link><guid>https://blog.youkuaiyun.com/naibei/article/details/128863033</guid><author>naibei</author><pubDate>Fri, 03 Feb 2023 11:07:20 +0800</pubDate><description><![CDATA[ffmpeg的pts和dts详解]]></description><category></category></item><item><title><![CDATA[色彩空间和像素格式]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/128862511</link><guid>https://blog.youkuaiyun.com/naibei/article/details/128862511</guid><author>naibei</author><pubDate>Fri, 03 Feb 2023 11:03:38 +0800</pubDate><description><![CDATA[本文详细介绍RGB和YUV颜色空间]]></description><category></category></item><item><title><![CDATA[在自己的现有android项目使用Flutter(1)：添加Flutter Module]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/122438111</link><guid>https://blog.youkuaiyun.com/naibei/article/details/122438111</guid><author>naibei</author><pubDate>Wed, 12 Jan 2022 16:06:01 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[在自己的现有android项目使用Flutter(0)：配置Flutter]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/122452654</link><guid>https://blog.youkuaiyun.com/naibei/article/details/122452654</guid><author>naibei</author><pubDate>Wed, 12 Jan 2022 15:12:31 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[overlay显示模式]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/81146642</link><guid>https://blog.youkuaiyun.com/naibei/article/details/81146642</guid><author>naibei</author><pubDate>Sat, 21 Jul 2018 16:57:56 +0800</pubDate><description><![CDATA[
Overlay（覆盖）是一种数字视频的显示技术，它允许数字信号不经过显示芯片处理，而直接通过显存输出到显示器屏幕上。Overlay显示模式最大的用途在于优化视频播放。由于不同的视频有不同基准色调、亮度、对比度和饱和度，对于不同的电脑、不同的视频文件，为了获得最好的显示效果就需要对各种显示属性进行调节，普通显示模式显然无法胜任，所以就用到了Overlay显示模式进行单独调节。Overlay显示模式...]]></description><category></category></item><item><title><![CDATA[FFmpeg 入门(7)：Seeking]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/81086515</link><guid>https://blog.youkuaiyun.com/naibei/article/details/81086515</guid><author>naibei</author><pubDate>Tue, 17 Jul 2018 18:51:53 +0800</pubDate><description><![CDATA[本文转自：FFmpeg 入门(7)：Seeking | www.samirchen.com

处理 seek 命令

我们将为播放器添加 seek 的能力。这个过程中，我们会看到 av_seek_frame 用起来有多方便。

我们添加的功能是通过上下左右键能够做快进或快退，其中左右键快进或快退的幅度较小，为 10s，上下键快进或快退的幅度较大，为 60s。所以我们需要在我们的事件处理循环中添加处...]]></description><category></category></item><item><title><![CDATA[FFmpeg 入门(6)：音频同步]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/81086508</link><guid>https://blog.youkuaiyun.com/naibei/article/details/81086508</guid><author>naibei</author><pubDate>Tue, 17 Jul 2018 18:51:23 +0800</pubDate><description><![CDATA[本文转自：FFmpeg 入门(6)：音频同步 | www.samirchen.com

音频同步

上一节我们做了将视频同步到音频时钟，这一节我们反过来，将音频同步到视频。首先，我们要实现一个视频时钟来跟踪视频线程播放了多久，并将音频同步过来。后面我们会看看如何将音频和视频都同步到外部时钟。

实现视频时钟

与音频时钟类似，我们现在要实现一个视频时钟：即一个内部的值来记录视频已经播放的时间。首先...]]></description><category></category></item><item><title><![CDATA[FFmpeg 入门(5)：视频同步]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/81086501</link><guid>https://blog.youkuaiyun.com/naibei/article/details/81086501</guid><author>naibei</author><pubDate>Tue, 17 Jul 2018 18:50:48 +0800</pubDate><description><![CDATA[本文转自：FFmpeg 入门(5)：视频同步 | www.samirchen.com

视频如何同步

在之前的教程中，我们已经可以开始播放视频了，也已经可以开始播放音频了，但是视频和音频的播放还未同步，我们要怎么办呢？

PTS 和 DTS

好在音频和视频都有信息来控制播放时的速度和时机。音频流有一个采样率(sample rate)，视频流有一个帧率(frame per second)。但是，...]]></description><category></category></item><item><title><![CDATA[FFmpeg 入门(4)：线程分治]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/81086493</link><guid>https://blog.youkuaiyun.com/naibei/article/details/81086493</guid><author>naibei</author><pubDate>Tue, 17 Jul 2018 18:49:57 +0800</pubDate><description><![CDATA[本文转自：FFmpeg 入门(4)：线程分治 | www.samirchen.com

概览

上一节教程中，我们使用 SDL 的音频相关的函数来支持音频播放。SDL 起了一个线程来在需要音频数据的时候去调用我们定义的回调方法。现在我们要做的是用线程的方法去改造视频显示这块的逻辑。这样一来会使得代码的机构更模块化，这样改动起来会更简单，尤其是当我们想添加音视频同步逻辑时。

我们从哪开始呢？首先，...]]></description><category></category></item><item><title><![CDATA[FFmpeg 入门(3)：播放音频]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/81086483</link><guid>https://blog.youkuaiyun.com/naibei/article/details/81086483</guid><author>naibei</author><pubDate>Tue, 17 Jul 2018 18:48:58 +0800</pubDate><description><![CDATA[本文转自：FFmpeg 入门(3)：播放音频 | www.samirchen.com

音频

SDL 提供了播放音频的方法。SDL_OpenAudio 函数用来让设备播放音频，它需要我们传入一个包含了所有我们输出需要的音频信息的 SDL_AudioSpec结构体数据。

在展示接下来的代码之前，我们先说说 PC 上是如何处理音频的。数字音频包含了一长串「音频采样(sample)」，每一个采样代表...]]></description><category></category></item><item><title><![CDATA[FFmpeg 入门(2)：输出视频到屏幕]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/81086461</link><guid>https://blog.youkuaiyun.com/naibei/article/details/81086461</guid><author>naibei</author><pubDate>Tue, 17 Jul 2018 18:47:19 +0800</pubDate><description><![CDATA[本文转自：FFmpeg 入门(2)：输出视频到屏幕 | www.samirchen.com

SDL

我们这里使用 SDL 来渲染视频到屏幕。SDL 是 Simple Direct Layer 的缩写，是一个优秀的跨平台多媒体库，你可以从 http://www.libsdl.org 下载 SDL 的库。

SDL 有很多可以将图像绘制都屏幕的方法，其中有一个专门用于将视频渲染到屏幕进行播放，即 ...]]></description><category></category></item><item><title><![CDATA[FFmpeg 入门(1)：截取视频帧]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/81086431</link><guid>https://blog.youkuaiyun.com/naibei/article/details/81086431</guid><author>naibei</author><pubDate>Tue, 17 Jul 2018 18:46:02 +0800</pubDate><description><![CDATA[本文转自：FFmpeg 入门(1)：截取视频帧 | www.samirchen.com

背景

在 Mac OS 上如果要运行教程中的相关代码需要先安装 FFmpeg，建议使用 brew 来安装：


// 用 brew 安装 FFmpeg：
brew install ffmpeg

或者你可以参考在 Mac OS 上编译 FFmpeg使用源码编译和安装 FFmpeg。

教程原文地址：http...]]></description><category></category></item><item><title><![CDATA[音频采集参数说明]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/81030400</link><guid>https://blog.youkuaiyun.com/naibei/article/details/81030400</guid><author>naibei</author><pubDate>Fri, 13 Jul 2018 14:06:20 +0800</pubDate><description><![CDATA[文章转自：http://www.code06.com/other/aoshilang2249/92451.html一、音频        指人耳可以听到的声音频率在20Hz~20kHz之间的声波。        如果在计算机加上相应的音频卡—就是我们经常说的声卡，我们可以把所有的声音录制下来，声音的声学特性如音的高低等都可以用计算机硬盘文件的方式储存下来。反过来，我们也可以把储存下来的音频文件用一...]]></description><category></category></item><item><title><![CDATA[FFmpeg新版API接口编译报错解决方法]]></title><link>https://blog.youkuaiyun.com/naibei/article/details/80999386</link><guid>https://blog.youkuaiyun.com/naibei/article/details/80999386</guid><author>naibei</author><pubDate>Wed, 11 Jul 2018 13:52:17 +0800</pubDate><description><![CDATA[文章转自：http://www.isvee.com/archives/2018PIX_FMT_YUV420P -&amp;gt; AV_PIX_FMT_YUV420P


'AVStream::codec': 被声明为已否决:
if(pFormatCtx-&amp;gt;streams[i]-&amp;gt;codec-&amp;gt;codec_type==AVMEDIA_TYPE_VIDEO){
=&amp;gt;
if(pForm...]]></description><category></category></item></channel></rss>