音视频
文章平均质量分 60
文长
咿呀呀
展开
-
usbcamera拔掉设备崩溃
崩溃堆栈如下:解决办法:原创 2020-07-11 10:45:26 · 935 阅读 · 0 评论 -
几个移动端直播SDK开源地址
ios直播sdk:https://github.com/runner365/LiveVideoCoreSDKios带滤镜的直播sdk:https://github.com/runner365/GPUImageRtmpPushandroid直播sdk:https://github.com/runner365/android_rtmppush_s原创 2017-09-15 14:50:16 · 8077 阅读 · 2 评论 -
AVAssetWriter保存MP4(PBJVision)
#import "PBJMediaWriter.h"#import "PBJVisionUtilities.h"#import "PBJVision.h"#import #import #define LOG_WRITER 0#if !defined(NDEBUG) && LOG_WRITER# define DLog(fmt, ...) NSLog((@"writer: "原创 2017-09-15 11:44:11 · 3308 阅读 · 0 评论 -
lame example
#include "codec.h" // self#include // std::ofstream#include // std::logic_error#include "../lameplus/lameplus.h" // LamePlus#include "../wave/wave.h"原创 2017-08-24 12:12:47 · 372 阅读 · 0 评论 -
ios build lame
1、下载编译脚本:https://github.com/kewlbear/lame-ios-build2、下载lame:http://lame.sourceforge.net3、将下载的lame-3.99.5放到编译脚本那个目录,重命名为lame4、运行:./build-lame.sh原创 2017-08-22 17:55:24 · 873 阅读 · 0 评论 -
VTDecompressionSessionDecodeFrame -8969
解码时候,需要用h264数据长度替换0x00 0x00 0x00 0x01,注意长度大小端,否则会出现-8969错误-(int)decode:(char*)buf len:(int)len { CVPixelBufferRef outputPixelBuffer = NULL; CMBlockBufferRef blo原创 2017-08-15 15:09:28 · 1708 阅读 · 0 评论 -
ffmpeg encode/decode example
00001 /*00002 * Copyright (c) 2001 Fabrice Bellard00003 *00004 * Permission is hereby granted, free of charge, to any person obtaining a copy00005 * of this software and associated documentati原创 2017-08-18 17:41:47 · 1641 阅读 · 0 评论 -
ios ffmpeg+libx264
1、编译x264脚本:https://github.com/depthlove/x264-iOS-build-script2、编译ffmpeg脚本:https://github.com/kewlbear/FFmpeg-iOS-build-script3、build-ffmpeg.sh修改:#X264=`pwd`原创 2017-08-11 16:13:13 · 714 阅读 · 0 评论 -
iOS build faad
1、新建目录xxx,下载faad(http://downloads.sourceforge.net/faac/faad2-2.7.tar.gz)到xxx,解压,重命名为faad。2、编写build.sh,把下面这段抄进去#!/bin/shCONFIGURE_FLAGS="--enable-static --with-pic"原创 2017-08-17 17:03:39 · 734 阅读 · 0 评论 -
iOS ffmpeg + libfdk-aac
1、编译fdk-aac:http://blog.csdn.net/u011270282/article/details/772593202、编译ffmpeg脚本:https://github.com/kewlbear/FFmpeg-iOS-build-script3、build-ffmpeg.sh修改#FDK_AAC=`pwd`/..原创 2017-08-17 11:26:20 · 1474 阅读 · 0 评论 -
OpenGL 错误获取glGetError()
转载:http://blog.csdn.net/u010270148/article/details/52934295如果函数参数不符或者不符合当前上下文设置的状态,则会导致 OpenGL Error。已 error code 来表示。绝大多数情况下 OpenGL functions 产生 errors,则不会生效。少数有效。OpenGL Error 存储在一个队列中,直到该错转载 2017-08-07 17:21:51 · 19124 阅读 · 0 评论 -
ios libfdk-aac encode
使用libfdk-aac编码。#import "FDKAACEncoder.h"#include "aacenc_lib.h"#define PROFILE_AAC_LC 2#define PROFILE_AAC_HE 5#define PROFILE_AAC_HE_v2 29#define PROFILE_AAC_LD 23#define PROFILE_AAC_ELD 39原创 2017-09-01 14:46:18 · 1045 阅读 · 0 评论 -
ios ffmpeg h264 encode
简单封装了下,ffmepg需要包含libx264。#import "FFMpegAVCEncode.h"#ifdef __cplusplusextern "C" {#endif #include #include #include #include #ifdef __cplusplus};#endif@implementation FFMpegAV原创 2017-09-01 10:53:24 · 383 阅读 · 0 评论 -
h265获取解码头
vps、sps、pps信息见上图:获取代码如下: void getH265Head(char* extradata,int len) { LOGD("getH265Head width : %d,height : %d,len : %d",mWidth,mHeight,len); if(extradata != NULL && len>22) ...原创 2018-05-15 10:44:04 · 3368 阅读 · 0 评论 -
Anroid camera + mediacodec
具体代码参考:https://github.com/google/grafika/tree/master/src/com/android/grafika主要流程:1、生成一个oes textrure2、通过上面生成的oes texture,new一个surfacetexture,设置回调surfacetexture.setOnFrameAvailableListener(CB);原创 2017-10-21 14:35:16 · 780 阅读 · 0 评论 -
obs之libx264编码
obs中使用libx264编码的例子,包含了动态设置码率。#include "Main.h"#include #include extern "C"{#include "../x264/x264.h"}void get_x264_log(void *param, int i_level, const char *psz, va_list argptr){ S原创 2017-09-01 15:09:24 · 1599 阅读 · 0 评论 -
obs之lame编码
obs之lame编码。#include "Main.h"#include "../lame/include/lame.h"const int audioBlockSize = 4; //output is 2 16bit channelsstruct AACDataPacket{ List Packet; inline void FreeData() {Pa原创 2017-09-01 15:01:50 · 462 阅读 · 0 评论 -
obs之libfaac编码
obs源码之libaac编码。#include "Main.h"#include "../libfaac/include/faac.h"//AAC is pretty good, I changed my mindclass AACEncoder : public AudioEncoder{ UINT curBitRate; bool bFirstPacket原创 2017-09-01 14:58:33 · 515 阅读 · 0 评论 -
ios libx264 h264 encode
#import "X264Encode.h"#include "x264.h"#define KEY_FRAME_INTERVAL 30typedef struct{ x264_param_t * param; x264_t *handle; x264_picture_t * picture; x264_nal_t *nal;} X264Encode原创 2017-09-01 14:43:49 · 374 阅读 · 0 评论 -
ios ffmpeg audio decode
ffmepg解码音频。#import "FFMpegAudioDecoder.h"#ifdef __cplusplusextern "C" {#endif #include #include #include #include #ifdef __cplusplus};#endif@interface FFMpegAudioDecoder(){原创 2017-09-01 11:07:37 · 428 阅读 · 0 评论 -
ios ffmpeg(libfdk-aac) aac encode
使用ffmpeg编码aac,使用libfdk-aac。#import "FFMpegAACEncoder.h"#ifdef __cplusplusextern "C" {#endif #include #include #include #include #ifdef __cplusplus};#endif#define ENCODE_SIZE 102原创 2017-09-01 11:04:25 · 612 阅读 · 0 评论 -
ios ffmpeg h264 decode
ios使用ffmpeg解码h264数据封装。#import "FFMpegAVCDecoder.h"#ifdef __cplusplusextern "C" {#endif #include #include #include #include #ifdef __cplusplus};#endif@interface FFMpegAVCDecoder(原创 2017-09-01 10:56:30 · 428 阅读 · 0 评论 -
iOS 使用mp4v2合成的视频注意事项
使用MP4v2合成视频,发现AVPlayer播放都是从第二个关键帧开始播放,调试发现原来第一个关键帧前面有个SEI。比如iOS,使用AVAssetWriter录制视频,再使用AVAssetReader读取h264数据,再通过MP4v2合成视频,读取到的第一个关键帧是包含一个SEI的。读到的第一个h264 buf格式是这样的: SEI长原创 2017-06-08 20:36:10 · 1842 阅读 · 0 评论 -
细数AVPlayer的那些坑
http://ivanyuan.farbox.com/post/shi-pin-bo-fang-de-na-xie-keng最近一直在做视频动态挂件以及一个视频播放的功能,在开始做之前,先学习了苹果的官方文档RosyWriter,熟悉了短视频拍摄、滤镜处理的一些小技巧,同学也学习了下GPUImage,最后在踩了很多坑以后才实现了视频挂件的处理。这次主要是总结和记录下视频转载 2017-04-21 14:38:35 · 29606 阅读 · 4 评论 -
YUV格式
http://blog.csdn.net/airk000/article/details/25032901http://linuxtv.org/downloads/v4l-dvb-apis/yuv-formats.htmlYUV格式YUV是源自于TV广播的符合视频信号,它将亮度信息(Y)从颜色信息(U、V或Cb、Cr)。颜色信息涵盖了红色和蓝色的颜色差异信号转载 2016-02-19 11:13:46 · 4534 阅读 · 0 评论 -
android用MP4v2保存视频出现的问题
android不同机型,帧率设置不一定有效,所以编码和mp4v2的帧率参数最好用计算出来的真实帧率。由于帧率设置无效还会导致,如果码率设置为一个固定值,帧率高的就会变模糊,这个可以把帧率高的丢掉一些以达到固定帧或者根据不同帧率调整码率。原创 2016-02-18 14:01:17 · 1485 阅读 · 0 评论 -
MP4v2获得h264数据
int32_t openFiles() { if (mp4File == NULL) { mp4File = MP4Read(mp4FilePathAndName); } if (mp4File == NULL) { NL_LOGE("mp4 file read error"); return -1; }原创 2016-01-27 10:41:14 · 2922 阅读 · 0 评论 -
javacv解码、录制视频,保存图片
貌似解码得到的每帧图像是RGB24的,要保存Bitmap.Config.ARGB_8888,要转一下cvCvtColor(img,tempImage,CV_BGR2RGBA)。 mGrabber = new FFmpegFrameGrabber(mMvPath); mGrabber.start(); opencv_core.IplImage tempImag原创 2015-12-23 18:33:19 · 6673 阅读 · 0 评论 -
GPUImage实现水印
GPUImage目录下面有个Blends目录,里面有各种各样水印。举个例子:GPUImageAlphaBlendFilter filter = new GPUImageAlphaBlendFilter;filter.setBitmap(bmp);剩下的就和其他filter一样用。iOS addtarget,android setfilter。原创 2016-01-06 11:38:42 · 5217 阅读 · 1 评论 -
FFmpegFrameRecorder保存视频or rtmp发布
记录一下:javacv/samples/WebcamAndMicrophoneCapture.javaimport java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.ShortBuffer; import java原创 2015-12-21 20:23:09 · 22786 阅读 · 4 评论 -
GPUImage 组合滤镜
GPUIamgeFilter *_filter = [[GPUImageFilterGroup alloc]init]; GPUImageContrastFilter *contrastFilter = [[GPUImageContrastFilter alloc] init]; [contrastFilter setContrast:3.5]; // 0 - 4原创 2016-01-06 11:04:04 · 2625 阅读 · 3 评论 -
Importing video using Javacv
http://opencvlover.blogspot.tw/2012/05/importing-video-using-javacv.htmlConfiguration steps for javacv on Eclipse running on windows 7 can be found in the link below.http://opencvlover.b转载 2015-12-21 18:20:49 · 844 阅读 · 0 评论 -
mediacodec_encode_sample.java
int width = 328, height = 248; int bitRate = 1000000; int frameRate = 15; String mimeType = "video/avc"; int threshold = 50; int原创 2016-01-21 14:49:06 · 877 阅读 · 0 评论 -
Mp4v2实现h264+aac打包成Mp4视频文件
使用mp4v2实现录制mp4视频,需要准备如下信息:1、获取mp4v2源码并编译成库文件,对于mp4v2的编译可以看前面的文章android 编译mp4v2 2.0.0生成动态库 ;2、获取h264数据中的sps和pps数据,如果不会的话可以查看前面的文章 点击打开链接;3、获取音频解码信息,在调用MP4SetTrackESConfiguration使用,具体的获取方式一转载 2016-01-20 11:04:50 · 9772 阅读 · 3 评论 -
YVU420PackedSemiPlanar32m4ka与YUV420PackedSemiPlanar64x32Tile2m8ka
YVU420PackedSemiPlanar32m4ka与YUV420PackedSemiPlanar64x32Tile2m8ka都是nv12变换来的。* YVU420PackedSemiPlanar : Buffer containing all Y, and then V and U *原创 2016-02-19 15:19:40 · 2363 阅读 · 0 评论 -
iOS获取camera的yuv数据
首先要设置输出格式: [videoOut setVideoSettings:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_420YpCbCr8BiPlanarFullRange]原创 2016-02-23 19:25:23 · 5899 阅读 · 0 评论 -
iOS MP4解码成yuv和pcm数据
- (void)startProcessing{ previousFrameTime = kCMTimeZero; previousActualFrameTime = CFAbsoluteTimeGetCurrent(); NSDictionary *inputOptions = [NSDictionary dictionaryWi原创 2016-11-18 20:42:12 · 1905 阅读 · 0 评论 -
在iOS端使用AVSampleBufferDisplayLayer进行视频渲染
原文在这里:http://blog.csdn.net/fernandowei/article/details/52179631目前大多数iOS端的视频渲染都使用OpenGLES,但如果仅仅为了渲染而不做其他的例如美颜等效果,其实可以使用iOS8.0新出的AVSampleBufferDisplayLayer。对AVSampleBufferDisplayLayer,官方说明中有一句转载 2016-11-09 17:10:40 · 2601 阅读 · 0 评论 -
ios录制视频时audio丢失
AVAssetWriter录制视频,写入音频太快可能导致音频丢失。AVAssetWriterInput *_audioWriterInput;_audioWriterInput的readyForMoreMediaData状态可能为NO。在线程中写入的话,可以一直wait到readyForMoreMediaData位YES,才写入,这样就不会丢失音频数据了。原创 2016-11-09 11:54:06 · 926 阅读 · 0 评论 -
iOS h264 硬解
记录。http://www.voidcn.com/blog/dongtinghong/article/p-5047279.html首先要把 VideoToolbox.framework 添加到工程里,并且包含以下头文件。 #include 解码主要需要以下三个函数VTDecompressionSessionCreate 创建解码 sessionVTDecom原创 2016-10-24 15:33:07 · 2489 阅读 · 0 评论