资源简介
python实现音频添加隐写数据
1. 解析音频格式:
通过python自带的wav音频格式进行音频解析与输出
通过pydub解析任意格式音频进行解析,最后输出为wav格式音频文件
2. 添加隐写数据:
将解析的音频转为二进制并通过lsb算法进行隐写内容在最低位的添加
为了增强音频水印的鲁棒性,在通过判断音频文件的大小后选择相应的范围数添加隐写数据
从而使音频即便被截断也可通过相似度方式查看是否包含隐写数据
代码片段和文件信息
# -*- coding: utf-8 -*-
import wave
from time import time
import math
from pydub import AudioSegment
import lsb_interleave_bytes lsb_deinterleave_bytes
# 通过解析wav文件进行隐写内容添加并输出添加后的文件(python中默认解析wav格式)
# sound_path:音频路径 file_data:隐写内容 output_path:文件输出路径 num_lsb:替换最低有效位位数
def add_steg_in_wav(sound_path file_data output_path num_lsb):
start = time() # 计算程序总运行时间
sound = wave.open(sound_path “r“) # 读取文件
params = sound.getparams() # 获取文件参数
num_channels = sound.getnchannels() # 单双声道
sample_width = sound.getsampwidth() # 字节宽度
num_frames = sound.getnframes() # 采样频率
# 每个文件可以隐藏最多的num_lsb位
num_samples = num_frames * num_channels
max_bytes_to_hide = (num_samples * num_lsb) // 8
file_data_size = len(file_data)
print(f“Using {num_lsb} LSBs we c
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-08-14 05:48 AudioStegWaterMark-master\
文件 4823 2019-08-14 05:48 AudioStegWaterMark-master\audio_steg_util.py
文件 2844 2019-08-14 05:48 AudioStegWaterMark-master\lsb_steg_util.py
文件 733 2019-08-14 05:48 AudioStegWaterMark-master\readme.md
文件 1279 2019-08-14 05:48 AudioStegWaterMark-master\test.py
相关资源
- python一个打砖块的小游戏
- python实验指导书 图文高清版
- python主动安装第三方库
- python爬取豆瓣top250电影信息
- python绘制 大蟒蛇
- python小程序(数组排序)
- Python去水印(基于cv2)
- Python 数据结构入门 - 二叉搜索树(
- python空心电感计算器
- python除法.docx
- 抽奖背后的秘密(python抽奖逻辑)
- 绘制统计学直方图茎叶图(matplotlib)
- python求解标准差
- python数据分析与处理
- 利用Python将照片在Excel中利用点阵图显
- python turtle 跳房子
- python 人群计数
- Python调用第三方API换脸
- “去哪儿吃”帮你选餐厅(python代码
- python 控制台登陆密码验证
- KNN算法的Python实现(datingrecd.ipynb)
- python核心编程第二版-习题答案
- python爬取笔趣阁小说
- Python程序设计基础试题以及答案(3
- python聊天-服务端与客户端
- python递归求最大公约数
- 用python画皮卡丘(基于turtle)
- 伟哥的python私房菜(中国程序员).
- pip一键升级(python脚本)
- 我的世界python编程——天空行走py格式
评论
共有 条评论