VOS系统录音文件REC转MP3,REC录音转WAV与WAV转MP3具体项目中实现方式,以及占用空间变化!

前面讲解了VOS3000系统的录音REC转MP3的安装步骤,不清楚的,可以移步这里查看:http://t.csdnimg.cn/OXNT9 或者 点击这里查看安装步骤,下面继续讲下他们的使用方法,以及实际项目中的运用,首先我们需要明确我们的实际需求是什么,我们假设一个项目,客户需要自动下载录音到指定路径,并且下载的录音格式为MP3格式。

  首先我们在VOS服务器里面创建脚本完成当天的录音打包工作,下面是我写的一个简单脚本内容

[root@hcss-ecs-b3de ~]# cat recmv.sh 
#!/bin/bash
# 切换到源目录  
cd /home/kunshi/record
# 获取当前日期和昨天的日期  
today=$(date +"%Y%m%d")  

# 获取当前日期和昨天的日期  
yesterday=$(date -d "yesterday" +%Y%m%d)  
# 定义目标目录  
target_dir=/home/uns
target_dir1=/home/kunshi/record
# 创建目标日期目录  
target_dir_path="${target_dir}/${today}"  
mkdir -p "$target_dir_path"  
# 初始化计数器  
declare -i sum=0  
# 遍历1到24的数字  
for i in {01..24}; do  
    # 将/home/kunshi/record目录下当天日期目录下的所有REC文件移动到目标日期目录下  
    mv "${target_dir1}/${today}/${i}"/*.REC "$target_dir_path"  
done  
# 切换到目标目录  
cd "$target_dir"  
# 判断目标日期目录下是否有REC文件,如果有则打包成tar.gz  
if [ -d "$target_dir_path" ] && [ "$(find "$target_dir_path" -type f -name '*.REC' | wc -l)" -gt 0 ]; then  
    tar_file="${today}.tar.gz"  
    tar -czvf "$tar_file" -C "$target_dir" "$today"  
    echo "成功创建压缩包 ${tar_file}" >> /opt/uns/rz.txt  
else  
    echo "目标文件夹 ${target_dir_path} 不存在或没有REC文件" >> /opt/uns/rz.txt  
fi  
echo "ok"
# 删除/home/uns/ 目录下昨天的tar.gz
 rm -rf /home/uns/${yesterday}.tar.gz
echo "ok"  >> /opt/uns/rz.txt
[root@hcss-ecs-b3de ~]# 

经过上述步骤,我们就可以得到当天的所有录音文件,我们再下载到本服务器,使用MDD工具进行REC格式转换即可得到我们需要的MP3格式音频文件了!

假设你需要转换的REC文件都i在目录 /home/uns 路径下,我们可以使用下面命令完成转换

mdd -t wav -p /home/uns/* 

#这表示使用 mdd转换/home/uns目录下的所有REC文件为 wav格式,如果我们需要转换为MP3,我们直接替换wav为MP3即可

mdd -t mp3 -p /home/uns/* 

也可以编写脚本来自动化完成,这里省略了!

下面我们看看占用的文件大小吧!

154K转换后只有36K,那么我们再看看转换为 WAV格式的

很明显,WAV格式是非常占用空间的,但是绝大多数外呼系统都采用的是WAV格式,因此非常暂用硬盘空间,我们下面看把WAV转换为MP3能占用多少

这里我们很明显就可以看见,虽然两个都是MP3,但是大小是不一样的,使用命令

ffmpeg -i test.wav test2.mp3 

#转换的MP3明细比REC使用mdd转换的大很多!如果你需要的语音需要用于外呼系统使用,推荐使用MDD转换为wav格式使用,如果你需要极速压缩空间,那么推荐使用MDD工具转换MP3使用!好了,祝您好运,如果你项目需要帮助的,请私信!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/587452.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue本地打包预览

vue官网介绍 serve官网 1、项目打包 npm run build2、安装serve npm install -g serve3、在项目的 dist 文件运行命令行 serve5、运行结果如下 6、在浏览器打开 在浏览器打开 http://localhost:3000 或者 http://192.168.0.198:3000 就可以看到打包的东西了

【高质量】2024五一数学建模C题保奖思路+代码(后续会更新)

你的点赞收藏是我后续更新的最大动力! 一定要点击文末的卡片,那是获取资料的入口! 你是否在寻找数学建模比赛的突破点? 作为经验丰富的数学建模团队,我们将为你带来2024 年五一数学建模(C题)…

展会资讯 | 现场精彩回顾 阿尔泰科技参展2024第23届中国国际(西部)光电产业!

2024第23届中国国际(西部)光电产业博览会,在成都世纪城新国际会展中心圆满落幕!来自各地的光电领域设备及材料厂商汇聚一堂,展示前沿技术及创新成果。 展会现场,来自全国各地的500余家企业就精密光学、信息…

电商技术揭秘文章合集(3)

相关系列文章 电商技术揭秘相关系列文章合集(1) 电商技术揭秘相关系列文章合集(2) 电商技术揭秘文章合集(3) 电商技术揭秘二十八:安全与合规性保障 电商技术揭秘二十九:电商法律…

esp32s3使用psram后音频播报不了的问题解决记录

idf.py menuconfig开启psram后会报错 提示需要打补丁: 根据提示切换到IDF_PATH目录,然后执行git apply %ADF_PATH%/ida_patches/idf5.0_freertos.patch打补丁。 再次编译提示如下错误: assert failed: spi_flash_disable_interrupts_cach…

电脑装了两个Win10系统,怎么修改其名称方便识别?

前言 有小伙伴在上一期的双系统教程上留言说怎么修改双系统引导时候显示的名称 不然看起来两个系统好像都没啥分别,如果是Windows10Windows11的方案还好说,但如果是两个Windows10或者是两个Windows11,有时候还真的很不好分辨。 万一想要启动…

OpenHarmony语言基础类库【@ohos.util (util工具函数)】

ohos.util (util工具函数) 该模块主要提供常用的工具函数,实现字符串编解码([TextEncoder]),[TextDecoder])、有理数运算([RationalNumber8])、缓冲区管理([LRUCache9])、范围判断&…

hdc不是内部或外部命令,也不是可运行的程序或批处理文件。【鸿蒙报错已解决】

文章目录 项目场景:问题描述原因分析:解决方案:此Bug解决方案总结Bug解决方案寄语项目场景: 最近遇到了这个问题,看到网上也有人在询问这个问题,实操了很多网上的解决方案发现并不能解决这个Bug,所以我在解决这个问题后,总结了自己和其他人的解决经验,进行了整理,写…

全网最强JavaWeb笔记 | 万字长文爆肝JavaWeb开发——day08数据库Mybatis入门

万字长文爆肝黑马程序员2023最新版JavaWeb教程。这套教程打破常规,不再局限于过时的老套JavaWeb技术,而是与时俱进,运用的都是企业中流行的前沿技术。笔者认真跟着这个教程,再一次认真学习一遍JavaWeb教程,温故而知新&…

latex+vscode一直报错,配置文件json和环境变脸配置

1、json配置文件 {"latex-workshop.latex.tools": [{"name": "xelatex","command": "xelatex","args": ["-synctex1","-interactionnonstopmode","-file-line-error","%DOCF…

日期类的实现,const成员

目录 一&#xff1a;日期类实现 二&#xff1a;const成员 三&#xff1a;取地址及const取地址操作符重载 一&#xff1a;日期类实现 //头文件#include <iostream> using namespace std;class Date {friend ostream& operator<<(ostream& out, const Dat…

mysql定时执行语句

一、前提 #确保事件调度为开放(ON) SHOW VARIABLES LIKE event_scheduler;二、场景 1、创建test01 表&#xff0c;表中存储1000条数据&#xff1b; 2、创建空表test02&#xff0c;表结构与 test01相同&#xff1b; 3、将test01中的数据以每分钟10条的形式转移到test02中去三、…

基于Spring Boot的校园博客系统设计与实现

基于Spring Boot的校园博客系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 系统功能界面图&#xff0c;在系统首页可以查看首页、文…

Java面试八股之简述Java中assert的作用

简述Java中assert的作用 Java中的assert关键字用于在代码中插入断言&#xff08;Assertion&#xff09;&#xff0c;断言是一种在开发和测试阶段用于验证程序内部状态或假设的机制。其主要作用包括&#xff1a; 条件检查&#xff1a; assert语句用于在特定代码点上检查一个布…

Microsoft Universal Print 与 SAP 集成教程

引言 从 SAP 环境打印是许多客户的要求。例如数据列表打印、批量打印或标签打印。此类生产和批量打印方案通常使用专用硬件、驱动程序和打印解决方案来解决。 Microsoft Universal Print 是一种基于云的打印解决方案&#xff0c;它允许组织以集中化的方式管理打印机和打印机驱…

python u是什么意思

u&#xff1a;表示unicode字符串&#xff0c;默认模式&#xff0c;里边的特殊字符会被识别。 作用&#xff1a;后面字符串以unicode格式进行编码&#xff0c;一般用在中文字符串前面&#xff0c;防止因为源码储存格式问题&#xff0c;导致再次使用时出现乱码。 用法&#xff…

基于springboot实现迪迈手机商城设计系统项目【项目源码+论文说明】

基于springboot实现迪迈手机商城设计系统演示 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。…

【RAG 博客】RAG-Fusion:引入 Multi-Query 来丰富用户查询的结果

Blog&#xff1a;Forget RAG, the Future is RAG-Fusion ⭐⭐⭐⭐ Code&#xff1a;github.com/Raudaschl/rag-fusion 文章目录 一、RAG-Fusion 的工作机制二、实现细节2.1 Multi-Query Generation2.2 Reciprocal Rank Fusion&#xff08;RRF&#xff09;2.3 Generative Output…

JSON教程(非常详细)

参考文章来源&#xff1a;JSON教程&#xff08;非常详细&#xff09; 目录 JSON JSON 发展史 为什么要使用 JSON&#xff1f; JSON 的不足 存储格式 使用场景 1) 定义接口 2) 序列化 3) 生成 Token 4) 配置文件 JSON语法规则 JSON 与 JavaScript 对象的区别 JSON数…

小浪助手:下载学浪视频的最佳助手

小浪助手我已经打包好了,有需要的自己下载一下 学浪下载器链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;1234 --来自百度网盘超级会员V10的分享 1.首先解压好我给大家准备好的压缩包 2.打开小浪助手.exe 3.选择一种登录方式&#xff0c;扫码登录或者手机号…