Skip to content

Instantly share code, notes, and snippets.

@arash16
Last active January 1, 2025 09:22
Show Gist options
  • Save arash16/a283a3de3ef11dc2fd973d411793dbd2 to your computer and use it in GitHub Desktop.
Save arash16/a283a3de3ef11dc2fd973d411793dbd2 to your computer and use it in GitHub Desktop.
index=0
lines=$(cat $1)
for link in $lines; do
echo $link
(( index++ ))
title=$(yt-dlp --dump-json "$link" | jq -r ".title" | sed -e 's/[\/]/-/g')
file="$index - $title.mp4"
echo $file
if [ -f "$file" ]; then
continue;
fi
auto-editor "$link" \
-o "$file" \
--margin 0.5s \
--video-speed 1.23 --silent-speed 8 \
--edit audio:0.005,stream=all -c:v hevc -b:v 512K \
--yt-dlp-extras "-S res:480" \
--no-open
done
# ./download-all.sh links.txt
@Heshmatkhah
Copy link

ref

ویدیوهای آموزشی رو از یه حدی نمیشه سریعتر کرد (وگرنه کلمات مبهم میشن)، و بعضی از این ویدیوها که وسطش سکوت و مکث زیاد داره (بخصوص کورس‌های دانشگاهی) واقعا خیلی روی مخه. یه ابزاری گیر آوردم اتومات همه این silent momentها رو حذف میکنه، باقی ویدیو رو هم تسریع میکنه و خروجی ایده‌آل میده. اگه yt-dlp از قبل نصب داشته باشی هم که میتونی مستقیم لینک یوتیوب بدی بهش، دانلود و ادیت میکنه خروجی تمیز و خلاصه میده بهت.

از اونجا که داره زیاد بوکمارک و ریتوییت میشه، این تیکه کد هم بذارم باهاش میتونید لیست تعداد زیادی ویدیو رو یکجا بدید به‌ترتیب دانلود کنه. برای دانلود کورس‌های چندقسمتی کاربرد داره. داخل یه فایل links.txt باید لیست همه آدرس همه ویدیوها رو گذاشته باشین. پارامترها رو هم متناسب با نیاز باید تغییر داد، مثلا اگه ویدیو نویز نداشته باشه اون audio:0.005 اوکیه وگرنه باید عدد بیشتری بذارید که بتونه سکوت رو درست تشخیص بده. فرمت دانلود هم تنظیم کردم برای خودم که 480p بگیره، خروجی بعد از تبدیل هم یه کیفیت معقول که حجم فایل‌ها زیاد نشه، همه اینا توی کد میشه تغییر داد.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment