专栏首页程序手艺人[Linux驱动炼成记] 00-ALSA框架实现录音

[Linux驱动炼成记] 00-ALSA框架实现录音

要求

  • 根据现有音频框架实现一个录音程序,要求:PCM格式, 采样率16K, S16LE, 单通道
  • 使用ffmpeg 将录音音频转换为采样率为48K wav格式的文件
  • 使用ffmpeg 将录音音频转换为MP3格式的文件
  • 使用Audacity查看你的录音频谱
  • 使用sndpeek分析你的音频数据,并写出心得

平台

  • Linux-3.4.2
  • arm-linux-gcc-4.3.2
  • 精简版yaffs文件系统
  • JZ2440开发板(S3C2440)

ALSA框架

  • alsa-lib-1.0.27.2
  • alsa-utils-1.0.27.2
    • mkdir /dev/snd
    • cd /dev/snd/
    • ln -s /dev/controlC0
    • ln -s /dev/pcmC0D0p
    • ln -s /dev/pcmC0D0c
    • 测试播放音频 aplay Windows.wav

应用程序

  • wav_parser 主要对wav音频文件的分析和封装,移植的开源的wav封装库
  • capture 具体实现录音操作的操作

ffmpeg转换

  • 音频文件采样率转换为48k wav 格式文件
    • 具体实现: ffmpeg -i input.wav -ar 48k output.wav
  • 音频文件转换为mp3格式的文件
    • 具体实现: ffmpeg -i input.wav output.mp3

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ffmpeg中av_seek_frame使用样例(代码实现)

    av_seek_frame使用时需要使用四个参数 av_seek_frame(fmt_ctx, -1 , 20 * AV_TIME_BASE, AV...

    用户3765803
  • 使用ffmpeg的overlay filter为视频增加跑马灯

    在看视频时,图像上面有流动字幕,或者流动图片,这个效果一般名为跑马灯效果,可以通过overlay的filter实现该效果 overlay是ffmpeg的...

    用户3765803
  • FFmpeg使用手册 - ffplay 的常用命令

    在编译FFmpeg源代码时,如果系统中包含了SDL-1.2版本时,会默认将ffplay编译生成出来,如果不包含SDL-1.2或者版本不是SDL-1.2时,无...

    用户3765803
  • 从视频中每X秒创建一个缩略图

    这个例子将会 seek 到时间进度条位置在 0h:0m:14sec:435msec 处并输出一帧 (-vframes 1) 输出生成一个 PNG 文件.

    用户3765803
  • 将传统的 2D 视频转为 3D (伪 3D ,左右眼)视频

    当带上 VR 头戴设备时,观看普通的 2D 视频时,是无法正常观看的,需要将 2D 转为左右眼的视频,下面介绍一下将 2D 视频转换为左右眼的视频。

    用户3765803
  • FFmpeg使用手册 - ffprobe 的常用命令

    在FFMpeg套件中,出了ffmpeg还有ffprobe,ffprobe主要用来查看多媒体文件的信息,下面看一下ffprobe中常见的基本命令. ...

    用户3765803
  • FFmpeg使用手册 - ffmpeg对MP4的生成与处理

    可以分析MP4封装格式的工具比较多除了FFmpeg之外,还有一些常用工具,例如Elecard Stream Eye、MP4BOX、mp4info等...

    用户3765803
  • FFmpeg使用手册 - MP4的格式解析

    视频文件转MP4 在互联网中常见的格式中,跨平台最好的,应该是MP4文件,因为MP4文件既可以在PC平台的Flashplayer中播放,又可以在...

    用户3765803
  • FFmpeg 加密 mpegts 文件的处理方式

    在FFmpeg中加密有很多种处理方式,FFmpeg中常见的加密是使用crypto来进行的,下面看一下crypto的文档描述部分:

    用户3765803
  • 使用ffmpeg实现转码样例(代码实现)

    Demux -> Decoding -> Encoding -> Muxing

    用户3765803

扫码关注云+社区

领取腾讯云代金券