总结
豆包 AI 助手文章总结

Deepseek批量调整视频的默认音频声道

星夢妙者
发布: 2025-04-22 15:28:01
原创
643人浏览过

文件夹中有多个视频文件,默认音频声道为俄语,想调整成英语:

Deepseek批量调整视频的默认音频声道
Deepseek批量调整视频的默认音频声道

先安装 MKVToolNix软件,然后使用 mkvinfo 工具来查看 .mkv 文件的音轨信息,在命令行中输入命令:

mkvinfo "F:\aivideo\The Legend of Tarzan - 16 - Tarzan and the Leopard Men Rebellion.mkv"

Deepseek批量调整视频的默认音频声道

来查看轨道信息:

+ EBML 头

|+ EBML 版本: 1

|+ EBML 读取版本: 1

|+ EBML ID 最大长度: 4

|+ EBML 大小最大长度: 8

|+ 文档类型: matroska

|+ 文档类型版本: 4

|+ 文档类型读取版本: 2

+ 剪辑: 大小 556452947

|+ 定位头 (子条目将被跳过)

|+ EBML void: 大小 4027

|+ 剪辑信息

| + 时间戳缩放: 1000000

| + 混流应用程序: libebml v1.4.5 + libmatroska v1.7.1

| + 写入应用程序: mkvmerge v88.0 ('All I Know') 64-bit

| + 时长: 00:21:46.400000000

| + 日期: 2024-11-21 02:52:45 UTC

| + 标题: The Legend of Tarzan [1x06] HDTV 720p x264 [Source: ThV, Encode: GD]

| + 剪辑 UID: 0x44 0x0d 0x7e 0xac 0xb1 0xd5 0x00 0x8d 0x02 0x45 0x91 0x76 0xda 0xba 0xf2 0xf2

|+ 轨道

| + 轨道

| + 轨道编号: 1 (mkvmerge & mkvextract 的轨道 ID: 0)

| + 轨道 UID: 1

| + 轨道类型: 视频

| + 「紧缩」 标记: 0

| + 语言: und

| + 编码格式 ID: V_MPEG4/ISO/AVC

| + 编解码器私有数据: 大小 42 (H.264 档次: High @L4.0)

| + 默认帧时长: 00:00:00.040000000 (对应视频轨的 25.000 帧/场每秒)

| + 语言 (IETF BCP 47): und

| + 视频轨道

| + 像素宽度: 1280

| + 像素高度: 720

| + 显示宽度: 1280

| + 显示高度: 720

| + 轨道

| + 轨道编号: 2 (mkvmerge & mkvextract 的轨道 ID: 1)

| + 轨道 UID: 782399382

| + 轨道类型: 音频

| + 「默认轨」 标记: 0

| + 语言: rus

| + 编码格式 ID: A_AC3

| + 默认帧时长: 00:00:00.032000000 (对应视频轨的 31.250 帧/场每秒)

| + 语言 (IETF BCP 47): ru

| + 名称: 俄语

| + 音频轨

| + 采样率: 48000

| + 声道数: 2

| + 轨道

| + 轨道编号: 3 (mkvmerge & mkvextract 的轨道 ID: 2)

| + 轨道 UID: 2887079607

| + 轨道类型: 音频

| + 「默认轨」 标记: 0

| + 语言: und

| + 编码格式 ID: A_AC3

| + 默认帧时长: 00:00:00.032000000 (对应视频轨的 31.250 帧/场每秒)

| + 语言 (IETF BCP 47): und

| + 名称: 原始语言

| + 音频轨

| + 采样率: 48000

| + 声道数: 2

|+ EBML void: 大小 1133

|+ 簇

deepseek中输入提示词:

你是一个Python编程专家,完成如下任务:

读取这个文件夹中所有的mkv视频文件:“F:\aivideo”

根据 mkvinfo 输出,mkv视频文件中有三个轨道:

视频轨道(轨道编号 1)

音频轨道 1(轨道编号 2,AC3 格式,俄语)

音频轨道 2(轨道编号 3,AAC 格式,原始语言)

将默认音轨从音频轨道 1(轨道编号 2)调整为音频轨道 2(轨道编号 3)。

索引从 0 开始,所以 --default-track 1 对应音频轨道 1, --default-track 2 对应音频轨道 2,

"--default-track", "1:no", # 禁用音频轨道 1的默认音轨

"--default-track", "2:yes", # 启用音频轨道2的默认音轨

注意:每一步都要输出信息到屏幕上

mkvmerge 工具的路径为:D:\Program Files\MKVToolNix\mkvmerge.exe

subprocess.run 在读取 mkvmerge 的输出时,默认使用 gbk 编码解码,但输出中包含无法解码的字节。我们可以通过指定 encoding='utf-8' 来解决这个问题。

源代码:

import os

import subprocess

# 定义文件夹路径和mkvmerge工具的路径

folder_path = r"F:\aivideo"

mkvmerge_path = r"D:\Program Files\MKVToolNix\mkvmerge.exe"

# 获取文件夹中的所有MKV文件

mkv_files = [f for f in os.listdir(folder_path) if f.endswith('.mkv')]

# 输出信息

print(f"Found {len(mkv_files)} MKV files in the folder.")

# 遍历每个MKV文件

for mkv_file in mkv_files:

file_path = os.path.join(folder_path, mkv_file)

print(f"Processing file: {file_path}")

# 构建mkvmerge命令

command = [

mkvmerge_path,

"--output", file_path + ".tmp", # 输出到临时文件

"--default-track", "1:no", # 禁用轨道2的默认音轨

"--default-track", "2:yes", # 启用轨道3的默认音轨

file_path

]

# 输出命令信息

print(f"Running command: {' '.join(command)}")

# 执行命令

result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, encoding='utf-8')

# 输出执行结果

print(result.stdout)

print(result.stderr)

# 检查命令是否成功

if result.returncode == 0:

# 删除原文件

os.remove(file_path)

# 重命名临时文件为原文件名

os.rename(file_path + ".tmp", file_path)

print(f"Successfully processed file: {file_path}")

else:

print(f"Failed to process file: {file_path}")

print("All files processed.")

Deepseek批量调整视频的默认音频声道

以上就是Deepseek批量调整视频的默认音频声道的详细内容,更多请关注php中文网其它相关文章!

树懒Acc(国际服手游下载)
树懒Acc(国际服手游下载)

解决渣网、解决锁区、快速下载数据、时刻追新游,现在下载,即刻拥有流畅网络。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号