ویرایش خودکار ویدئوها با پایتون — به زبان ساده
در این مطلب، آموزش ساخت سیستمی ارائه میشود که میتواند سکوتهای آزاردهنده موجود در ویدئوها، خطاهای انسانی که به وقوع میپیوندند و برخی از دیگر مواردی که مد نظر کاربر هستند را اصلاح کند. این سیستم، ویدئو کاربر را به یک ویدئو زیبا تبدیل نمیکند، اما حداقل این امکان را فراهم میکند که از صرف ساعتها زمان برای گوش فرا دادن به خطاهای انسانی (مانند تپقها) جلوگیری شود. اگر کاربر این سیستم، سازنده ویدئو نیست، بلکه از ویدئوهای داخل اینترنت استفاده میکند، این کار میتواند به او در تماشای سریعتر این فیلمها (با حذف زمانهای سکوت و دیگر موارد) کمک شایان توجهی کند. برای مثال، گاهی اوقات افراد دورههای آموزشی گوناگونی را تماشا میکنند که ممکن است ساعتها طول بکشد. در چنین ویدئوهایی یا در مصاحبهها، گپ و گفتها و دیگر موارد، زمانهایی وجود دارد که سخنران اصلا صحبت نمیکند. بنابراین، استفاده از سیستم ویرایش خودکار ویدئوها با پایتون که در زیر آموزش داده شده، میتواند بسیار موثر واقع شود.
نصب سیستم ویرایش خودکار ویدئوها با پایتون
این سیستم در MatrixDS تست شده که یکی از ابزارهای خوب برای راهاندازی ترمینال و ژوپیتر نوتبوک به صورت رایگان و طی چند ثانیه است. بنابراین، کاربران میتواند آنچه بیان شده را در آنجا بازتولید کند.
اولین کاری که باید انجام شود، کلون (Clone) کردن مخزن محسوب میشود که با استفاده از دستور زیر، قابل انجام است.
1git clone https://github.com/carykh/jumpcutter.git
سپس، نیازمندیهای آن را باید نصب کرد.
1cd jumpcutter
2pip install --user -r requirements.txt
همچنین، نیاز به ffmpeg است. اگر سیستمعامل کاربر اوبونتو است، میتواند از دستورات زیر استفاده کند:
1sudo apt update
2sudo apt install ffmpeg
در صورتی که کاربر در MatrixDS است، نیاز دارد به صورت root باشد؛ بنابراین:
1sudo su
2apt install ffmpeg
کاربرد
اکنون بخش جذاب کار از راه میرسد. یک ویدئو ساده برای تست این مورد ساخته شده است.
ویدئو اصلی در زیر قابل مشاهده است.
در حال حاضر، کاری که نیاز است در MatrixDS انجام شود، بارگذاری ویدئو در همان پوشهای است که «مخزن» (repo) کلون شده است. پس، دستور زیر باید اجرا شود:
1python3 jumpcutter.py --input_file auto_2.mp4 --sounded_speed 1 --silent_speed 999999 --frame_margin 2
با انجام کارهای بالا، تنها طی چند ثانیه ویدئو ویرایش شد. ویدئو ویرایش شده در ادامه موجود است.
با وجود آنکه مستندسازی زیادی درباره این کد انجام نشده، اما کد «متنباز» (Open Source) است، بنابراین میتوان به مخزن آن رفت و کل کد را بررسی کرد. دستور پایه برای انجام این کار به صورت زیر است.
1python jumpcutter.py --input_file path/to/file.mp4
میتوان گزینههای زیر را نیز به دلخواه تغییر داد.
optional arguments: -h, --help show this help message and exit --input_file INPUT_FILE the video file you want modified --url URL A youtube url to download and process --output_file OUTPUT_FILE the output file. (optional. if not included, it'll just modify the input file name) --silent_threshold SILENT_THRESHOLD the volume amount that frames' audio needs to surpass to be consider "sounded". It ranges from 0 (silence) to 1 (max volume) --sounded_speed SOUNDED_SPEED the speed that sounded (spoken) frames should be played at. Typically 1. --silent_speed SILENT_SPEED the speed that silent frames should be played at. 999999 for jumpcutting. --frame_margin FRAME_MARGIN some silent frames adjacent to sounded frames are included to provide context. How many frames on either the side of speech should be included? That's this variable. --sample_rate SAMPLE_RATE sample rate of the input and output videos --frame_rate FRAME_RATE frame rate of the input and output videos. optional... I try to find it out myself, but it doesn't always work. --frame_quality FRAME_QUALITY quality of frames to be extracted from input video. 1 is highest, 31 is lowest, 3 is the default.
همانطور که از گزینههای بالا مشهود است، میتوان لینک ویدئو یوتیوب را به سیستم داد تا آن را دانلود و ویرایش کرده و به عنوان خروجی ارائه دهد. در این راستا، کد زیر قابل توجه است:
1python3 jumpcutter.py --url https://youtu.be/2MjlMpEzDA8 --sounded_speed 1 --silent_speed 999999 --frame_margin 2 --frame_rate 3
در این مطلب مشاهده شد که تنها در ۲۰۳ خط کد، با بهرهگیری از قدرت زبان برنامهنویسی پایتون، میتوان ویدئوها را در مدت کوتاهی ویرایش کرد.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون
- آموزش پروژهمحور Python (پایتون) – ساخت نرمافزار برای Windows و Linux
- مجموعه آموزشهای تدوین فیلم و آهنگسازی
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- افزایش فالوورهای اینستاگرام با ربات پایتون — راهنمای کاربردی
^^