ffmpeg
厚德.
这个作者很懒,什么都没留下…
展开
-
Mac FFmpeg编译和解决nasm/yasm not found or too old错误
FFmpeg编译下载代码:git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg然后输入命令进行编译:找到下载的目录下,然后用命令进入这个文件夹下cd ffmpeg,然后输入./configure。竟然没有编译过出现错误是nasm/yasm not found or too old. Use --disable-x86asm for a c...原创 2018-11-11 19:23:01 · 12562 阅读 · 3 评论 -
ffmpeg C代码实现 YUV数据编码
#include <stdlib.h>#include <stdio.h>#include "libavformat/avformat.h"#include "libavcodec/avcodec.h"#include "libavutil/log.h&原创 2019-03-01 14:22:16 · 567 阅读 · 0 评论 -
ffmpeg C代码实现 视频添加文字
#include <stdlib.h>#include <stdio.h>//封装格式#include "libavformat/avformat.h"//解码#include "libavcodec/avcodec.h"//缩放#include "libswscale/swscale.h"#inc原创 2019-03-06 10:03:18 · 2944 阅读 · 0 评论 -
编译SDL1.2
SDL1.2和SDL2.0sdl是什么?这里就不解释了,之前的文中也说过。今天主要说说最近sdl给我填的堵。这个说来话也长,由于工作需要,最近在用OpenCV,记得几年前用就用过OpenCV,或者说写过一些OpenCV的代码吧。OpenCV里面有使用OpenCL加速。早期由于OpenCV使用OpenCL主要是在PC端,所以在local size啊之类的东西都是按照pc来设置,而要把OpenC...转载 2019-03-06 16:08:46 · 782 阅读 · 0 评论 -
ffmpeg C代码实现 PCM音频编码
应用到的API及解释avcodec_register_all:注册FFmpeg所有编解码器。 avformat_alloc_output_context2():初始化输出码流的AVFormatContext。 avio_open():打开输出文件。 av_new_stream():创建输出码流的AVStream。 avcodec_find_encoder():查找编码器。 a...原创 2019-03-04 15:45:30 · 1932 阅读 · 1 评论 -
FFmpeg音视频同步基础知识
1. I帧/P帧/B帧I帧:I帧(Intra-coded picture, 帧内编码帧,常称为关键帧)包含一幅完整的图像信息,属于帧内编码图像,不含运动矢量,在解码时不需要参考其他帧图像。因此在I帧图像处可以切换频道,而不会导致图像丢失或无法解码。I帧图像用于阻止误差的累积和扩散。在闭合式GOP中,每个GOP的第一个帧一定是I帧,且当前GOP的数据不会参考前后GOP的数据。P帧:P帧(Pr...转载 2019-05-19 12:30:40 · 3514 阅读 · 0 评论 -
Mac编译FFmpeg
原文地址:https://www.jianshu.com/p/feab970fd74c配置编译环境编译环境 Macstep1:下载FFmpeg库和NDK库(1)我在usr目录下建立了一个ndk文件夹(2)然后进入ndk文件夹,FFmpeg官网找到下载地址,再在命令行输入 “wget https://www.ffmpeg.org/releases/ffmpeg-4.0.2.tar.g...转载 2019-05-09 16:42:33 · 2822 阅读 · 0 评论 -
android studio 配置ffmpeg
1)把编译生成的so库复制到libs文件夹下,同时把include里面的头文件也复制到libs文件夹下。2)在build.gradle中添加一下代码defaultConfig { applicationId "com.houde.ffmpeg.test" minSdkVersion 21 targetSdkVersion 28 ...原创 2019-05-10 11:29:54 · 1012 阅读 · 0 评论 -
ffmpeg 音视频同步实现
先来张图镇楼:上面图片中的网址:https://www.cnblogs.com/leisure_chn/p/10584910.html在用图片展示下线程模型:在开始之前有个初始化的操作:定义为initPlayer主要是把这个把传过来的的surface转换为window,在这个地方需要注意的是:在调用这个方法时,要在view显示后调用,不然这个surface会是个NULLJava_c...原创 2019-05-21 11:22:25 · 2247 阅读 · 0 评论 -
实现android ffmpeg播放视频
前面两篇文章已经可以生成so,并且可以在Android studio中通过配置可以运行,并且可以打印出ffmpeg的配置信息。准备:在进行播放视频时需要一个吧yuv图像数据转换成argb的图像数据,这里还需要一个libyuv.so 的一个so库。可以通过这篇文章生成这个so :https://blog.csdn.net/quan648997767/article/details/7088028...原创 2019-05-12 16:02:43 · 4065 阅读 · 0 评论 -
ffmpeg C代码实现 把视频流转换成图片保存到本地
用C代码实现,把视频中的帧转换成图片保存在本地。#include <stdio.h>#include <stdlib.h>#include <libavcodec/avcodec.h>#include <libavformat/avfor原创 2019-02-17 13:38:20 · 5732 阅读 · 6 评论 -
ffmpeg C语言视频解码
视频解码生成YUV格式的原始数据#include <stdio.h>#include <stdlib.h>#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswscale/swscale.h"#include "libavutil/avutil.h"int原创 2019-01-31 10:19:22 · 2724 阅读 · 0 评论 -
ffmpeg C语言实现视频从MP4转成AVI
这是一个通过c代码实现视频格式的转换。#include &lt;libavutil/log.h&gt;#include &lt;libavformat/avformat.h&gt;#include &lt;stdio.h&gt;#include "libavcodec/avcodec.h"int main(int argc,char* arg[]){ av_l原创 2019-01-27 23:56:59 · 2336 阅读 · 0 评论 -
mac ffmpeg 中的录制命令和分解与复用命令
mac中屏幕录制命令:ffmpeg -f avfoundation -i 1 -r 30 out.yuv-f 指定使用 avfoundation 采集数据。-i 指定从哪儿采集数据,它是一个文件索引号。在我的MAC上,1代表桌面。-r 指定帧率。按ffmpeg官方文档说-r与-framerate作用相同,但实际测试时发现不同。-framerate 用于限制输入,而-r用于限制输出。可...原创 2018-11-14 12:38:26 · 2159 阅读 · 2 评论 -
gcc/clang编译器的编译命令
编译命令:gcc/clang -g -O2 -o log ffmpeg_log.c -I -L -l(第一竖线是大写的i,第三个竖线是小写的L)示例clang -g -O2 -o log ffmpeg_log.c -I …/ffmpeg -L …/ffmpeg/libavutil -lavutil解析:-g 输出文件中的调试信息-O2 对输出文件做指令优化(默认是-O1是不对指令进行优化...原创 2018-11-18 20:18:04 · 7253 阅读 · 0 评论 -
ffmpeg中的滤镜命令
原文链接滤镜在编码之前,ffmpeg可以使用libavfilter库中的过滤器处理原始音频和视频帧。 几个链式过滤器形成一个过滤器图形。 ffmpeg区分两种类型的过滤器图形:简单和复杂。简单滤镜简单的过滤器图是那些只有一个输入和输出,都是相同的类型。 在上面的图中,它们可以通过在解码和编码之间插入一个额外的步骤来表示: _________ ...转载 2018-11-14 23:26:28 · 1657 阅读 · 0 评论 -
mac安装pkg-config
安装1.检测环境是否已安装pkg-config再命令行中输入: pkg-config 若未安装,则提示命令未找到.2.安装pkg-config去下载最新的https://pkg-config.freedesktop.org/releases/pkg-config-0.28.tar.gz(不可用,解压不了,可以用29或者27版本)tar -xf pkg-config-0.29.2.ta...原创 2018-11-21 07:49:52 · 8909 阅读 · 4 评论 -
FFmpeg使用小结
视频播放器的原理封装格式作用:视频码流和音频码流按照一定的格式储存在一个文件汇总视频编码数据作用:将视频像素数据(RGB,YUV等)压缩成为视频码流,从而降低视频的数据量音频编码数据作用:将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量视频像素数据作用:保存了屏幕上每一个像素点的像素值格式:常见的像素数据格式有RGB24, RGB32, Y...转载 2018-11-22 16:38:06 · 832 阅读 · 0 评论 -
Vim 编辑器的使用
Vim编辑器介绍vi编辑器通常被简称为vi,而vi又是visual editor的简称 。它在Linux上的地位就像Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。vi 编辑器并不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。没有菜...原创 2018-11-17 15:27:02 · 149 阅读 · 0 评论 -
ffmpeg对文件的重命名和删除操作
#include &lt;stdio.h&gt;#include "libavformat/avformat.h"#include "libavutil/log.h"int main(int argc, char const *argv[]){ int result ; av_log_set_level(AV_LOG_INFO); AVIODirContext * ...原创 2018-11-30 21:27:17 · 2176 阅读 · 0 评论 -
ffmpeg遍历文件夹下的所有文件
#include <stdio.h>#include "libavformat/avformat.h"#include "libavutil/log.h"int main(int argc, char const *argv[]){ int result ; av_log_set_level(AV_LOG_INFO); AVIODirContext * ...原创 2018-11-30 21:47:51 · 3111 阅读 · 0 评论 -
ffmpeg获取视频mediainfo信息
c代码#include <libavutil/log.h>#include <libavformat/avformat.h>int main(int argc ,char* argv[]){ int result ; AVFormatContext *fmt_ctx = NULL; av_log_set_level(AV_LOG_INFO); av_r...原创 2018-11-30 22:01:36 · 4344 阅读 · 0 评论 -
ffmpeg C代码音频解码
#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;libavcodec/avcodec.h&gt;#include &lt;libavformat/avformat.h&gt;#include &lt;libavutil/avutil.h&gt;#include &a原创 2019-02-01 10:35:32 · 971 阅读 · 0 评论 -
Android使用FFmpeg播放音频
先来张图镇楼:使用Android的AudioTrack播放音频数据:下面是C代码:Java_com_houde_ffmpeg_test_MusicPlayer_playAudio(JNIEnv * env, jobject instance,jstring audioPath){ const char* path = env->GetStringUTFChars(audioP...原创 2019-05-18 11:01:13 · 1760 阅读 · 0 评论