搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
花生_TL007
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
MySql优化-预编译和批处理(详解举例)_java mysql预编译进行哪些处理
2
Ubuntu 14.04 安装PHP的redis扩展_ubuntu php 安装redis
3
区块链系统的分层模型_区块链分层模型
4
亚信安慧AntDB的多维度支持
5
TailScale Please restart the Tailscale Windows Service解决办法
6
API接口是什么?API接口常见的安全问题与安全措施有哪些?_api接口安全
7
Spring与Spring Boot的区别:从框架设计到应用开发
8
再谈Makefile和C的2种变量和3个空间和2种if的工程实践中的常见用法的模板
9
想转行软件测试为何必须学Python?
10
电销机器人源码独立部署搭建步骤_帮你搭建电销机器人系统
当前位置:
article
> 正文
ffmpeg自定义一种音频编解码myself类型_ffmpeg 自定义解码接口
作者:花生_TL007 | 2024-04-18 13:51:11
赞
踩
ffmpeg 自定义解码接口
注意:请先记得make distclean一下
1、只需要在libavcodec目录操作即可,编写编码器源代码
#include "avcodec.h"
typedef struct myself_ctx {
int index;
}myself_ctx;
static const AVClass myself_class = {
.class_name = "myself decoder",
.item_name = av_default_item_name,
.version = LIBAVUTIL_VERSION_INT,
};
static av_cold int myself_decoder_init(AVCodecContext *avctx)
{
return 0;
}
static int myself_decoder_frame(AVCodecContext *avctx,void *data,int *got_frame_ptr,AVPacket *avpkt)
{
return 0;
}
AVCodec ff_myself_decoder = {
.name="myself",
.long_name="myself decoder",
.type=AVMEDIA_TYPE_AUDIO,
.priv_data_size=sizeof(myself_ctx),
.id=AV_CODEC_ID_MYSELF,
.init=myself_decoder_init,
.decode=myself_decoder_frame,
.capabilities=AV_CODEC_CAP_DR1,
.priv_class=&myself_class,
};
2、在code_id.h中的AVCodecID中添加编码器ID
,找到相应的音频块(AAC为例)或者视频块(H264为例)
AV_CODEC_ID_G723_1,
AV_CODEC_ID_G729,
AV_CODEC_ID_8SVX_EXP,
AV_CODEC_ID_8SVX_FIB,
AV_CODEC_ID_BMV_AUDIO,
AV_CODEC_ID_RALF,
AV_CODEC_ID_IAC,
AV_CODEC_ID_ILBC,
AV_CODEC_ID_OPUS,
AV_CODEC_ID_COMFORT_NOISE,
AV_CODEC_ID_TAK,
AV_CODEC_ID_METASOUND,
AV_CODEC_ID_PAF_AUDIO,
AV_CODEC_ID_ON2AVC,
AV_CODEC_ID_DSS_SP,
AV_CODEC_ID_CODEC2,
AV_CODEC_ID_MYSELF
,
3、在codec_desc.h描述文件中添加描述
{
.id = AV_CODEC_ID_ADPCM_G722,
.type = AVMEDIA_TYPE_AUDIO,
.name = "adpcm_g722",
.long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
},
{
.id = AV_CODEC_ID_MYSELF,
.type = AVMEDIA_TYPE_AUDIO,
.name = "myself",
.long_name = NULL_IF_CONFIG_SMALL("myself decoder"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
},
4、在allcodec.c文件中加入ff_myself_decoder的声明
extern AVCodec ff_vp9_vaapi_encoder;
extern AVCodec ff_vp9_qsv_encoder;
extern AVCodec ff_myself_decoder;
5、添加编译文件
OBJS-$(CONFIG_G729_DECODER) += g729dec.o lsp.o celp_math.o celp_filters.o acelp_filters.o acelp_pitch_dela
y.o acelp_vectors.o g729postfilter.o
OBJS-$(CONFIG_MYSELF_DECODER) += myselfdec.o
OBJS-$(CONFIG_GDV_DECODER) += gdv.o
6、通过configure查看编码器是否有myself的编码器
7、make完成后通过ffmpeg -coders查看是否添加成功
本文内容由网友自发贡献,转载请注明出处:
https://www.wpsshop.cn/w/花生_TL007/article/detail/446301
推荐阅读
article
ffmpeg
gdi
录制
桌面
视频
时
注意事项
_
ffmpeg
采集
桌面
时
长错误...
本人之前写了一个博客:
ffmpeg
录制
桌面
(自己用
gdi
抓图)当
时
设置的帧率是10,设置的比较低,原因在于,设置高了,1...
赞
踩
article
AssertionError
:
Cannot
find
installation
of real F...
文章目录简介解决办法参考简介Tensorflow视频解码错误,错误提示如下:
AssertionError
:
Cannot
...
赞
踩
article
【
FFmpeg
】在
Mac
OS 中
编译
FFmpeg
源码 ① (
homebrew
安装
| 通...
一、
homebrew
安装
1、
homebrew
简介2、通过
gitee
源
安装
homebrew
二、
安装
FFmpeg
...
赞
踩
article
【FFmpeg】
ffmpeg
命令行
参数
⑧ ( 使用
ffmpeg
转换
封装
格式
| 音
视频
编解码...
一、音
视频
封装
过程二、保持编码
格式
转
封装
1、设置音
视频
编解码器
参数
2、设置音
视频
编解码器
参数
- 使用 vcodec /...
赞
踩
article
ffmpeg
用于
转换
视频格式
的
各种命令行_
ffmpeg
转换
视频格式
...
常用参数说明:命令格式:
ffmpeg
-i [输入文件名] [参数选项] -f [格式] [输出文件](1) h264:...
赞
踩
article
【FFmpeg】
ffmpeg
命令行参数 ⑤ ( 使用
ffmpeg
命令
提取
音视频
数据
| 保...
一、使用
ffmpeg
命令
提取
音视频
数据
1、
提取
音频
数据
-
保留
封装
格式
2、
提取
视频
数据
-
保留
封装
格式
3、提...
赞
踩
article
OpenCV
VideoWriter报错
:
FFMPEG:不支持标签“
MP4V
”与
编解码器
ID和格式...
当遇到"FFMPEG
:
tag ‘
MP4V
’
is
not
suppo
rted with codec id and fo...
赞
踩
article
FFmpeg
:进行
qsv
加速转码,以及如何动态更改
编码
器的选项(附完整
源代码
)
_
ffmpeg
qsv
...
FFmpeg
:进行
qsv
加速转码,以及如何动态更改
编码
器的选项(附完整
源代码
)
_
ffmpeg
qsv
硬件
编码
c++
ffm...
赞
踩
article
音视频
编解码
流程与如何
使用
FFMPEG
命令进行
音视频
处理_
ffmpeg
stream
_speci...
一、前言
FFMPEG
是特别强大的专门用于处理
音视频
的开源库。你既可以
使用
它的 API 对
音视频
进行处理,也可以
使用
它提...
赞
踩
article
FFmpeg
硬件
加速(硬
解码
)介绍_
ffmpeg
命令查看
硬件
解码
器
...
概述本文主要针对
ffmpeg
支持的硬
解码
做一个总结阐述。许多平台提供对专用
硬件
的访问,以执行一系列与视频相关的任务。使用...
赞
踩
article
FFmpeg
调用
Android
MediaCodec
进行
硬
解码
(附源码)...
FFmpeg
在 3.1 版本之后支持
调用
平台
硬
件进行
解码
,也就是说可以通过
FFmpeg
的 C 代码去
调用
Andr...
赞
踩
article
基于
Intel
集成显卡
的
FFmpeg
调用
VAAPI
硬件
解码
零
数据
拷贝链接推理引擎工作流程的...
概述在视频处理流程中,视频的
解码
通常在 CPU 中进行,若用户需要使用
集成显卡
进行深度学习推理,
解码
数据
需要从 CPU的...
赞
踩
相关标签
音视频
python
ffmpeg
tensorflow
gitee
Mac
homebrew
FFmpeg
MacOS
封装格式
格式转换
音频编解码器
视频编解码器
帧率
libx264
libmp3lame
-acodec
-vcodec
提取音视频数据
opencv
Python