自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (11)
  • 收藏
  • 关注

原创 h264硬编解码ffmpeg(十一)

前言ffmpeg实现了软件解码,以及导入libx264等外部库实现软编码。同时它还对各个平台的硬编解码也进行了封装,提供了统一的调用接口。本文目的就是通过实现硬遍解码h264了解这些流程和接口视频硬解码相关流程image.png视频硬编码相关流程image.png视频硬编解码相关函数及结构体1、AVCodecContext编解码结构体上下文,对于硬解码,则需要设置如下两个变量-get_format:此函数用于获取硬解码对应的像素格式,比如videotoolbox就是

2020-10-29 10:25:22 7746 3

原创 AVFoundation音视频解封装MP4/MOV(一)

前言从本文开始逐渐学习iOS自带的多媒体处理框架,例如AVFoundation,VideoToolbox,CoreMedia,CoreVideo实现多媒体的处理,并且将实现方式以及效果和ffmpeg的方式做对比本文的目的为实现将本地的多媒体文件(MP4,MP3,MOV等等)解封装对应的ffmpeg实现方式参考:MP4/MP3解封装ffmpeg(十三)解封装相关流程image.png解封装相关对象及函数介绍 1、AVURLAsset对象 AVAsset对象是一个抽象子类,是AV

2020-10-28 10:11:37 4956

原创 AVFoundation播放音视频(五)

前言从本文开始逐渐学习iOS自带的多媒体处理框架,例如AVFoundation,VideoToolbox,CoreMedia,CoreVideo实现多媒体的处理,并且将实现方式以及效果和ffmpeg的方式做对比AVPlayer是AVFoundation中封装的一个用来渲染音视频的播放器,它可以播放本地的音视频文件,也可以播放远程的音视频文件,同时它对基于HLS协议的在线音视频也很好的支持,功能还是很强大的,本文的目的:1、熟悉AVFoundation中关于AVPlayer接口的使用,使用这些接

2020-10-28 10:10:36 5077

原创 AVFoundation音视频封装到MP4/MOV(二)

前言从本文开始逐渐学习iOS自带的多媒体处理框架,例如AVFoundation,VideoToolbox,CoreMedia,CoreVideo实现多媒体的处理,并且将实现方式以及效果和ffmpeg的方式做对比AVFoundation的封装确实比较强大,分两种情况,一种是要写入的数据是已经压缩好的音视频流(音频aac流,视频h264流)可以直接通过AVFoundation封装到MOV,MP4等等文件中;另一种是原始的未压缩音视频数据(YUV视频,PCM视频)也可以通过AVFoundation的接口

2020-10-27 10:34:51 3217

原创 AVFoundation音视频精准截取(九)

前言从本文开始逐渐学习iOS自带的多媒体处理框架,例如AVFoundation,VideoToolbox,CoreMedia,CoreVideo实现多媒体的处理,并且将实现方式以及效果和ffmpeg的方式做对比截取一个音视频文件中的某个时间段的音视频然后保存是很常见的需求,AVFoundation就提供了这样的接口,它其实也是利用AVMutableComposition来实现的本文的目的:截取一个音视频文件中的某个时间段的音视频然后保存到本地音视频截取相关流程image.png

2020-10-27 10:30:56 1855

原创 Android屏幕投影及反向控制原理

这一周过的是够有意思的,先停两天电,然后感冒了,然后项目出Bug了,然后发烧了,呵呵哒,赶紧只能过来写点东西压压惊。鉴于最近正好在研究Android投屏及反像控制和Android双开的技术原理,本周就先写写Android投影以及反向控制的原理了。1 目标Android投影屏幕到电脑 电脑端反向控制Android手机(如QQ,微信,淘宝...)2 背景最近在项目小组中遇到一件事,小组有时候需要演示demo供大家参考,当演示Android手机投屏时,就需要借助第三方软件进行投屏,比如说360手机

2020-10-22 15:53:24 5256

原创 19个程序员兼职平台

