আমার অল্প পরিমাণে লবণের যোগ করা, এটি পাইথন স্ক্রিপ্টটি নিয়ে আমি বেশ কয়েকটি অধ্যায়ে বিভক্ত হয়ে এসেছি। নম্বরটি স্বয়ংক্রিয়ভাবে উত্তোলিত হয়।
মনে রাখবেন যে:
- আপনার হ্যান্ডব্রেক সিএলআই দরকার (বর্তমানে এই ঠিকানায় উপলভ্য: https://handbrake.fr/downloads2.php )
- আপনার PATH এ হ্যান্ডব্রেক সিএলআইয়ের ইনস্টলেশন ফোল্ডার থাকা দরকার
আপনাকে কেবল স্ক্রিপ্টের আর্গুমেন্ট হিসাবে ডিভিডি এর অবস্থান সহ পাইথন স্ক্রিপ্টটি কল করতে হবে।
#!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}"')