FFmpeg学习记录
HiddenTrackMJ
这个作者很懒,什么都没留下…
展开
-
FFmpeg 混音学习【三】两路混流完整代码
前言本文是简单的混流实现,输入为两个媒体文件(音频或带音频的视频文件),输出为混流后的aac文件。完整代码/* * Copyright (c) 2010 Nicolas George * Copyright (c) 2011 Stefano Sabatini * Copyright (c) 2012 Clément BÅ“sch * * Permission is hereby granted, free of charge, to any person obtaining a copy原创 2020-07-17 11:51:55 · 2193 阅读 · 3 评论 -
FFmpeg 混音学习【二】FFmpeg aac音频多路混流普适情况filter初始化
前言接上一篇博客,上一篇中介绍了单路和双路混流,要是输入输出流多了像之前那样写就会很麻烦,于是考虑普适的情况,输入一个n初始化好对应的filter。具体实现定义要用到的结构体和类(里面一些参数的含义可以看我上一篇博客)输入流编码信息结构体:struct codec_info { int sample_rate; int channels; int64_t channel_layout; enum AVSampleFormat sample_fmt; AVRation原创 2020-07-13 11:39:17 · 872 阅读 · 0 评论 -
FFmpeg 混音学习【一】FFmpeg aac音频混流学习及问题记录
主要学习的是ffmpeg官方demo里的doc/examples/filtering_audio.cffmpeg混流的主要流程初始化filter读取aac数据,解码后将数据压入filter buffer中从buffer中取出数据编码成aac数据1、初始化filter首先定义需要使用到的变量: /** An instance of a filter */ static const char *filter_desc = "aresample=48000,aformat=sample原创 2020-07-11 22:34:57 · 1686 阅读 · 0 评论 -
FFmpeg转码dash/hls等格式
本文以aac数据的转码为例,其他编码格式类似,关键是明白FFmpeg转码的原理,具体实现大同小异,转码的流程如下:主要使用的函数为:avformat_write_header()向目标文件写入文件头av_write_frame()/av_interleaved_write_frame()向目标文件写入数据av_write_trailer()结束写入目标文件主要流程如下(以下称转码器为muxer):首先调用avformat_alloc_context()来创建muxing上下文。这里初始原创 2020-06-26 16:05:00 · 1604 阅读 · 0 评论