关于程序员接私活,社会各界说法不一。按我的观点来说,如果你确实急用钱,价格又合适,那就去做。如果不怎么缺钱,那就接私活之前要好好考虑。私活的钱不好挣是一个方面,更重要的是如果你把做私活的时间花在提升自己上,产生的价值就要大得多。等你提升了自己,提升了固定薪水,远比拿的这点私活的钱划算。千万不要“捡了芝麻丢了西瓜”。如果你主业上遇到了瓶颈,平时的时间比较充分,想有一些额外的收入,同时为了保持技术的熟练度,这种情况下,是可以考虑接一些私活的。对于那种投入时间巨大,回报很可怜的项目,千万不

2020-10-20 10:17:24 32595 3

原创 安卓OpenGLES环境搭建(十)

前言前面学习了opengl es的基础知识,包括GLSL语言,常用函数等等,由于opengl es是基于夸平台的api设计,它本身不提供上下文管理,窗口管理,这些交给具体的设备厂商。在安卓平台这些是由EGL库实现的,接下来我们就学习安卓平台如何搭建opengl es的环境;安卓平台的EGL库分为java层,在com.media.opengl_es包下;native层的EGL库则需要引入头文件#include <EGL/egl.h>#include <EGL/eglext.h&g

2020-10-30 10:20:35 1386

原创 安卓截屏和图片画角线OpenGLES(十一)

前言上一篇文章我们学习了如何在安卓平台搭建opengl es环境,如何通过TextureView加载一张图片。其实,通过前面的学习,那么关于安卓平台如何使用opengl es就掌握了一大部分了,剩下的就是性能等等余下的功能了;本篇文章的目标如下:1、渲染一张图片之后再在图片上画一个对角线2、把步骤一种的内容截屏保存到系统相册。对于第二点,可能有人觉得比较有用,比如视频直播过程中,对某一时刻画面进行截屏。对,实现原理和思路其实是一样的,接下来我们逐一讲解如何实现。opengl es系列文章o

2020-10-30 10:20:01 525

原创 MAC编译ffmpeg+x264+mp3lame(IOS和android)(一)

前言FFmpeg是一个很强大的垮平台的音视频处理库,它可用于Mac/windows/ios/android/linux等各个平台,FFmpeg库自身native代码实现了很多功能,也引入了其它的很多外部库,比如x264、fdk_aac、lamemp3等等,然后对这些外部库做封装,对外则提供了统一的接口。如下提供了尽量简单的方法编译用于这些平台的ffmpeg库(引入常用的x264、fdk_aac、lamemp3外部库)。编译基础知识编译一般分为本地编译和交叉编译,本地编译是相对于交叉编译而言的。本

2020-10-30 10:19:35 1799 1

原创 cmake多目录构建(二)

前言上一篇文章从如何构建只有一个源文件扩展到多个源文件,多个目录的构建语法,以及如何进行外部构建(out-of-source)。这里回忆一下,每次构建都会生成一个CMakeFiles文件夹,当执行make指令后,编译的中间文件会在DemoProject.dir(DemoProject目录为可执行程序名)文件夹中,Makefile文件会在构建根目录下(外部构建时再build目录下,内部构建时则再源码根目录下),生成的可执行程序也在与Makefile同目录下,这些都是默认行为。通常一个大型项目组建项目目

2020-10-30 10:18:42 1189

原创 cmake进阶内建变量及指令(六)

前言cmake构建系统有一套自己的语法树定义变量 定义和取消变量的语法: set(variable_name variable_value) #定义变量 set(variable_name variable_value) #改变变量的值 unset(variable_name) #取消变量的定义 变量名区分大小写,且值始终是string类型的。cmake中 ON、YES、TRUE、非0数字、非空字符串代表真;OFF、NO、FALSE、0、空字符串("")代表假 变量引用的形式

2020-10-30 10:18:10 1381

原创 cmake编译iOS/android/mac的opencv库(八)

编译环境操作系统:Mac OS X 10.15.4 (19E266) XCode :Version 11.4 (11E146) cmake :cmake version 3.10.2 python:3.7.4_1准备工作1、下载源码// 下载opencv_master源码git clone https://github.com/opencv/opencv.git opencv_mastergit checkout -b my-4.3.0 4.3.0// 下载opencv_.

2020-10-30 10:17:23 693

原创 YUV格式与RGB的转换

