| WF-RECORDER(1) | General Commands Manual | WF-RECORDER(1) |
نام (NAME)
wf-recorder —
برنامهای
ساده برای
ضبط
صفحهنمایش
در
کامپوزیتورهای
مبتنی بر wlroots
خلاصه دستور (SYNOPSIS)
wf-recorder
[-abcCdDefFghlmopPrRvxX]
[-a, --audio
[=DEVICE]] [-b,
--bframes max_b_frames]
[-B, --buffrate
buffrate] [-c,
--codec output_codec]
[-r, --framerate
framerate] [-d,
--device encoding_device]
[--no-dmabuf] [-D,
--no-damage] [-f,
--file filename.ext]
[-F filter_string]
[-g, --geometry
geometry] [-h,
--help] [-l,
--log] [-m,
--muxer muxer]
[-L, --list-output]
[-o, --output
output] [-p,
--codec-param
[option_param=option_value]]
[-v, --version]
[-x, --pixel-format]
[--audio-backend
audio_backend] [-C,
--audio-codec
output_audio_codec] [-P,
--audio-codec-param
[option_param=option_value]]
[-R, --sample-rate
sample_rate] [-X,
--sample-format sample_format]
[-y, --overwrite]
توضیحات (DESCRIPTION)
wf-recorder
ابزاری است
که برای ضبط
صفحهنمایش
در
کامپوزیتورهای
Wayland ساخته شده
است. این
ابزار از
wlr-screencopy
برای ضبط
ویدیو و از
ffmpeg(1)
برای
رمزگذاری
آن استفاده
میکند.
در
سادهترین
حالت، wf-recorder
را برای
آغاز ضبط
اجرا کرده و
از ‘Ctrl+C’
برای توقف
آن استفاده
کنید. این
کار فایلی
با نام
‘recording.mp4’ را
در
دایرکتوری
کاری فعلی
با استفاده
از codec
پیشفرض
ایجاد
میکند.
گزینهها به شرح زیر هستند:
-a,--audio[=DEVICE]- ضبط
صفحهنمایش
همراه با
صدا را آغاز
میکند.
آرگومان DEVICE اختیاری است. در صورتی که میخواهید دستگاه PulseAudio ضبطکننده صدا را مشخص کنید، میتوانید این دستور را همراه با نام آن دستگاه اجرا نمایید. میتوانید دستگاه خود را با اجرای دستور زیر پیدا کنید:
$ pactl list sources | grep Name -b,--bframesmax_b_frames- حداکثر تعداد B-Frameهای مورد استفاده را تنظیم میکند.
-B,--buffratebuffrate- یک پیشبینی از نرخ فریم مورد انتظار را به انکودر اعلام میکند. این کار VFR را حفظ کرده و مشکل محدودیت FPS برخی از انکودرها (مانند svt-av1) را حل میکند. باید روی همان نرخ فریم نمایشگر تنظیم شود.
-c,--codecoutput_codec- کدک ویدیوی
خروجی را
مشخص
میکند. از
خروجی GIF نیز
پشتیبانی
میکند.
برای تغییر پارامترهای کدک، از
-poption_name=option_value استفاده کنید. -r,--framerateframerate- یک نرخ فریم ثابت (CFR) سختگیرانه تنظیم میکند. برای رسیدن به آن، فریمها تکرار خواهند شد. این کار ویدیوی حاصل را CFR میکند و مشکل محدودیت FPS برخی از انکودرها را رفع میکند.
-d,--deviceencoding_device- دستگاه
مورد
استفاده
هنگام
رمزگذاری
ویدیو را
انتخاب
میکند.
برخی از درایورها پشتیبانی از دادههای ‘
rgb0’ را برای ورودی vaapi گزارش میدهند، اما در واقع تنها از yuv پشتیبانی میکنند. علاوه بر گزینههای vaapi، از گزینه-xyuv420 استفاده کنید تا دادهها پیش از ارسال به GPU، بهصورت نرمافزاری تبدیل شوند. --no-dmabuf- بهطور پیشفرض، wf-recorder در صورت استفاده از انکودر GPU تلاش میکند تنها از بافرها و کپیهای GPU استفاده کند. با این حال، این امر میتواند در برخی سیستمها باعث بروز مشکلاتی شود. در چنین مواردی، این گزینه کپی GPU را غیرفعال کرده و استفاده از پردازنده (CPU) را اجباری میکند.
-D,--no-damage- بهطور پیشفرض، wf-recorder تنها زمانی فریم جدیدی را از کامپوزیتور درخواست میکند که صفحهنمایش بهروزرسانی شود. این امر منجر به ایجاد فایل خروجی بسیار کوچکتری میشود، هرچند که دارای نرخ نوسازی متغیر خواهد بود. زمانی که این گزینه فعال باشد، wf-recorder از این بهینهسازی استفاده نکرده و حتی اگر هیچ بهروزرسانی در صفحه رخ ندهد، بهطور پیوسته فریمهای جدید را ضبط میکند.
-f,--filefilename.ext- با استفاده
از گزینه
-f، فایل خروجی نام filename.ext را خواهد داشت و قالب فایل بر اساس پسوند ارائهشده تعیین میشود. اگر پسوند توسط ماکسرهای ffmpeg(1) شما شناخته نشود، دستور با شکست مواجه خواهد شد.میتوانید ماکسرهایی را که نصب ffmpeg(1) شما پشتیبانی میکند با اجرای دستور زیر بررسی کنید:
$ ffmpeg -muxers -F,--filterfilter_string- فیلتر ffmpeg مورد استفاده را تنظیم میکند. VAAPI برای عملکرد صحیح نیازمند `scale_vaapi=format=nv12:out_range=full` است.
-g,--geometryscreen_geometry- بخش خاصی از صفحهنمایش را انتخاب میکند. ساختار آن به صورت "x,y WxH" است.
-h,--help- صفحه راهنما را چاپ میکند.
-l,--log- یک گزارش (لاگ) روی ترمینال جاری تولید میکند. برای مقاصد اشکالزدایی.
-m,--muxermuxer- قالب خروجی را بهجای تشخیص از روی نام فایل، روی یک ماکسر مشخص تنظیم میکند.
-L,--list-output- خروجیهای (نمایشگرهای) موجود را فهرست میکند.
-o,--output- خروجیای که ویدیو باید از آن ضبط شود را مشخص میکند.
-p,--codec-param[option_name=option_value]- یک پارامتر
کدک را
تغییر
میدهد.
میتواند
چندین بار
استفاده
شود:
-poption_name_1=option_value_1-poption_name_2=option_value_2 -v,--version- نسخه wf-recorder را چاپ میکند.
-x,--pixel-formatpixel_format- قالب پیکسل
خروجی را
تعیین
میکند.
فهرست قالبهای موجود را با دستور زیر مشاهده کنید:
$ ffmpeg -pix_fmts --audio-backendaudio_backend- بکاند صوتی مورد استفاده در زمان تنظیم بودن a- را مشخص میکند.
-C,--audio-codecoutput_audio_codec- کدک صدا را مشخص میکند.
-P,--audio-codec-param[option_name=option_value]- پارامترهای کدک صدا را تغییر میدهد.
-R,--sample-ratesample_rate- نرخ نمونهبرداری صدا را بر حسب هرتز (HZ) تغییر میدهد. مقدار پیشفرض 48000 است.
-X,--sample-formatsample_format- قالب نمونه
صدای خروجی
را تعیین
میکند.
فهرست قالبهای موجود را با دستور زیر مشاهده کنید:
$ ffmpeg -sample_fmts -y,--overwrite- رونویسی فایل خروجی را بدون تایید خواستن اجبار میکند.
مثالها (EXAMPLES)
برای
انتخاب بخش
خاصی از
صفحه
میتوانید
از --g geometry
استفاده
کنید یا از
https://github.com/emersion/slurp برای
انتخاب
تعاملی
ناحیهای
از صفحه که
ضبط خواهد
شد بهره
ببرید:
$ wf-recorder -g
"$(slurp)"میتوانید صفحهنمایش و صدا را بهطور همزمان ضبط کنید با:
$ wf-recorder --audio
--file=recording_with_audio.mp4برای
تعیین
دستگاه
صوتی، از
گزینههای
--a<DEVICE> یا
---audio=<DEVICE>
استفاده
کنید.
برای مشخص
کردن یک
codec از
گزینه -c
codec
استفاده
کنید. برای
تغییر
پارامترهای
کدک، از
گزینه -p
استفاده
کنید:
$ wf-recorder -c libx264 -p
preset=slow -p crf=18برای
تنظیم یک
قالب خروجی
خاص، از
گزینه -m,
--muxer
استفاده
کنید.
بهعنوان
مثال، برای
خروجی دادن
به یک
لوپبک
video4linux2
میتوانید
از دستور
زیر
استفاده
کنید:
$ wf-recorder --muxer=v4l2
--codec=rawvideo --file=/dev/video2برای
استفاده از
انکودینگ GPU،
از یک کدک VAAPI
(بهعنوان
مثال
‘h264_vaapi’ )
استفاده
کرده و یک
دستگاه GPU را
با گزینه
-d مشخص
نمایید:
$ wf-recorder -f test-vaapi.mkv -c
h264_vaapi -d /dev/dri/renderD128برخی
درایورها
پشتیبانی
از
دادههای
‘rgb0’ را
برای ورودی
‘vaapi’
اعلام
میکنند
اما در
واقعیت
تنها از
فرمتهای
سطحی (planar) yuv
پشتیبانی
میکنند. در
این حالت،
علاوه بر
گزینههای
‘vaapi’ از
گزینه -x
yuv420p
استفاده
کنید تا
دادهها
پیش از
ارسال به GPU
به
دادههای
سطحی yuv
تبدیل
شوند.
همچنین ببینید (SEE ALSO)
| July 30, 2022 | Linux 6.12.107+deb13-amd64 |