เพิ่มเกลือเม็ดเล็ก ๆ ของฉันนี่คือสคริปต์ Python ที่ฉันสร้างขึ้นเพื่อแยกออกเป็นหลายบท ตัวเลขจะถูกดึงออกมาโดยอัตโนมัติ
โปรดทราบว่า:
- คุณต้องมีHandbrake CLI (ปัจจุบันมีให้บริการตามที่อยู่นี้: https://handbrake.fr/downloads2.php )
- คุณต้องมีโฟลเดอร์การติดตั้งของ Handbrake CLI ในPATHของคุณ
คุณเพียงแค่เรียกสคริปต์ Python ต่อไปนี้ซึ่งมีที่ตั้งของ DVD เป็นอาร์กิวเมนต์ของสคริปต์
#!python
import os
import subprocess
import re
import sys
# Ugly but simple way to get first argument = folder with DVD
# We will get DVD name by removing all / and \
dvd = sys.argv[1]
dvd_name = re.sub(r'.*[/\\]', r'', dvd).rstrip('/').rstrip('\\')
s = subprocess.Popen(
f'HandBrakeCLI -i "{dvd}" -t 0', stdout=subprocess.PIPE, stderr=subprocess.STDOUT
)
count = 0
for line in s.stdout:
if re.search(rb"\+ title [0-9]+:", line):
count += 1
print(f'==Extracting {count} chapters from "{dvd}"==')
for i in range(1,count+1):
output = f"{dvd_name}_{i}.mp4"
cmd = f'HandBrakeCLI --input {dvd} --title {i} --preset Normal --output "{output}"'
log = f"encoding_{output}.log"
with open(log, 'wb') as f:
s = subprocess.Popen(cmd, stdout=f, stderr=subprocess.STDOUT)
s.communicate()
if not os.path.isfile(output):
print(f'ERROR during extraction of "{output}"!')
else:
print(f'Successfully extracted Chapter #{i} to "{output}"')