برنامه نویسی ۶۸۷ بازدید

در این مطلب، آموزش ساخت سیستمی ارائه می‌شود که می‌تواند سکوت‌های آزاردهنده موجود در ویدئوها، خطاهای انسانی که به وقوع می‌پیوندند و برخی از دیگر مواردی که مد نظر کاربر هستند را اصلاح کند. این سیستم، ویدئو کاربر را به یک ویدئو زیبا تبدیل نمی‌کند، اما حداقل این امکان را فراهم می‌کند که از صرف ساعت‌ها زمان برای گوش فرا دادن به خطاهای انسانی (مانند تپق‌ها) جلوگیری شود. اگر کاربر این سیستم، سازنده ویدئو نیست، بلکه از ویدئوهای داخل اینترنت استفاده می‌کند، این کار می‌تواند به او در تماشای سریع‌تر این فیلم‌ها (با حذف زمان‌های سکوت و دیگر موارد) کمک شایان توجهی کند. برای مثال، گاهی اوقات افراد دوره‌های آموزشی گوناگونی را تماشا می‌کنند که ممکن است ساعت‌ها طول بکشد. در چنین ویدئوهایی یا در مصاحبه‌ها، گپ و گفت‌ها و دیگر موارد، زمان‌هایی وجود دارد که سخنران اصلا صحبت نمی‌کند. بنابراین، استفاده از سیستم ویرایش خودکار ویدئوها با پایتون که در زیر آموزش داده شده، می‌تواند بسیار موثر واقع شود.

نصب سیستم ویرایش خودکار ویدئوها با پایتون

این سیستم در MatrixDS تست شده که یکی از ابزارهای خوب برای راه‌اندازی ترمینال و ژوپیتر نوت‌بوک به صورت رایگان و طی چند ثانیه است. بنابراین، کاربران می‌تواند آنچه بیان شده را در آنجا بازتولید کند. اولین کاری که باید انجام شود، کلون (Clone) کردن مخزن محسوب می‌شود که با استفاده از دستور زیر، قابل انجام است.

git clone https://github.com/carykh/jumpcutter.git

سپس، نیازمندی‌های آن را باید نصب کرد.

cd jumpcutter
pip install --user -r requirements.txt

همچنین، نیاز به ffmpeg است. اگر سیستم‌عامل کاربر اوبونتو است، می‌تواند از دستورات زیر استفاده کند:

sudo apt update
sudo apt install ffmpeg

در صورتی که کاربر در MatrixDS است، نیاز دارد به صورت root باشد؛ بنابراین:

sudo su
apt install ffmpeg

کاربرد

اکنون بخش جذاب کار از راه می‌رسد. یک ویدئو ساده برای تست این مورد ساخته شده است. ویدئو اصلی در زیر قابل مشاهده است.

در حال حاضر، کاری که نیاز است در MatrixDS انجام شود، بارگذاری ویدئو در همان پوشه‌ای است که «مخزن» (repo) کلون شده است. پس، دستور زیر باید اجرا شود:

python3 jumpcutter.py --input_file auto_2.mp4 --sounded_speed 1 --silent_speed 999999 --frame_margin 2

با انجام کارهای بالا، تنها طی چند ثانیه ویدئو ویرایش شد. ویدئو ویرایش شده در ادامه موجود است.

با وجود آنکه مستندسازی زیادی درباره این کد انجام نشده، اما کد «متن‌باز» (Open Source) است، بنابراین می‌توان به مخزن آن رفت و کل کد را بررسی کرد. دستور پایه برای انجام این کار به صورت زیر است.

python 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.

همانطور که از گزینه‌های بالا مشهود است، می‌توان لینک ویدئو یوتیوب را به سیستم داد تا آن را دانلود و ویرایش کرده و به عنوان خروجی ارائه دهد. در این راستا، کد زیر قابل توجه است:

python3 jumpcutter.py --url https://youtu.be/2MjlMpEzDA8 --sounded_speed 1 --silent_speed 999999 --frame_margin 2 --frame_rate 3

در این مطلب مشاهده شد که تنها در ۲۰۳ خط کد، با بهره‌گیری از قدرت زبان برنامه‌نویسی پایتون، می‌توان ویدئوها را در مدت کوتاهی ویرایش کرد.

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۳ نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.

«الهام حصارکی»، فارغ‌التحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستم‌های اطلاعات مدیریت است. او در زمینه هوش مصنوعی و داده‌کاوی، به ویژه تحلیل شبکه‌های اجتماعی، فعالیت می‌کند.

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد.