![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音视频
文章平均质量分 72
一朵桃花压海棠
专注音视频处理,流媒体开发,5年音视频开发经验,对WebRTC,FFmpeg,OpenGLES有一定开发经验
展开
-
简单的二分屏特效
分屏特效中的两屏特效。分成上下两层,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 14:00:07 · 240 阅读 · 0 评论 -
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 10:30:21 · 960 阅读 · 0 评论 -
HLS playlist典型示例
0 引言本文主要是对apple官网上的echnical Note TN2288-Example Playlist Files for use with HTTP Live Streaming一文的整理,加上rfc8216 section 8的部分内容。本文的目标在于整理不同类型的HLSm3u8格式,对其表征的多媒体数据做必要说明。希望读者读完本文能够基本知道目前HLS所支持的m3u8格式。至...原创 2020-02-17 10:05:18 · 2565 阅读 · 0 评论 -
HLS综述
1.HLS背景及初衷HLS是由苹果公司发起的流媒体网络传输协议,可参考rfc8261 HTTP Live Streaming。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U(...原创 2020-02-17 10:00:18 · 431 阅读 · 0 评论 -
利用nginx-rtmp搭建视频点播、直播、HLS服务器
1.配置nginx服务器ubuntu搭建推流服务器Nginx+rtmp利用nginx搭建RTMP视频点播、直播、HLS服务器配置好nginx服务器后,下面开始使用服务器。2.nginx服务器的使用关于服务器的所有改动和配置都在这个路径下了。服务器文件地址在:usr/local/nginx/关于服务器的一些命令./nginx //启动服务器./nginx -s quit //...原创 2019-12-10 08:56:33 · 308 阅读 · 0 评论 -
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 09:56:39 · 762 阅读 · 0 评论 -
ijkplayer-hook协议实现分析
本文主要分析ijk中hook协议的实现流程和具体实现来进行分析。1.ijkhttphook的使用先看一下ijk中ijkhttphook的使用:断网自动重新连接,url前接上ijkhttphook:,如String url = "ijkhttphook:http://videocdn.eebbk.net/01cc6382b142217dad89516a19a4b299.mp4";然后设置...原创 2019-05-05 14:10:56 · 2430 阅读 · 0 评论 -
ijkplayer-丢帧策略深入分析
1.测试拿过来个视频,发现用ijk播放器与系统播放器(mediaplayer)播放感觉不一样,用ijk播放感觉播放页面卡顿一点,没有系统播放器那么流畅。下面看一下这个问题,这个问题的原因其实很简单,由于我丢帧值设置的是5,改成1就可以感觉2个播放器在体验上感觉差不多了。(丢5帧人眼就可以看出来差别了!)。2.在高通660的机器上播放一个4k(30fps)视频,但是无法正常播放,实际一秒的...原创 2019-04-24 11:29:59 · 3210 阅读 · 2 评论 -
ijkplayer-音视频变速播放实现
本文主要分析变速播放框架实现细节,不分析sonic以及soundtouch变速算法。在我的sonic变速变调原理一文中会详细讲解基于基音周期来实现变速变调的原理1.变速入口分析从jni层的_setPropertyFloat函数static void ijkMediaPlayer_setPropertyFloat(JNIEnv *env, jobject thiz, jint id, jflo...原创 2019-04-24 08:45:14 · 4238 阅读 · 3 评论 -
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 16:23:05 · 1323 阅读 · 0 评论 -
基于librtmp的推流实现
1.推流配置好rtmpdump库后,我们可以先用命令行来推流看下效果2.流程图使用librtmp发布RTMP流的可以使用两种API:RTMP_SendPacket()和RTMP_Write()。使用RTMP_SendPacket()发布流的时候的函数执行流程图如下图所示。流程图中关键函数的作用如下所列:InitSockets():初始化SocketRTMP_Alloc():为结构...原创 2019-04-23 15:31:52 · 13654 阅读 · 1 评论 -
nginx本地流媒体服务器搭建
1.配置nginx服务器可以参考配置:ubuntu搭建推流服务器Nginx+rtmp利用nginx搭建RTMP视频点播、直播、HLS服务器配置好nginx服务器后,下面开始使用服务器。2.nginx服务器的使用关于服务器的所有改动和配置都在这个路径下了。服务器文件地址在:usr/local/nginx/关于服务器的一些命令./nginx //启动服务器./nginx -s...原创 2019-04-23 15:30:42 · 1141 阅读 · 0 评论 -
ubuntu下vlc-android编译
vlc-android编译感觉挺麻烦的,记一下。我的编译配置: ubuntu16.04LTS + android-ndk-r14b + android-sdk-r24.4.1-linux1.安装编译vlc需要的工具sudo apt-get install automake ant autopoint cmake build-essential libtool \ patch...原创 2018-06-17 12:39:05 · 1047 阅读 · 0 评论