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

news2025/1/12 18:08:28

前面讲解了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使用!好了,祝您好运,如果你项目需要帮助的,请私信!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记录一下因网络问题导致的安装Python3.8和SuperSet的报错

【报错1】Python3.8的环境报错 【背景说明】 我目前在搭建数仓最后一个环境-->将MySQL的数据用SuperSet展示,安装SuperSet需要提前在Linux上安装Python环境,下面截图就是我在创建Python3.8的环境报错 命令为:(base) [dahuahadoop102 ~]…

shell脚本,删除30天以前的日志,并将日志推送到nas,但运行出现/bin/bash^M。

删除30天以前的日志 将日志推送到nas中,然后删除pod中的日志 pod挂载到本地 运行出现/bin/bash^M 1、删除30天以前的日志: #! /bin/bash# 定义源日志目录 LOG_DIR/home/log/ # 删除日志 find $LOG_DIR -type f -name "*.log" -mtime 30 -exec…

沐风老师3DMAX一键生成桌子插件TableMaker使用方法

3DMAX一键生成桌子插件TableMaker使用教程 3DMAX一键生成桌子插件TableMaker,参数化方式快速创建各种样式桌子模型。 【适用版本】 3dMax2011-2025(不仅限于此范围) 【安装方法】 3DMAX一键生成桌子插件无需安装,使用时直接拖动…

期权交割对股市是好是坏?2024期权交割日一览表

期权交割是指期权买方在期权合约到期日或之前行使期权,卖方履行义务,按照约定的价格和数量与期权卖方进行标的物的买卖或现金结算的过程。 交割方式 期权交割可以分为实物交割和现金交割,具体取决于合约规定。 实物交割 实物交割是指期权买…

Git推送本地项目到gitee远程仓库

Git 是一个功能强大的分布式版本控制系统,它允许多人协作开发项目,同时有效管理代码的历史版本。开发者可以克隆一个公共仓库到本地,进行更改后将更新推送回服务器,或从服务器拉取他人更改,实现代码的同步和版本控制。…

C#程序带参数运行

总结参数是靠 空格来分割 不同组参数的。 参考链接 C#控制台程序入口函数 Main(string[] args) 参数详解_c#中args-CSDN博客https://blog.csdn.net/xwnxwn/article/details/113802305#:~:text%E5%8F%B3%E9%94%AE%E7%82%B9%E5%87%BB%E3%80%90%E9%A1%B9%E7%9B%AE%E3%80%91--%E3%…

下一代云原生应用引擎OpenNJet体验

文章目录 前言OpenNJet 介绍OpenNJet VS NGINXOpenNJet 安装OpenNJet 动态配置体验动态location动态黑名单动态灰度发布 体验感受 前言 作为一名技术人员,我们应时刻保持对行业动态的关注,今天我们就来体验一下号称下一代云原生应用引擎OpenNJet。 Ope…

2022 csp-j 答案(精选题)

主题目 16 - 21题 22 - 27题 28 - 34题 35 -39题 40 - 44题 精选题目 答案及解析 28题 答案:T 解析:考查时间复杂度评估。 31题 答案:A 解析:模拟即可。 32题 答案:B 解析:模拟即可。 34题 答…

H3C无线控制器查看AP版本是否自动升级

全部网络--无线配置--AP管理--AP全局配置 如果开启了AP版本升级,那么当升级AC无线控制器的时候 , AP也会同时进行升级 命令行: [H3C]wlan auto-ap enable 自动注册 [H3C]wlan auto-persistent enable 自动固化 [Sysname] …

mysql 版本升级 8.0.24升级到 8.0.34

mysql 版本升级 8.0.24升级到 8.0.34 1、官方升级手册必看1.0、官方升级手册必看1.1、理解升级过程会做什么1.2、备份升级前的数据1.3、支持的升级路径(什么版本升级到什么版本)1.3.1、mysql所有版本归纳1.3.2、版本升级选择的原则 1.4、5升级8.0需要注意 了解MySQL 8.0需要注意…

PotatoPie 4.0 实验教程(37) —— FPGA实现摄像头图像二值化闭运算效果

手机扫码 链接直达 https://item.taobao.com/item.htm?ftt&id776516984361 什么是图像闭运算,有什么作用? 图像闭运算是由膨胀操作和腐蚀操作组成的。其作用与图像开运算相反,主要用于填充物体内部的小洞或小孔,平滑物体边…

C语言——每日一题(移除链表元素)

一.前言 今天在leetcode刷到了一道关于单链表的题。想着和大家分享一下。废话不多说,让我们开始今天的知识分享吧。 二.正文 1.1题目要求 1.2思路剖析 我们可以创建一个新的单链表,然后通过对原单链表的遍历,将数据不等于val的节点移到新…

20.哈希表(哈希冲突,闭散列、线性探测,开散列、哈希桶)

1. unordered系列关联式容器 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到log_2 N,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好的查询是&#xff…

【RAG 博客】Haystack 中的 DiversityRanker 与 LostInMiddleRanker 用来增强 RAG pipelines

Blog:Enhancing RAG Pipelines in Haystack: Introducing DiversityRanker and LostInTheMiddleRanker ⭐⭐⭐⭐ 文章目录 Haystack 是什么1. DiversityRanker2. LostInTheMiddleRanker使用示例 这篇 blog 介绍了什么是 Haystack,以及如何在 Haystack 框…

设计模式 基本认识

文章目录 设计模式的作用设计模式三原则设计模式与类图设计模式的分类 设计模式的作用 设计模式是在软件设计过程中针对常见问题的解决方案的一种通用、可重用的解决方案。设计模式提供了一种经过验证的方法,可以帮助开发人员解决特定类型的问题,并在软…

代码审计之SAST自动化

前言: 很久没写文章了,有点忙,落个笔,分享一些捣鼓或说适配好的一些好玩的东西。 脚本工具不开源,给一些思路,希望能给大家带来一些收获。 笔者能力有限,如有错误,欢迎斧正。 正文&#xff1a…

环形链表题

1.环形链表1 看题:. - 力扣(LeetCode) 思路1:哈希表 遍历所有节点,每次遍历一个节点时,判断该节点是否被访问过。 可以使用哈希表来存储所有已经访问过的节点。每次到达一个节点,如果该节点已…

Qt 6 开源版(免费) -- 安装图解

Qt6起,两项重大改变(并非指技术): 必须在线安装,不再提供单独的安装包主推收费的商业版 当然的,为了培养市场,Qt6还提供了一个免费的:开源版。 开源版相对于收费的商业版&#xf…

《Fundamentals of Power Electronics》——Boost电路及仿真

Boost电路的拓扑结构如下所示: 下面是在simulink中搭建的一个Boost电路的仿真实验平台,其中直流输入电压为100V,电感值为1mH(模拟电阻为1毫欧),电容值为470uF,负载为50欧姆,占空比选择为0.5,开关…

【Qt】QtCreator忽然变得很卡

1. 问题 Qt Creator忽然变得很卡。电脑里两个版本的Qt Creator,老版本的开启就卡死,新版本好一点,但是相比于之前也非常卡,最明显的是在 ctrl鼠标滚轮 放大缩小的时候,要卡好几秒才反应。 2. 解决方案 2.1 方法1 关…