首页 > 其他分享 >ffmpeg 采集音频数据

ffmpeg 采集音频数据

时间:2023-09-07 15:57:14浏览次数:59  
标签:ffmpeg pkt format 音频 ret outfile 采集 av include

音视频数据采集的步骤:

设备注册
设置对应的采集方式,avfoundation、dshow、alas
打开设备
具体的例子:

#include <stdio.h>
extern "C"{
    #include <libavutil/avutil.h>
    #include <libavdevice/avdevice.h>
    #include <libavformat/avformat.h>
    #include <libavcodec/avcodec.h>
}
 
 
 
int main(int argc, char const *argv[])
{
    /* code */
    // 注册所有的设备
    avdevice_register_all();
 
    // 输出的文件
    char *filename = "./audio.pcm";
 
    // 文件操作
    FILE *outfile = fopen(filename,"wb+");
 
    // 错误缓冲区
    char errr[1024];
 
    // 错误码
    int ret = 0;
 
    // 存储音视频封装格式中包含的信息的结构体,
    AVFormatContext *format_context ;
 
    // 定义设备地址
    char *device_name = "hw:0";
 
    AVPacket pkt ;
    av_init_packet(&pkt);
    // 获得媒体数据的格式
    AVInputFormat * iformat = av_find_input_format("alas");
 
    if((ret=avformat_open_input(&format_context,device_name,iformat,NULL))!=0){
        av_strerror(ret,errr,1024);
    }
    int count = 0;
     while(ret = (av_read_frame(format_context, &pkt))== 0&& 
        count++ < 500) {
        av_log(NULL, AV_LOG_INFO, "pkt size is %d(%p), count=%d\n",
            pkt.size,pkt.data, count);
        fwrite(pkt.data, 1, pkt.size, outfile);
        fflush(outfile);
        av_packet_unref(&pkt);//release pkt
    }
 
    
    fclose(outfile);
    avformat_close_input(&format_context);
    
    return 0;
}
针对输出的结果进行输出。

ffplay -ar 44100 -ac 2 -f s16le audio.pcm 
-ar 比特率
-ac 通道数
-f 格式

标签:ffmpeg,pkt,format,音频,ret,outfile,采集,av,include
From: https://www.cnblogs.com/kn-zheng/p/17685145.html

相关文章

  • ffmpeg之采集音频
     一、打开音频设备设备可以是多媒体文件和物理设备#ifndefTESTC_H#defineTESTC_H#include<stdio.h>#include"libavutil/avutil.h"#include"libavdevice/avdevice.h"//打开音频设备相关的头文件#include"libavformat/avformat.h"//ffmpeg下的所有文......
  • ffmpeg中的采集麦克风的 API
    在FFmpeg中,可以使用libavdevice库来采集麦克风的音频。下面是一个简单示例:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<stdint.h> #include<libavformat/avformat.h>#include<libavdevice/avdevice.h> intmain(){av_r......
  • 干货贴|免费AI数据标注工具-多功能语音音频标注软件
    图像标注实际应用比较广泛,因此前几期我们分享了不少图像标注的内容,不过大家也有反馈希望对文本标注、语音标注有一些学习,小A那么宠粉,必须安排起来。工欲善其事,必先利其器。标注工具是数据标注行业的基础,一款好用的标注工具是提升标注效率与产出高质量标注数据的关键。之前我也分享......
  • 基于工业物联网平台的智能工厂数据采集系统
    在传统制造业中,数据采集和数据分析一直是难点问题。随着设备越来越多、现场环境越来越复杂,同时对于持续性生产要求的不断提高,带动了工业物联网技术的快速发展,基于工业物联网平台的数据采集系统逐渐成为智能工厂的必备方案。通过将工业现场中的各种设备、传感器、PLC等连接到数之能......
  • rodert教你学FFmpeg实战这一篇就够了
    rodert教你学FFmpeg实战这一篇就够了前言todo有人问rodert哥这篇文章干货有多干,问就是,硌牙。ffmpeg有多强大,我想你都知道了,现在很多市场上的剪辑软件都是基于它做的,只是加了一些包装。读完本篇,你会发现一切如此简单。1.简介官网地址:https://trac.ffmpeg.org/wikiFFm......
  • uni-app实现音频播放器(ios)
    在uni-app中,ios有自带的音频播放器,和网易云一样,安卓需要自己写1.全局定义constbgAudioManager=uni.getBackgroundAudioManager();bgAudioManager.title=this.info.name;//音频名称bgAudioManager.singer='';//作者bgAudioManager.coverImgUrl=this.info.pic;/......
  • ​​Android平台GB28181历史视音频文件下载规范探讨及技术实现
    技术背景上篇blog,我们提到了Android平台GB28181历史视音频文件检索规范探讨及技术实现,文件检索后,GB28181平台侧,可以针对文件列表进行回放或下载操作,本文主要探讨视音频文件下载相关。规范解读视音频文件下载基本要求SIP服务器接收到媒体接收者发送的视音频文件下载请求后向媒体流......
  • 医院影像科PACS/RIS系统源码 患者登记、图像采集、图像存储、报告产生
    医院PACS系统源码一套医学影像存储与传输系统,PACS部分主要提供医学影像获取、影像信息网络传递、大容量数据存储、影像显示和处理、影像打印等功能。RIS主要提供分诊登记、叫号、检查报告生成和打印等功能。本套影像存储与传输系统将二者进行无缝对接,提供了一个完整的集患者登记、......
  • 工程监测振弦采集仪应用于隧道的详细方案
    工程监测振弦采集仪是一种专门用于工程结构振动监测的仪器设备。它可以广泛应用于桥梁、隧道、高层建筑、风电等领域,在工程结构监测中起到了重要作用。本文将着重介绍工程监测振弦采集仪在隧道监测中的应用方案。隧道是一种长的地下通道,一般用于交通工具(如汽车、火车、地铁等)和人......
  • Android平台GB28181历史视音频文件检索规范探讨及技术实现
    技术背景我们在做Android平台GB28181设备接入侧模块的时候,特别是执法记录仪或类似场景,系统除了对常规的录像有要求,还需要能和GB28181平台侧交互,比如实现设备侧视音频文件检索、下载或回放。本文假定记录仪或相关设备已经完成录像,主要来探讨下设备视音频文件检索相关。规范解读先回......