如何使用 python 从具有相同属性的多个视频文件中删除两个音频流中的一个特定流?
How to delete one specific stream out of two audio streams from multiple video files of same properties using python?
我有一个包含200个(或更多)视频文件的文件夹,每个文件大小约为70MB(这无关紧要),并且包含一个视频,一个文本和两个音频流,音频流属于两个不同的语言。所有文件都具有相同的两种语言音频流。那么如何从每个文件中删除一个用户选择语言的特定音频流,并保持其他一切不变。对于单个文件,我可以使用 mkvcleaver 或其他一些 GUI 工具。甚至是 ffmpeg。但由于它是重复的,就像 python 的 Zen 一样,我认为它可以自动化。我如何在 Python 3.4 中执行此操作?
我找到了答案。
我使用 mkvtoolnix 命令删除带有 ID:1 的音频。
使用 os.listdir() 制作了一个列表
然后对于给定的格式文件,使用 subprocess.call() 函数对其进行循环,只需替换 listdir() 中的文件名。有效。感谢您的支持。欢迎编辑,我是第一次来
import os
from subprocess import call
files = os.listdir("D:\Media\TV Shows\Naruto")
frmt = input('Enter the file format:')
files = [i for i in files if i[-3:]==frmt ]
print(files)
for filegoeshere in files:
fun = '''"C:\Program Files\MKVToolNix\mkvmerge.exe" -o "D:\Media\TV Shows\Naruto\'''+filegoeshere[:-4]+'''_jp.mkv" "--default-track" "0:yes" "--forced-track" "0:no" "--display-dimensions" "0:640x480" "--language" "2:jpn" "--track-name" "2:Japanese" "--default-track" "2:no" "--forced-track" "2:no" "--track-name" "3:English" "--default-track" "3:yes" "--forced-track" "3:no" "-a" "2" "-d" "0" "-s" "3" "-T" "--no-global-tags" "D:\Media\TV Shows\Naruto\'''+filegoeshere+'''" "--track-order" "0:0,0:2,0:3"'''
call(fun)
我有一个包含200个(或更多)视频文件的文件夹,每个文件大小约为70MB(这无关紧要),并且包含一个视频,一个文本和两个音频流,音频流属于两个不同的语言。所有文件都具有相同的两种语言音频流。那么如何从每个文件中删除一个用户选择语言的特定音频流,并保持其他一切不变。对于单个文件,我可以使用 mkvcleaver 或其他一些 GUI 工具。甚至是 ffmpeg。但由于它是重复的,就像 python 的 Zen 一样,我认为它可以自动化。我如何在 Python 3.4 中执行此操作?
我找到了答案。 我使用 mkvtoolnix 命令删除带有 ID:1 的音频。 使用 os.listdir() 制作了一个列表 然后对于给定的格式文件,使用 subprocess.call() 函数对其进行循环,只需替换 listdir() 中的文件名。有效。感谢您的支持。欢迎编辑,我是第一次来
import os
from subprocess import call
files = os.listdir("D:\Media\TV Shows\Naruto")
frmt = input('Enter the file format:')
files = [i for i in files if i[-3:]==frmt ]
print(files)
for filegoeshere in files:
fun = '''"C:\Program Files\MKVToolNix\mkvmerge.exe" -o "D:\Media\TV Shows\Naruto\'''+filegoeshere[:-4]+'''_jp.mkv" "--default-track" "0:yes" "--forced-track" "0:no" "--display-dimensions" "0:640x480" "--language" "2:jpn" "--track-name" "2:Japanese" "--default-track" "2:no" "--forced-track" "2:no" "--track-name" "3:English" "--default-track" "3:yes" "--forced-track" "3:no" "-a" "2" "-d" "0" "-s" "3" "-T" "--no-global-tags" "D:\Media\TV Shows\Naruto\'''+filegoeshere+'''" "--track-order" "0:0,0:2,0:3"'''
call(fun)