一朵桃花压海棠
码龄12年
求更新 关注
提问 私信
  • 博客:167,148
    问答:2,730
    169,878
    总访问量
  • 45
    原创
  • 64
    粉丝
  • 103
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:安徽省
加入CSDN时间: 2014-01-13

个人简介:专注音视频处理,流媒体开发,5年音视频开发经验,对WebRTC,FFmpeg,OpenGLES有一定开发经验

博客简介:

Mr_xkHuang的专栏

查看详细资料
个人成就
  • 获得55次点赞
  • 内容获得23次评论
  • 获得216次收藏
  • 代码片获得152次分享
  • 博客总排名1,194,203名
创作历程
  • 14篇
    2020年
  • 25篇
    2019年
  • 5篇
    2018年
  • 1篇
    2015年
成就勋章
TA的专栏
  • ffmpeg
    10篇
  • 音视频
    13篇
  • android_framework
    2篇
  • 代码与思考
    1篇
  • WebRTC
    5篇
  • android_application
    10篇
  • C/C++
    4篇

TA关注的专栏 24

TA关注的收藏夹 0

TA关注的社区 48

TA参与的活动 0

创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

87人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

android jni操作指南详解

发布资源 2016.05.06 ·
pdf

阿里巴巴前端笔试题1

发布资源 2016.05.06 ·
pdf

数字音频技术第六版

发布资源 2018.10.11 ·
pdf

opengles应用开发实践指南android卷

发布资源 2018.10.11 ·
pdf

android网络开发与应用实战详解源码

发布资源 2014.07.13 ·
rar

opengles系列-绘制三角形

