音视频
huizai0705
这个作者很懒,什么都没留下…
展开
-
android opengl 播放 yuv数据
ios opengl 播放 yuv数据: http://blog.csdn.net/m0_37677536/article/details/78782501 这个播放是通过renderer的方式,iOS版的是通过EAGLContext的方式,总体流程是一样的:需要这么几个步骤:编写shader->编译shader->链成gpu程序(代码中的program)->分别创建yuv纹理对象->找到yuv原创 2017-12-12 16:31:46 · 3756 阅读 · 0 评论 -
FFmpeg 音视频编码 采用新接口编码 写到MP4文件 AVFilter添加水印
由于FFmpeg有两套接口,一套是将要废弃的老接口,比如编码接口:int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr);int avcodec_encode_video2(AVCo...原创 2019-06-25 11:51:01 · 5800 阅读 · 0 评论 -
FFmpeg 音视频编码 采用新接口编码 并直接推流 AVFilter 添加水印
由于FFmpeg有两套接口,一套是将要废弃的老接口,比如编码接口:int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr);int avcodec_encode_video2(AVCo...原创 2019-06-25 11:39:59 · 11532 阅读 · 0 评论 -
iOS GPUImage使用 短视频录制 暂停录制 滤镜 自定义美颜滤镜 gif动态及文本水印添加 视频拼接
功能(有示例代码):1.基于GPUImage自定义美颜滤镜2.基于GPUImage添加文本水印及动态水印3.录制过程中各种滤镜随意切换,及文本水印动态水印随意切换可以加载gif图作为水印4.录制过程中可以暂停并继续录制5.使用AVFoundation框架进行视频拼接6.获取短视频第一帧图片,示例代码中有方法录制页面:示例代码:https://github.com/huizai07...原创 2019-05-22 10:46:46 · 2810 阅读 · 0 评论 -
直播源 直播地址 测试地址 http rtsp rtmp hls 短视频测试地址
http,720P:这个可以直接点击网址浏览器播放。http://221.228.226.23/11/t/j/v/b/tjvbwspwhqdmgouolposcsfafpedmb/sh.yinyuetai.com/691201536EE4912BF7E4F1E2C67B8119.mp4http://221.228.226.5/14/z/w/y/y/zwyyobhyqvmwslabxyoaix...原创 2018-10-23 11:46:11 · 63564 阅读 · 5 评论 -
android ffmpeg+OpenGL播放yuv+openSL 快放 慢放 视频播放器
这里是完整的音视频播放器,功能如下(这里有iOS版的): 视频是通过opengl 播放yuv数据,音频是opensl播放。 app运行流程如下图: 红色虚线内的是一个线程的运行,总共涉及到四个线程。 java层几乎没有播放器的内容,ffmpeg,opengl,opensl都是在c++层运行,所以可以原封不动的迁移到其他平台,如ios,不过c/c++代码ios程序员看起来不太友好,有原创 2017-12-12 14:08:51 · 5304 阅读 · 11 评论 -
iOS ffmpeg+OpenGL播放yuv+openAL 快放 慢放 视频播放器
由于老版本的ffmpeg一些使用方法将要废弃如streams[videoStream]->codec这种方式查找解码器就不能用了,再使用就会报警告,或者报错,这里使用新版ffmpeg接口制作播放器。 先看播放器功能(这里有android版的): 带有音视频同步,快慢速播放,本地及网络视频播放等,经测试支持所有网络视频流,目前还没有发现播放不出的网络视频流。这是一个完整的播放器,后面有源码下原创 2017-12-11 11:39:25 · 7019 阅读 · 8 评论 -
ios opengl 播放 yuv数据
android opengl 播放 yuv数据: http://blog.csdn.net/m0_37677536/article/details/78783267 yuv格式数据是怎么来的呢: Kr = 0.2126 Kb = 0.0722 从 RGB 到 YUV 转换的定义以下列内容开始:L = Kr * R + Kb * B + (1 – Kr – Kb) * G然后,按照下列方式原创 2017-12-12 16:02:27 · 4046 阅读 · 0 评论 -
iOS 最简单的OpenAL播放PCM实时音频
这是拿windows版的移植来的,当然也可以再移植过去。这里简单说一下怎么使用,因为音频播放速率是一定的,那么给openal更新pcm数据包的速率也是一定的,太快了太慢了都会播放异常,openal有pcm数据缓冲,要实时监控缓冲里面剩余数据的多少,少了及时更新数据多了及时阻塞,其中m_numqueued头文件中这个值的大小就是将要播放的缓存的队列的数据数量。这个队列数据缓存太大了播放延迟大,太小了原创 2018-01-09 15:41:23 · 4703 阅读 · 1 评论 -
最简单的OpenSL播放PCM实时音频
这里是c语言写的给android用的,可以拿到其他平台使用。既然是最简单的,肯定使用起来就是超级简单如回调方法就一句代码。这里简单说一下使用要注意的地方: 1.如果想要使用opensl的一些功能如音量控制: 只是这样是不可以的,拿到的bqPlayerVolume为空值,还需要在这个地方打开一下: 这是我碰到的坑,帮助大家直接跳过。 2. opensl播放音频速率是一定的,那么给op原创 2018-01-09 16:12:49 · 5656 阅读 · 1 评论 -
FFMPEG 播放时间计算 AVRational 音视频同步问题分析
FFmpeg怎么计算一帧视频或者音频所在的播放时间呢? time=采样时间间隔*第几次采样; 这样看起来很直白吧。 要用到AVRational来计算: FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的 typedef struct AVRational{ int num; ///< numerator原创 2017-12-18 12:11:37 · 3361 阅读 · 0 评论 -
FFmpeg 音视频编码 AVFilter添加水印 编码到MP4文件 编码后进行RTMP推流 用FFmpeg对GPUImage输出视频进行软编码
此代码需要对FFmpeg有基本的了解,对音视频编码有基本了解,才能看,没有基本了解注释再多也没用YHAVRecord.h//// YHAVRecord.h// RecordVideo//// Created by huizai on 2019/5/24.// Copyright © 2019 huizai. All rights reserved.//#import &...原创 2019-06-21 18:36:32 · 4130 阅读 · 0 评论