前言YUV与RGB是两种不同的颜色空间,视频一般都用YUV来进行存储,因为相同分辨率的视频RGB占用空间为YUV420的1.5倍YUV的采样方式YUV根据采样方式的不同,其占用大小也不一样,主流有如下三种YUV444 每一个Y对应一组UV分量,即:一个YUV占8+8+8 = 24bits,3个字节。 YUV422 每两个Y共用一组UV分量,即:一个YUV占8+4+4 = 16bits 2个字节。 YUV420 每四个Y共用一组UV分量,即:一个YUV占8+2+2 = 12bits

2020-10-30 10:16:50 1116

原创 MAC编译ffmpeg+x264(IOS和android)(一)

前言FFmpeg是一个很强大的垮平台的音视频处理库,它可用于Mac/windows/ios/android/linux等各个平台,FFmpeg库自身native代码实现了很多功能,也引入了其它的很多外部库,比如x264、fdk_aac、lamemp3等等,然后对这些外部库做封装,对外则提供了统一的接口。如下提供了尽量简单的方法编译用于这些平台的ffmpeg库(引入常用的x264、fdk_aac、lamemp3外部库)。编译基础知识编译一般分为本地编译和交叉编译,本地编译是相对于交叉编译而言的。本

2020-10-30 10:16:16 3449

原创 windows编译ffmpeg+x264库(android和linux)(二)

前言ffmpeg是一个跨平台的音视频处理库,为了跨平台那么就需要编译出适用于各个平台的ffmpeg库。一般在windows平台下会进行windows开发和安卓开发,所以本文的目的就是在windows平台下编译用于windows和安卓使用的ffmpeg库在windows平台下编译ffmpeg有多种方式:1、windows下装linux虚拟机编译用于Linux,Android平台使用的库2、windows下通过Cygwin或minGW+MSYS编译用于windows,Android平台的库这里采

2020-10-30 10:15:22 653

原创 ubuntu下编译ffmpeg+x264库(android和Linux)(三)

