编解码
文章平均质量分 68
RichardorMu
四处搬砖,HCI,gaze estimation,music,jetson
展开
-
linux下lame&alsa进行音频流操作(九)ffmpeg解码mp3后用alsa播放
1. 己经学会了用alsa播放pcm并且ffmpeg可以解码mp3为pcm,那么把这两者合并起来就是ffmpeg解码mp3后用alsa播放2. 代码#include "utils.h"#include <libavutil/avutil.h>#include <libavutil/attributes.h>#include <libavutil/opt.h>#include <libavutil/mathematics.h>#include &原创 2021-11-07 10:32:21 · 885 阅读 · 0 评论 -
linux下lame&alsa进行音频流操作(八)用ffmpeg将mp3转为wav
1. 利用fffmpeg将mp3转为pcm并在pcm数据加上wav头就是一个完整的wav文件2. 代码#include "utils.h"#include <libavutil/avutil.h>#include <libavutil/attributes.h>#include <libavutil/opt.h>#include <libavutil/mathematics.h>#include <libavutil/imgutils.h&原创 2021-11-07 10:30:09 · 501 阅读 · 0 评论 -
linux下lame&alsa进行音频流操作(七)用alsa播放wav文件
1.用alsa播放wav文件的过程a. 打开snd_pcm_openb. 为param分配空间,并初始化参数b.1 这儿为了确认参数需要读取wav文件的头,并根据wav文件来确认参数需要确认的参数有三个: format(即SND_PCM_FORMAT_S16_LE类似) channels ratec. snd_pcm_hw_params将参数设到driver中去d. 循环读取wav文件中的数据,并把数据snd_pcm_writei写到驱动中进行播放2.代码#include "utils.h原创 2021-11-07 10:27:34 · 715 阅读 · 0 评论 -
linux下lame&alsa进行音频流操作(六)alsa的demo
Introduction to Sound Programming with ALSA1. 打印alsa中的类型及格式Listing 1. Display Some PCM Types and Formats#include "utils.h"#include <alsa/asoundlib.h>#include <stdlib.h>int main ( int argc, char *argv[] ){ int i; printf("<----原创 2021-11-07 10:24:21 · 316 阅读 · 0 评论 -
linux下lame&alsa进行音频流操作(五)alsa使用和wav格式分析
1.wave文件的四个部分1.0 四个部分RIFF HeaderID = ‘RIFF’RIFF_TYPE=‘WAVE’Format ChunkID = 'fmt ’Fact Chunk 可选ID = ‘fact’Data ChunkID =‘data’1.1 RIFF_WAVE_Chunk名称长度内容ID4 Bytes‘RIFF’Size4 Bytes整个文件大小-8Type4 Bytes‘WAVE’原创 2021-11-07 10:21:27 · 414 阅读 · 0 评论 -
Jetson 系列——nvidia jetson nano推流操作和 jetson xavier NX GStreamer 推流操作
nvidia jetson NX板子,拿来做做编解码试试看效果。datasheeet关于编解码这块描述如下:编码情况:解码情况:JPEG编解码情况如下:根据我自己做的测试,感觉264/265还不错,但是jpeg效果不太好。我做实验的环境如下:jetpack和L4T都是最新的官方推荐版本。下面我把一些实验过程与结果记录如下。第一部分:环境准备首先你要有一个nvidia帐号,用于下载文档和各种软件。在ubuntu1604的个人pc上安装sdk mamager,这里注意是在pc上。原创 2021-09-18 14:57:54 · 8616 阅读 · 3 评论 -
linux下lame&alsa进行音频流操作(四)alsa+lame将音频流转为MP3
1.linux下使用alsa录音成pcm文件再使用lame转码为MP3#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <alsa/asoundlib.h>#include <signal.h>#include <lame/lame.h>/*PCM文件转码成mp3文件*/void ConvertPCM2MP3WithPath(const c原创 2021-07-01 20:52:30 · 749 阅读 · 0 评论 -
linux下lame&alsa进行音频流操作(三)alsa音频编程教程
1. ALSA音频编程介绍 ALSA 代表高级 Linux 声音架构。它由一组内核驱动程序、一个应用程序编程接口 (API) 库和用于在 Linux 下支持声音的实用程序组成。在本文中,我简要概述了 ALSA 项目及其软件组件。重点是对 ALSA 的 PCM 接口进行编程,包括您可以进行试验的编程示例。 您可能只想探索 ALSA,因为它是新的,但它并不是唯一可用的声音 API。如果您正在执行低级音频功能以获得最大控制和性能,或者想要利用其他声音 API 不支持的特殊功能,则 ALSA 是一个不错的选原创 2021-07-01 20:23:55 · 1880 阅读 · 2 评论 -
linux下lame&alsa进行音频流操作(二)alsa知识介绍和libasound使用
说明 在Linux平台, 设计到音频的开发,必然离不开liasound,无论是混音器的参数设置,还是录音、播放音频等,liasound都提供了支持。这篇文章介绍的时播放音频部分,即 PCM 部分1. 预备知识1.1 音频相关知识采样率(每秒采样次数)\帧率, 表示每一秒对声音的波形模拟量取样的次数,频率越高,音质越好字节率(每秒采样字节数),与采样率、通道数和单位采样字节数综合相关, 实际上等于这三个数据的乘积除以8 (8位代表1字节)通道数(1: 单通道, 2: 立体声),就是我们平常听音原创 2021-07-01 11:41:30 · 607 阅读 · 0 评论 -
linux下lame&alsa进行音频流操作(一)lame知识介绍
1.LAME介绍 lame是一个有名的开源mp3编码库,这篇文章将会介绍如何调用lame库的接口编码出mp3。2.lame库编译 对于lame库,你有两个安装的方法,第一是使用apt-get安装,使用下面的命令。sudo apt-get install libmp3lame-dev 这样安装的lame库可能并不是最新版本的。如果你想安装最新版本的lame库,可以选择在官网下载。官网下载:https://sourceforge.net/projects/lame/files/lame/原创 2021-07-01 11:17:09 · 2321 阅读 · 2 评论 -
多媒体技术与应用实验之Huffman编解码matlab实现
多媒体技术与应用实验之Huffman编解码matlab实现主函数:clc;clear;close all ;X=imread( 'lena.bmp' ); %图像灰度化data=uint8(X); [zipped,info]=huffencode(data); %调用 Huffman 编码程序进行压缩 unzipped=huffdecode(zipped,info); %调用 Hu...原创 2019-05-28 17:23:53 · 2465 阅读 · 1 评论