1.创建render类** * 绘制三角形 * Created by hxk on 2018/10/10. */public class TriangleRenderer implements GLSurfaceView.Renderer { private final Context context; private final FloatBuffer vertexD...
原创
博文更新于 2019.04.30 ·
801 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

X264_最简单的视频编码实现(YUV420编码H264)

下面这个例子是X264项目中的example.c文件实现编码的实现。只是加了一些注释方便以后的理解。#ifdef _WIN32#include <io.h> /* _setmode() */#include <fcntl.h> /* _O_BINARY */#endif#include <stdint.h>#include <...
原创
博文更新于 2019.04.23 ·
1417 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MediaMuxer的使用

h264与aac(不包含adts头)合成mp4。package local.asuper.localplayer.mediacodec;import android.media.MediaCodec;import android.media.MediaExtractor;import android.media.MediaFormat;import android.media.Med...
原创
博文更新于 2018.05.26 ·
5854 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

WebRTC中音频能量计算

1.WebRTC中音频能量计算WebRTC中实现获取音频能量计算的方法是:获取音频数据最大的振幅(即绝对值最大)(范围是0-32767),然后再除以1000,得到0-32之间的数值。从数组中获取相应索引所对应的能量level等级。我们看下webRTC中level_indicator.cc中对音频level判断的处理。namespace webrtc {namespace voe {// Number of bars on the indicator.// Note that the numb
原创
博文更新于 2020.12.08 ·
4224 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

单例模式

单例模式:#include <iostream>using namespace std;class Singleton{public: ~Singleton() { cout << "~Singleton虚构函数" << endl; } Singleton(const Singleton&) = delete;//禁止使用该函数,防止使用错误 Singleton& operator=(const Singleton&) = d
原创
博文更新于 2020.11.07 ·
320 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

avformat_seek_file及其flag含义

我们从ijk中seek的处理流程来看ffmpeg的这个问题int ffp_seek_to_l(FFPlayer *ffp, long msec){ assert(ffp); VideoState *is = ffp->is; int64_t start_time = 0; int64_t seek_pos = milliseconds_to_fftime(msec); int64_t duration = milliseconds_to_fftime(ffp
原创
博文更新于 2020.08.20 ·
4557 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

WebRTC-音频抗75%丢包实现

加密了。。。。。。
原创
博文更新于 2020.08.14 ·
1012 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

简单的二分屏特效

分屏特效中的两屏特效。分成上下两层,uv坐标的y轴在 0.0 ~ 0.5 和 0.5 ~ 1.0 的时候,均填充 0.25 ~ 0.75 区间的纹理图像// 仿抖音两屏特效precision highp float;uniform sampler2D inputImageTexture;varying highp vec2 textureCoordinate;void main() { // 纹理坐标 vec2 uv = textureCoordinate.xy; flo
原创
博文更新于 2020.08.14 ·
286 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

ijkplayer-添加播放截图功能

应用播放的时候需要截图,可以在上层使用TexturView来使用截图,不过太具有局限性呢,还是在底层处理比较好。那么先分析下可以在哪里加截图呢?看到网上很多做的都不能支持硬解截图,这样肯定是不行的。所以我们可以选择在video_image_display2中来做截屏处理。添加shot_screen.h#ifndef _SHOT_SCREEN_H#define _SHOT_SCREEN_H#include <jni.h>#include "ff_ffplay_def.h"#i.
原创
博文更新于 2020.08.14 ·
1187 阅读 ·
3 点赞 ·
2 评论 ·
1 收藏

YUV通过MediaCodec编码H264

Camear_MainActivity.java,主界面类import android.app.Activity;import android.graphics.ImageFormat;import android.hardware.Camera;import android.hardware.Camera.Parameters;import android.hardware.Camera.PreviewCallback;import android.media.MediaCodecInf
原创
博文更新于 2020.08.14 ·
1053 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

WebRTC-nack机制详解

1.NACK的含义丢包重传(NACK)是抵抗网络错误的重要手段。NACK在接收端检测到数据丢包后,发送NACK报文到发送端;发送端根据NACK报文中的序列号,在发送缓冲区找到对应的数据包,重新发送到接收端。NACK需要发送端,发送缓冲区的支持。WebRTC中支持音频和视频的NACK重传。我们这里只分析nack机制,不分析jitterbuffer或者neteq的更多实现。2.WebRTC中NACK请求发送的条件这里以视频为例。下面是webrtc中接收端触发nack的条件,我们看下nack_modul
原创
博文更新于 2020.08.12 ·
3912 阅读 ·
2 点赞 ·
0 评论 ·
12 收藏

ijkplayer-旋转角度实现

一app开发,火急火燎的拿来一个视频,说录制的视频播放角度都不正常。拿过来一看,确实,角度是歪的,用系统的mediaplayer一试,是正常的。把视频放到ffmpeg中,可以看到视频metadata下视频旋转角度是90度。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k794Sepj-1597211746055)(https://note.youdao.com/yws/api/personal/file/E49561CBC4B44D7584D7F229A786E104?.
原创
博文更新于 2020.08.12 ·
2510 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

ijlplayer-花屏问题分析

今天遇到个应用在S2机器上拖动播放随机花屏的问题,其他机子都没有。那么如何分析花屏问题呢,我这里主要分析点播和本地文件播放导致的花屏,并不涉及直播花屏分析?分析花屏问题无外乎从解复用->解码->显示这三步开始排查。(好吧,这个花屏问题真的让人蛋疼啊)1.排查是否显示问题先从显示开始排查,可以直接把解码后的数据编码成图片然后取出来,如果取出来的图片是花屏的,那么就继续往解码以及解复用开始排查。如果取出来的图片不是花屏的,那么就可以判断为显示导致的花屏。先看下在jik中对解码后的帧编码图.
原创
博文更新于 2020.08.12 ·
1595 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

WebRTC-集成qsv硬解码实现

1.Window下QSV硬解码配置在libavcodec/codec_list.c下添加 &ff_h264_qsv_decoder,在ffmpeg_generate.gni下加入 "libavcodec/h264idct.c", "libavcodec/h264qpel.c", "libavcodec/startcode.c", "libavcodec/h264_mp4toannexb_bsf.c", ] } ffmpeg_c_sourc
原创
博文更新于 2020.08.10 ·
1553 阅读 ·
0 点赞 ·
5 评论 ·
5 收藏

WebRTC-Android硬编码流程详解

1.硬编解码的一些问题1.1.方块效应在我们视频电话时,快速移动摄像头时,会发现画面变出现很多方块。这就是方块效应。无论是要发送的TCP数据包,还是要编码的图像,都会出现在短时间内出现较大的数据量。TCP面对尖峰,可以选择不为所动,但如果视频编码也对尖峰不为所动,那图像质量就会大打折扣了。因为如果有几帧数据量特别大,但我们仍要把码率控制在原来的水平,那么就会损失比较多的图像信息,图像就会失真。通常的表现是画面出现很多小方块,看上去像是打了马赛克一样,也就是方块效应。1.2.M2机器有横线问题处理1
原创
博文更新于 2020.06.02 ·
2811 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏
加载更多