شما هنوز به سیستم وارد نشده اید.

اطلاعیه

#1 2020-07-20 18:39:52

system76
Moderator
از : میپرسی از من اهل كجايم؟
ثبت شده: 2018-02-03
ارسال ها: 33
وب سایت

آموزش کوتاه - ffmpeg

ffmpeg ابزاری کامند لاین جهت اعمال تغییرات مثل حذف صدا، برش و ... کاربرد دارد تو این پست سعی میکنم کامندهای کاربردی این دستور رو به مرور معرفی کنم.

کاهش حجم ویدیو با کمترین افت کیفیت


ffmpeg -i Video.mp4 -vcodec h264 -acodec aac -strict -2 NewVideo.mp4 

حذف صدای ویدیو

ffmpeg -i     Video.mkv     -c     copy   -an     output_video.mkv 

جدا کردن قسمت صدای ویدیو

ffmpeg -i 'Video.mkv'  -vn -acodec copy output-audio.mp4 

چسباندن چند ویدیو به هم

$ cat mylist.txt
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

$ ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4 

ما را از مرگ می ترسانند،
انگار كه ما زنده ايم …
“شاملو”

آفلاین

#2 2020-07-20 20:02:38

Arcush
Administrator
ثبت شده: 2015-09-15
ارسال ها: 1,566

پاسخ: آموزش کوتاه - ffmpeg

من از این روش برای سوزوندن زیرنویس استفاده می کنم. ولی خیلی کُند هست. روش سریع تری سراغ دارید؟

$ ffmpeg -i in.mp4 -i a.srt -c copy -c:s mov_text out.mp4

آفلاین

#3 2020-07-21 20:53:34

system76
Moderator
از : میپرسی از من اهل كجايم؟
ثبت شده: 2018-02-03
ارسال ها: 33
وب سایت

پاسخ: آموزش کوتاه - ffmpeg

Arcush نوشته است که:

من از این روش برای سوزوندن زیرنویس استفاده می کنم. ولی خیلی کُند هست. روش سریع تری سراغ دارید؟

$ ffmpeg -i in.mp4 -i a.srt -c copy -c:s mov_text out.mp4

فکر نمیکنم راه حلی براش باشه smile فقط یه بسته http://aur.archlinux.org/packages/hardsub-git/ هست که اونم خیلی طول میکشه


ما را از مرگ می ترسانند،
انگار كه ما زنده ايم …
“شاملو”

آفلاین

#4 2020-07-26 13:52:59

mzd245
Moderator
از : تهران
ثبت شده: 2020-03-24
ارسال ها: 21

پاسخ: آموزش کوتاه - ffmpeg

درود،
  من نیز یک آموزش برای capture کردن صفحه نمایشگر (screen recording) با ffmpeg را نیاز دیدم که در این صفحه با اجازه اساتید عزیز قرار دهم. این کار بسیار ساده است ولی زمانی چالش برانگیز خواهد شد که حرف از dual-monitor زده شود. من هر دو مثال را این جا می آورم.

سناریو:
  بر فرض آن که ما یک laptop داریم و یک صفحه نمایش ثانویه (monitor)، و از هر دو صفحه هم زمان استفاده می کنیم (dual-monitor)، در صورتی که بخواهیم از صفحه نمایش اصلی (عموما laptop) ویدئو ضبط کنیم، نیازمند آن هستیم که از روش اول استفاده نماییم.

روش اول:

$ ffmpeg -video_size $1 -framerate 25 -f x11grab -i $DISPLAY -f pulse -ac 2 -i $2 capture.mkv

توضیحات مورد نیاز:
    $1: اندازه نمایشگر لپ تاپ/resolution (مثال: 1920x1080, 3200x1800, ...)
    $2: شماره ورودی صدا -> می توانید از واژه default برای دستگاه ورودی صدای پیش فرض خود استفاده کنید یا اگر نیازمند آن هستید که ورودی صدا internal سیستم باشد، مقدار 0 را وارد نمایید.
این روش، برای افرادی که صرفا با یک صفحه نمایش طرف هستند کاملا قابل استفاده و کافی است.


  اما گاهی می خواهیم صرفا از صفحه نمایش ثانویه خود (monitor)، ویدئویی را ضبط کنیم. در این صورت نیازمند آن هستیم از روش دوم استفاده کنیم.

روش دوم:

ffmpeg -framerate 25 -f x11grab -video_size $1 \
                -i $DISPLAY+$2,0 -f pulse -ac 2 -i $3 -loglevel error capture.mkv

توضیحات مورد نیاز:
    $1: اندازه نمایشگر monitor ثانویه/resolution
    $2: طول صفحه نمایشگر laptop -> منظور بر این است اگر resolution لپ تاپ شما 1920x1080 است، مقدار 1920 را به جای 2$ قرار دهید.
    $3: ورودی صدا

آخرین ویرایش توسط mzd245 (2020-07-26 14:00:06)

آفلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB میزبانی توسط MahanCloud