گاهی اوقات میخواهید تکهای از یک فایل ویدیویی را جدا کرده به صورت مستقل ارایه دهید. این مقاله به شما کمک می کند این کار را به راحتی و به سرعت انجام دهید.
امروزه اغلب فایلهای ویدیویی به نحوی فشرده شده است و در فایلهای فشرده I-frame نقش مهمی بازی میکند. که در مقاله قبلی توضیح دادم.
حالت اول:
اگر بخواهید قطعه ای از فایل را جدا کنید که با I-frame آغاز میشود و با I-frame یا P-frame تمام میشود.
ffmpeg -ss 00:01:30 -i input.mp4 -t 00:05:00 -c copy output.mp4
در مثال بالا از فایل input.mp4 از اولین I-frame بعد از یک دقیقه و سی ثانیه (1:30) تا آخرین I-frame و یا P-frame قبل از پنج دقیقه را جدا کرده در فایل output.mp4 ذخیره میکند. (باید زمان ابتدای برش قبل از نام فایل ورودی بیاید.)
مزیت: این روش در این است که فایل مجددا Encode نمی شود و در نتیجه بسیار سریع است و تنها در حد کپی کردن زمان میبرد. همچنین کیفیت فایل تغییر نمیکند.
مشکل: این روش در این است که خیلی دقیق نیست و ممکن است چند فریم را از دست بدهید.
حالت دوم:
اگر بخواهید از فریم تا فریم خاصی را دقیقا جدا کنید.
ffmpeg -i input.mp4 -ss 00:01:30 -t 00:05:00-strict-2 output.mp4
در مثال فوق از فایل input.mp4 دقیقا از یک دقیقه و سی ثانیه تا پنج دقیقه را جدا کرده در فایل output.mp4 ذخیره میکند. (باید زمان ابتدای برش بعد از نام فایل ورودی بیاید.)
مزیت: این روش اینست که برش بسیار دقیق است.
مشکل: این روش اینست که فایل مجددا Encode میشود و هر بار Encode کیفیت را کمی کاهش میدهد. و همچنین زمان بیشتری میبرد.