前言ffmpeg是一个跨平台的音视频处理库,为了跨平台那么就需要编译出适用于各个平台的ffmpeg库。前文分别实现了在windows平台和Mac平台下编译安卓,mac,windows使用的库,本文的目的就是在Linux平台下编译用于Linux和安卓使用的ffmpeg库。这里采用的Linux为Ubuntu系统,基本上Mac平台的编译脚本只需要做少量的修改就可以移植到Ubuntu系统。编译环境准备 1、安装Ubuntu系统虚拟机: 我这里用的是Mac电脑(ps:mac电脑的可以直接使用脚本编译a

2020-10-30 10:14:43 525

原创 ffmpeg之-AVFrame解析(五)

前言AVFrame 位于libavutil/frame.h中,AVpacket一样,是FFmpeg中很重要的结构体。它用于表示未压缩的音视频数据(编码前或者解码后),使用了引用计数机制来管理内存源码首先是源码部分(基于ffmpeg版本为4.2),已去掉注释部分typedef struct AVFrame {#define AV_NUM_DATA_POINTERS 8 uint8_t *data[AV_NUM_DATA_POINTERS]; int linesize[.

2020-10-29 10:29:31 3059

原创 ffmpeg之-ffmpeg/ffplay/ffprobe(六)

ffplay常用命令1、ffplay播放yuv文件ffplay -f rawvideo -pix_fmt nv12 -video_size 640x480 -framerate 50 -i test.yuv备注:如果不指定-pix_fmt,默认为yuv420p;如果不指定framerate 默认25fps通过ffplay -pix_fmts 可以查看支持的播放格式2、ffplay播放pcm文件ffplay -ar 44100 -ac 2 -f f32le -i test_441_f32le_

2020-10-29 10:28:47 409

原创 x264编码YUV420P为H264格式ffmpeg(七)

前言原始的视频数据(YUV格式)非常大,要进行存储或者传输之前一般都需要进行压缩处理,x264支持几乎所有h264的特性而且是速度最快的商用编码器之一。ffmpeg编码流程图image.png根据官网的介绍,原始视频帧首先送入输入缓冲区,此时并没有立即进行编码,输入缓冲区默认存储gopsize+一个GOP内B帧数量+4 个原始视频帧后输出缓冲区才有输出1、编码器有一个draining状态,当原始视频帧为NULL时,编码器进入draining状态,此时输入缓冲区不再接受新的输入.

2020-10-29 10:28:13 1248

原创 pcm编码为aac/MP3格式ffmpeg(八)

前言pcm音频是未压缩的数据,占空间,在存储或者传输时一般都会选择先进行有损压缩(比如aac,MP3等等)。pcm音频数据在文件存储时一般都按照planner格式存储,例如:声道1声道2声道3..声道1声道2声道3......常见音频编码格式参考资料 地址ffmpeg函数编码流程以下流程图还包括编码后的数据封装到指定的文件格式容器中2.jpgffmpeg编码相关函数介绍1、重要的结构体AVCodec1、常见音频编码格式介绍,参考博客文档:https://blo.

2020-10-29 10:27:40 2359 2

原创 音频重采样ffmpeg(九)

前言广义的音频重采样包括:1、采样格式转化:比如采样格式从16位整形变为浮点型2、采样率的转换:降采样和升采样,比如44100采样率降为2000采样率3、存放方式转化:音频数据从packet方式变为planner方式。有的硬件平台在播放声音时需要的音频数据是planner格式的,而有的可能又是packet格式的,或者其它需求原因经常需要进行这种存放方式的转化通常意义上的音频重采样是指上述的第2点,即升采样和降采样,这个对音质有一定影响重采样相关函数流程图1584929874392.

2020-10-29 10:26:42 1972 1

原创 aac和h264软解码ffmpeg(十)

前言音视频解码是一个很常用的需求场景,同时它也是一个非常耗时的过程。压缩的音视频数据aac音频流,h264视频流等等,常常需要先解码为未压缩数据才能进行播放,ffmpeg为音视频的软解码提供了统一的接口,使用起来非常方便。软解码相关流程image.png软解码相关函数AVPacket结构体 该结构体用于存储压缩的音频或者视频对应初始化函数和释放函数av_packet_alloc();av_packet_free();av_packet_unref();AVFrame结构

2020-10-29 10:26:10 886

原创 视频缩放及像素格式转换ffmpg(十二)

前言1、视频缩放是指将视频放大或者缩小,放大或者缩小对应着不同的缩放算法,每一种算法性能和效果也不一致。视频缩小也是很常见的需求,各个点播平台基本上都会提供不同分辨率(超清1080P,高清720P,标清360P)的视频资源以适应用户不同网络条件的需求。2、视频像素格式转换;安卓平台碎片化的特性,安卓手机录制的视频可能有多种不同像素格式,比如NV12,NV21等等,虽然他们都是YUV颜色空间,但是转换成RGB的方式和方法却不一致。视频缩放及像素格式转换流程image.png视频缩放及像素

2020-10-29 10:24:43 1050

原创 MP4/MP3解封装ffmpeg(十三)

前言解封装包括很多层步骤,包括协议的解析,封装格式的解析。ffmpeg中,本地文件当做file://协议来解析,远程文件采用的传输协议有http(s),rtsp等等。封装格式比如MP4,MOV,TS,MPEG等等。对于ffmpeg来说,只需要调用一个借口函数即可完成解封装的所有步骤,非常简单解封装相关流程image.png解封装相关函数介绍1、AVFormatContext重要字段介绍(针对解封装后的)nb_streams:包含的流的个数streams:每个流对象,流对象中包括

2020-10-29 10:24:04 1458

原创 音视频封装到MP4/MP3ffmpeg(十四)

前言音视频封装指的是将编码后的数据放入具有一定规则的容器文件中,比如MP4文件,MOV文件,MP3文件等等。容器文件和编码方法是两个不同的概念,需要区分,不过MP3即是编码方法,也是一种容器文件。音视频封装是一种很常见的应用场景,比如封装成MP4文件,便于存储和传播。MP4既可以只包含音频或者视频,也可以同时包含多个音频和视频。本文以MP4为例,将音视频数据封装到MP4容器文件中封装相关流程image.png音视频的封装是基于AVFormatContext来实现的封装相关函数

2020-10-29 10:23:32 1855

原创 音视频转码ffmpeg(十六)

前言音视频转码主要指这样的概念:1、容器格式的转换,比如MP4转换为MOV2、容器中音视频数据编码方式转换,比如H264编码转换成MPEG4编码,MP3换为AAC3、音视频码率的转换,比如4M的视频码率降为2M4、视频分辨率的转换,比如1080P视频变为720P,音频重采样等等转码技术点分析 转码流程图 image.png 流拷贝是指源文件音/视频编码方式也被目标文件支持,那么此情况下音/视频数据拷贝就可以直接拷贝到目标文件下转码类型分析容器格式的转换.

2020-10-28 10:18:58 1946 1

原创 音视频精准截取ffmpeg(十七)

前言有时会碰到这样的需求场景,对一个视频中的某一段感兴趣,想要精确的截取这一段视频以及对应的音频。例如,有一个25fps的MP4的文件,时长20秒,我想要截取从5秒开始到15秒结束的视频以及对应的音频,这里有两点需要说明:1、对于视频:开始时间5秒,结束时间15秒。只能做到尽量接近,因为源文件25fps,即每一帧的显示间隔为0.04秒,可能5秒附近的视频帧刚好在5.012秒,最大误差一帧时间差就是1/25==0.04秒,所以4.96-5.04秒范围内都可以。2、对于音频:比如采样率44100,每一个

2020-10-28 10:18:12 1035

原创 视频添加背景音乐ffmpeg(十八)

前言有时候有一段无声的视频,想为其添加背景音乐,增加视频的丰富性。这种需求应该也很常见,本文目标就是为一段无声视频添加背景音乐,同时满足如下的需求:1、声音可以添加在视频时间轴上的任意位置开始2、以视频时间轴为参考,若音频时间最终超过视频的最大时间则截断合并后新的音视频文件能够正常速率播放实现思路分析这里无声视频选择MP4,要添加的音频文件选择aac。其它格式类似;我们知道,基于ffmpeg解封装时,音视频文件最终是由一系列AVPacket组成的;同理基于ffmpeg封装时,调用av_w

2020-10-28 10:17:40 1381

原创 合并音视频文件ffmpeg(十九)

前言在视频编辑领域经常会碰到这样的需求场景,用户选择了多段感兴趣的视频想把它们拼接成一个文件。本文的目标就是实现多段视频文件的合并。同时也接触到一个新的概念,流媒体封装格式类型:媒体格式分为流式和非流式,主要区别:1、非流式的元信息通常存储在文件中开头,有时在结尾;2、流式的元信息跟具体音视频数据同步存放的,所以多个流式文件简单串联在一起形成新的文件也能正常播放;多个非流式文件的合并则可能需要重新编解码才可以正常播放3、例如mpg格式就是流式格式,通过直接依次取出每个文件的AVPacket,

2020-10-28 10:17:00 1595

原创 视频提取图片/图片合成视频ffmpeg(二十)

前言需求场景1(视频中提取照片): 各大网站在线播放视频时,鼠标滑到某一时刻能够提前显示那一时刻的画面。短的视频编辑APP中,为了更好的对视频进行编辑,会提取出视频各个时刻的画面进行预览,那么这些是如何实现的呢?本文将给出基于ffmpeg的实现代码以及实现思路。 需求场景2(照片合成视频): 摄影师经常不间断的拍摄一组连续的画面用于合成延时视频,剪印APP中也有时光相册这样通过照片生成视频的功能(不过剪印APP照片合成的视频采用了插值算法生成了额外的过度动画照片以及特效,功能更加复杂,但是不管怎样

2020-10-28 10:16:20 1428

原创 音频重采样和音量调整ffmpeg滤镜(二十一)

前言ffmpeg内置了很多滤镜库,都封装在AVFilter模块中,通过这个滤镜模块可以用来更加方便的处理音视频。比如视频分辨率压缩滤镜scale(用来对视频的分辨率进行缩放),视频翻转滤镜transpose(对视频进行上下左右的翻转);音频格式转换滤镜aformat(它实际上最终是调用avresample滤镜实现的),volume(用来调整音量大小)等等。 关于ffmpeg的滤镜AVFilter源码及编译 1、默认情况下libavfilter模块会编译如下文件: OBJS = allfilte

2020-10-28 10:15:46 2919

原创 视频压缩和翻转ffmpeg滤镜(二十二)

前言ffmpeg内置了很多滤镜库,都封装在AVFilter模块中,通过这个滤镜模块可以用来更加方便的处理音视频。比如视频分辨率压缩滤镜scale(用来对视频的分辨率进行缩放),视频翻转滤镜transpose(对视频进行上下左右的翻转);音频格式转换滤镜aformat(它实际上最终是调用avresample滤镜实现的),volume(用来调整音量大小)等等。关于ffmpeg的滤镜AVFilter源码及编译1、默认情况下libavfilter模块会编译如下文件:OBJS = allfilters.o

2020-10-28 10:14:43 1403

原创 ffmpeg-音频淡入淡出混合滤镜(二十三)

前言两段音频拼接到一起,希望一首音频播放完毕过渡到另外一首音频时有一个平滑的转场效果。这就是本文要实现的目的ffmpeg命令行音频滤镜格式ffmpeg命令行工具提供了滤镜的语法格式,格式如下:ffmpeg <-filter/vf/-af/-filter_complex> filtergraph-filter/-vf/-af/-filter_complex代表ffmpeg命令行工具将使用滤镜功能,其中-filter代表使用简单的音视频滤镜。-vf/-af 代表使用简单的音/视频滤

2020-10-28 10:13:51 2916

原创 AVFoundation音视频采集(三)

前言从本文开始逐渐学习iOS自带的多媒体处理框架,例如AVFoundation,VideoToolbox,CoreMedia,CoreVideo实现多媒体的处理,并且将实现方式以及效果和ffmpeg的方式做对比APP会有这样的需求,录制一段音频或者一段视频,或者拍摄一张照片等等,AVFoundation提供了为我们提供了实现这些需求的接口。通过这些接口我们可以从设备获取指定格式的未压缩的音视频数据,然后又可以压缩之后保存到文件里面存储在本地或者在网络上传输本文的目的:1、熟悉AVFoundat

2020-10-27 10:34:21 2104

原创 AVFoundation拍照及录制到文件(四)

前言从本文开始逐渐学习iOS自带的多媒体处理框架,例如AVFoundation,VideoToolbox,CoreMedia,CoreVideo实现多媒体的处理,并且将实现方式以及效果和ffmpeg的方式做对比APP会有这样的需求,录制一段音频或者一段视频,或者拍摄一张照片等等,AVFoundation提供了为我们提供了实现这些需求的接口。通过这些接口我们可以从设备获取指定格式的未压缩的音视频数据,然后又可以压缩之后保存到文件里面存储在本地或者在网络上传输本文的目的:1、熟悉AVFoundat

2020-10-27 10:33:47 1082

原创 AVFoundation视频添加背景音乐(六)

前言从本文开始逐渐学习iOS自带的多媒体处理框架,例如AVFoundation,VideoToolbox,CoreMedia,CoreVideo实现多媒体的处理,并且将实现方式以及效果和ffmpeg的方式做对比给一个视频添加音乐,将多段音视频文件合并为一个文件是很常见的需求,AVFoundation就提供了这样的接口。本文的目的:为一段视频添加背景音乐音视频合并相关流程image.png上图介绍了AVFoundation框架中关于合并音视频文件的相关的对象关系图,可以看到使用A

2020-10-27 10:33:04 656

原创 AVFoundation合并多个音视频文件(七)

前言从本文开始逐渐学习iOS自带的多媒体处理框架,例如AVFoundation,VideoToolbox,CoreMedia,CoreVideo实现多媒体的处理,并且将实现方式以及效果和ffmpeg的方式做对比给一个视频添加音乐,将多段音视频文件合并为一个文件是很常见的需求,AVFoundation就提供了这样的接口。本文的目的:合并两个MP4文件为一个音视频合并相关流程image.png上图介绍了AVFoundation框架中关于合并音视频文件的相关的对象关系图,可以看到使用

2020-10-27 10:32:22 1470

原创 AVFoundation从视频中提取图片(八)

前言从本文开始逐渐学习iOS自带的多媒体处理框架,例如AVFoundation,VideoToolbox,CoreMedia,CoreVideo实现多媒体的处理,并且将实现方式以及效果和ffmpeg的方式做对比从一个视频文件中提取出指定时间或者多个指定时间处的视频帧然后转换为图片是很常见的需求,AVFoundation就提供了这样的接口。本文的目的:1、提取一个视频文件中10秒处的所有视频帧并且以JPG格式保存到本地2、提取一个视频文件中某一个时刻的一帧视频并且以JPG格式保存到本地3、提

2020-10-27 10:31:40 1659

原创 ffmpeg-给视频添加字幕(二十四)

前言在我们观看电影或者抖音等短视频平台的视频时一般都会出现字幕,有了字幕那视频的表现形式就更加丰富了,所以为一段视频添加字幕也是一个硬需求。本文的目的就是为一段视频添加字幕,了解如何添加字幕前先了解下字幕的类型: 外挂字幕 外挂字幕是一个单独的外部字幕文件,格式类型一般有srt、vtt、ass等等。播放视频时,需要把外挂字幕和视频放在同一目录下,并在播放器中选择字幕文件才可以在视频中看到字幕。 软字幕 软字幕也叫内挂字幕、封装字幕、内封字幕,字幕流等,就是把前面的外挂字幕的字幕文件嵌

2020-10-27 10:16:36 15292 3

NVAPI-R304-developer

NVAPI-R304-developer nvapi.lib

2024-07-26

opengl32.lib opengl32.dll

opengl32 glu32.dll glut.lib glut32.lib opengl32.lib opengl32.dll GLAUX.LIB glaux.dll

2024-07-26

MediaPipeUnityPlugin-master

MediaPipeUnityPlugin-master

2024-07-12

KVYcam 虚拟摄像头

KVYcam

2024-07-12

QoocamLive-V1.4.12

QoocamLive-V1.4.12

2024-07-12

UnityChanKAGURA-URP-DollarsMoCap-master

UnityChanKAGURA_URP_DollarsMoCap-master

2024-07-12

UniTask-master

UniTask-master

2024-07-12

Unity-3D-Xmpp-Protocol-master

Unity-3D-Xmpp-Protocol--master

2024-07-12

unity-xmpp-group-chat-main

unity-xmpp-group-chat-main

2024-07-12

NVIDIA Video Effects SDK-win-0.7.2.0

NVIDIA Video Effects SDK_win_0.7.2.0

2024-04-26

unity 3D webview插件

在unity 3D上使用 3D webview插件,在3D场景中 任意位置或物体上显示 网页

2023-12-27

unity webView package

用于在unity上使用 webview 插件,打开网页或显示H5页面

2023-12-27

NewBehaviourScript.cs

此文件为unity3D中使用的C#脚本,脚本中包含了 加载spine动画、显示spine动画,动态创建显示spine,动态创建显示图片(png格式等),支持显示隐藏物体(动画等)。

2020-09-09

cocos2d-oepngl.txt

该文档中包含了在cocos2d中使用多线程opengl纹理的方法,包括如何关联opengl上线文,拷贝纹理,cocos中精灵sprite 中上传子线程的纹理。

2020-09-09

Classes.zip

此文件为cocos学习资料,里面包含cocos例子相关代码,使用此文件可以实现cocos多线程使用opengl上下文,实现纹理拷贝

2020-09-09

R435-developer.zip

该压缩包中 包含使用英伟达显卡驱动相关库和头文件,使用该压缩包 可以调用 英伟达显卡中 相应的接口。

2020-08-11

glew-2.1.0-win32.zip

此文件用于 opengl 学习者使用,该文件中包含 32位 和 64位的库;可以用于配置opengl环境

2020-08-11

fbx-conv.zip

fbx格式转换器是使用vs2012配置的工程,在windows系统上可以直接使用;此工程用于转换资源格式。

2020-07-24

unity_dll.zip

此动态库是由 c++ 、 vs2017 配置的,该工程下载后,即可直接编译使用;此动态库用于 unity3D 当做插件,将unity3d渲染的图像数据拷贝到c++创建的共享内存中。

2020-07-24

work.zip鼠标钩子相关文案

此文件用于学习鼠标钩子的文案,属于初级学习z资料,用于增加编程技术。此文件用于学习鼠标钩子的文案,属于初级学习z资料,用于增加编程技术。

2020-07-21

gloox-0.9.9.12.zip

此工程为c++ vs2017 配置的工程,该工程已配置好,下载直接编译,即可生成动态库DLL,gloox客户端与服务器 进行消息通讯。

2020-07-20

test_ffmpeg_streamer-master.zip

此工程为c++ vs2017,该工程以配置好,直接下载编译,即可运行。该工程为c++使用ffmpeg进行推拉流。

2020-07-20

相机图片资源.zip

学习资料,美颜相关资料,包括图片等,本资源包括多张图片,通过长时间的使用和验证,证明此资源 效果很好,并且具有扩展性

2020-07-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除