<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Swallow_he的博客]]></title><description><![CDATA[终身学习，乐在其中]]></description><link>https://blog.youkuaiyun.com/Swallow_he</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Swallow_he]]></copyright><item><title><![CDATA[Win10支持ffmpeg+cuda解码硬加速]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/126643966</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/126643966</guid><author>Swallow_he</author><pubDate>Thu, 01 Sep 2022 15:40:30 +0800</pubDate><description><![CDATA[本文主要介绍Win10上如何基于NVIDIA显卡实现ffmpeg硬件解码]]></description><category></category></item><item><title><![CDATA[调用MQTTClient_connect返回-8]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/124964929</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/124964929</guid><author>Swallow_he</author><pubDate>Wed, 25 May 2022 14:10:25 +0800</pubDate><description><![CDATA[1、问题描述

使用开源库paho.mqtt.c时，其接口MQTTClient_connect返回-8；查看源文件对应的返回值具体为：MQTTCLIENT_BAD_STRUCTURE(-8)

2、根据分析结论如下：

使用的libpaho-mqtt3c.so和头文件不匹配，头文件是下载的1.3.9版本的paho.mqtt.c，而库是使用其他编译的；

3、解决办法

下载自己需要版本的paho.mqtt.c源码，重新编译后，使用include+lib
...]]></description><category></category></item><item><title><![CDATA[Windows下Visual Studio 2019 编译obs-studio]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/124317328</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/124317328</guid><author>Swallow_he</author><pubDate>Thu, 21 Apr 2022 12:45:11 +0800</pubDate><description><![CDATA[1、安装cmake-gui

Windows版本的CMake(3.16 ，或者更高版本)

2、下载依赖dependencies2019

需要的预编译的开发包FFmpeg,x264,cURL and mbedTLS

https://obsproject.com/downloads/dependencies2019.zip

3、安装VS2019+QT

（1）下载vs2019社区版本

（2） 下载最新的Windows 10 SDK(minimum 10.0.20348.0)

下载地址：Windows]]></description><category></category></item><item><title><![CDATA[VS2019 + Qt5.15.2开发环境搭建]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/124305389</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/124305389</guid><author>Swallow_he</author><pubDate>Thu, 21 Apr 2022 09:38:34 +0800</pubDate><description><![CDATA[1、安装Visual Studio 2019

VS2019社区版本下载地址：

Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器

详细的安装步骤可参考：VS2019安装教程（超详细）新手必码 - 知乎

2、安装Qt

因从Qt5.15.0开始，官网已经不提供离线版的Qt安装包了，所以得下载在线版的，打开如下地址：

Index of /official_releases/online_installers

下载qt-unified-windows-x86-onl]]></description><category></category></item><item><title><![CDATA[【交叉编译六】paho.mqtt.c-1.3.9]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/122985435</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/122985435</guid><author>Swallow_he</author><pubDate>Thu, 17 Feb 2022 16:03:35 +0800</pubDate><description><![CDATA[在海思平台编译mqtt操作如下：

【不支持OpenSSL】


cmake ../ -DPAHO_BUILD_STATIC=TRUE -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc -DCMAKE_INSTALL_PREFIX=/data1/heyan18/work/third_lib/paho.mqtt.c-1]]></description><category></category></item><item><title><![CDATA[WebRTC学习（八）peerconnection_client之loopback（回环）测试]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/122401904</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/122401904</guid><author>Swallow_he</author><pubDate>Sun, 09 Jan 2022 23:58:39 +0800</pubDate><description><![CDATA[在webrtc中peerconnection_client例子中含有本地回环测试代码，如果要使用，稍微改动一下

src\examples\peerconnection\client\conductor.cc代码

改动如下：


void Conductor::StartLogin(const std::string&amp; server, int port) 
{
/*
loopback
*/

  InitializePeerConnection();
  ReinitializePeerConne]]></description><category></category></item><item><title><![CDATA[WebRTC学习（七）Win10调试peerconnection_client遇到crash问题]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/122401596</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/122401596</guid><author>Swallow_he</author><pubDate>Sun, 09 Jan 2022 23:36:06 +0800</pubDate><description><![CDATA[编译成功之后，可以使用VS2017打开工程，我们可以看到如下：



我们可以在一个电脑下执行peerconnection_client，具体的操作如下：

1.将编译好的peerconnection_client.exe 复制一份;

2.安装一个虚拟摄像头：e2esoft Vcam ，安装后开启；

3.分别执行peerconnection_client最为两个客户端；





在刚开始执行peerconnection_client，遇到了crash问题，主要报错堆栈信息如下：



我们可以看到报.]]></description><category></category></item><item><title><![CDATA[WebRTC学习（六）Win10编译WebRTC支持H264]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/122401468</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/122401468</guid><author>Swallow_he</author><pubDate>Sun, 09 Jan 2022 23:14:36 +0800</pubDate><description><![CDATA[WebRTC要支持H264，需要在编译时开启，具体的编译指令如下：


set PATH=%PATH%;%USERPROFILE%\depot_tools

set DEPOT_TOOLS_UPDATE=0 #不更新depot_tools

set DEPOT_TOOLS_WIN_TOOLCHAIN=0 #编译时使用本机VS工具链

set GYP_MSVS_VERSION=2017 #指定VS版本

set GYP_MSVS_OVERRIDE_PATH = C:\Program Files (x86)\M]]></description><category></category></item><item><title><![CDATA[使用git clone遇到：certificate verification failed]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/121335567</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/121335567</guid><author>Swallow_he</author><pubDate>Mon, 15 Nov 2021 15:29:11 +0800</pubDate><description><![CDATA[git clone时出现错误：

server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

解决办法：

1、设置环境变量

export GIT_SSL_NO_VERIFY=1

2、进行如下操作：

sudo apt update

sudo apt-get install apt-transport-https ca-certificates -y

sudo ..]]></description><category></category></item><item><title><![CDATA[WebRTC学习（五）海思平台交叉编译WebRTC]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/120508328</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/120508328</guid><author>Swallow_he</author><pubDate>Mon, 27 Sep 2021 14:55:14 +0800</pubDate><description><![CDATA[前言：有一位大神在博客中说：(2019年9月之前的版本，这之后的版本默认是C++14的(由git log可获取该信息），用海思编译器编译会有问题，release版本的分支号branch-heads/m77，这个版本之前的应该都可以。)如果更高的版本在海思arm-hisiv500-linux 可以编译，还请指导。

鉴于这个原因，本文也是用M77版本在海思平台上编译；

如果所在的编译环境有网络，那么可以参照如上的博客操作，我这边因为编译环境无法访问外网，需要用到docker


...]]></description><category></category></item><item><title><![CDATA[WebRTC学习（四）提取WebRTC头文件供外部使用]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/120505020</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/120505020</guid><author>Swallow_he</author><pubDate>Mon, 27 Sep 2021 11:51:59 +0800</pubDate><description><![CDATA[1、Window下提取webrtc的头文件

创建bat脚本，该脚本和src目录放在同一级，最后提取的头文件按照原来目录级别放在src同级的include中。


echo off
 
:: 定义源目录
set sourcePath=.\src
::定义目标路径
set resulePath=.\include
 
xcopy %sourcePath%\*.h %resulePath%\  /s /e /c /y /h /r
 
pause

2、Linux下提取webrtc的头文件

放在和src下目录，]]></description><category></category></item><item><title><![CDATA[WebRTC学习（三）Ubuntu 16.04编译linux平台WebRTC]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/120503492</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/120503492</guid><author>Swallow_he</author><pubDate>Mon, 27 Sep 2021 11:11:02 +0800</pubDate><description><![CDATA[1、使用apt-get安装基础工具

sudo apt-get install g++

sudo apt-get install python

sudo apt-get install git

sudo apt-get install subversion

2、下载depot_tools

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

3、配置环境变量

在bashrc中添加一个export命令]]></description><category></category></item><item><title><![CDATA[WebRTC学习（二）Windows10平台WebRTC编译（VS2017）]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/119969337</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/119969337</guid><author>Swallow_he</author><pubDate>Thu, 02 Sep 2021 19:45:19 +0800</pubDate><description><![CDATA[1、Visual Studio 2017安装

WebRTC用到了很多C++最新特性，所以编译最新WebRTC代码VS要求为2017(&gt;=15.7.2) 版本。


]]></description><category></category></item><item><title><![CDATA[ubuntu下安装Gtest和测试]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/120065786</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/120065786</guid><author>Swallow_he</author><pubDate>Thu, 02 Sep 2021 18:47:10 +0800</pubDate><description><![CDATA[1、获取gtest源码


sudo apt-get install libgtest-dev

随后进入/usr/src/





进入  cd /usr/src/gtest

mkdirbuild

cdbuild

cmake ..

make


按照命令执行后，可以看到有静态库生成：



将编译生成好的库拷贝到系统目录下：


sudo cp libgtest*.a /usr/local/lib

...]]></description><category></category></item><item><title><![CDATA[C++11新特性]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/119969012</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/119969012</guid><author>Swallow_he</author><pubDate>Sat, 28 Aug 2021 15:58:26 +0800</pubDate><description><![CDATA[1、C++11 中的 override 关键字

在派生类的成员函数中使用override时，（1）如果基类中无此函数，或基类中的函数并不是虚函数，编译器会给出相关错误信息。（2）显式的在派生类中声明时，哪些成员函数需要被重写，如果没被重写，则编译器会报错。

2、基于范围的 for 循环


std::vector&lt;int&gt; arr(5, 100);
for(std::vector&lt;int&gt;::iterator iter = arr.begin(); iter != arr.end]]></description><category></category></item><item><title><![CDATA[WebRTC学习（一）下载指定版本源码]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/119537197</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/119537197</guid><author>Swallow_he</author><pubDate>Wed, 25 Aug 2021 20:31:26 +0800</pubDate><description><![CDATA[使用阿里云下载，修改主机名hostnamectl set-hostname 要修改的名字

安装Git的错误与解决方法（Unable to locate package）

需要安装git，所以就用：sudo apt-get install git进行安装，在安装的时候出现错误：Unable to locate package



经过查阅资料，发现是因为新装的ubuntu系统，没有update的原因。

然后进行update，输入命令：sudo apt-get update


apt-get inst]]></description><category></category></item><item><title><![CDATA[【交叉编译 五】OpenH264]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/119877293</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/119877293</guid><author>Swallow_he</author><pubDate>Mon, 23 Aug 2021 20:55:28 +0800</pubDate><description><![CDATA[0、背景

OpenH264是一个编解码器，支持H.264编码和解码。它适合用在实时应用程序中，比如使用 WebRTC。

1、下载源码

git clonehttps://github.com/cisco/openh264.git

https://github.com/cisco/openh264/releases

2、Linux平台解压编译


设置环境变量

BUILD_LIBS=${PWD}/build_linux
export PATH=${BUILD_LIBS}/bin:${PATH}

.]]></description><category></category></item><item><title><![CDATA[与WebRTC的缘分不浅]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/119536648</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/119536648</guid><author>Swallow_he</author><pubDate>Wed, 11 Aug 2021 00:15:04 +0800</pubDate><description><![CDATA[在我2016年大学毕业，就进入音视频相关的岗位，那时候记得老大对我们讲：一毕业就进入一个比较潮流的领域...

之后虽然研究WebRTC的源码比较少，但是WebRTC的思想一直在被我们学习和借鉴，更没有说将WeBRTC的源码直接拿来使用，所以对WeBRTC的框架研究和学习比较少，后来一些大厂商已经提供了供大家使用的WebRTC的SDK比如亚马逊基于KVS的WebRTC，声网SDK，这里面因为项目需求，对于他们的SDK或多或少都有过一些涉及。

而今有一个机会，让我继续研究和学习甚至是二次开发WebRTC，我]]></description><category></category></item><item><title><![CDATA[AWS KVS(Kinesis Video Streams)之WebRTC集成过程报错问题整理（九）]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/116761386</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/116761386</guid><author>Swallow_he</author><pubDate>Thu, 13 May 2021 18:51:01 +0800</pubDate><description><![CDATA[当我认为可以很快将WebRTC SDK合入到设备中时，这里我选择使用动态加载WebRTC的业务模块（按照插件方式），当主业务进程启动后，根据配置项，是否加载该WebRTC的插件；

WebRTC的业务代码完成编译后，我发现主进程使用的openssl的版本是1.0.1e，libwesockets的版本是2.3-stable，都是静态库的方式，而WebRTC SDK中使用的openssl-1.1.1 和libwesockets-3.2.3，也是静态库，这必然会导致运行报错；


...]]></description><category></category></item><item><title><![CDATA[AWS KVS(Kinesis Video Streams)之WebRTC集成过程报错问题整理（八）]]></title><link>https://blog.youkuaiyun.com/Swallow_he/article/details/116587908</link><guid>https://blog.youkuaiyun.com/Swallow_he/article/details/116587908</guid><author>Swallow_he</author><pubDate>Tue, 11 May 2021 18:45:28 +0800</pubDate><description><![CDATA[1、用例情况：

【1】第一组

master：君正平台的 kvsWebrtcClientMaster

viewer：https://us-west-2.console.aws.amazon.com/kinesisvideo/home?region=us-west-2#/signalingChannels/signalingChannelName/ 打开创建的信号通道



结论：信令交互都正确，但是在STUN包交互过程，出现问题，无论是P2P还是Relay都没有通

【2】第二组

master：官..]]></description><category></category></item></channel></rss>