ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

ffplay-all - ออนไลน์ในคลาวด์

เรียกใช้ ffplay-all ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง ffplay-all ที่สามารถเรียกใช้ในผู้ให้บริการโฮสติ้งฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


ffplay - FFplay เครื่องเล่นมีเดีย

เรื่องย่อ


เอฟเพลย์ [ตัวเลือก] [อินพุต_ไฟล์]

DESCRIPTION


FFplay เป็นเครื่องเล่นสื่อที่ใช้งานง่ายและพกพาได้โดยใช้ไลบรารี FFmpeg และ SDL
ห้องสมุด. ส่วนใหญ่จะใช้เป็นแบบทดสอบสำหรับ FFmpeg API ต่างๆ

OPTIONS


ตัวเลือกตัวเลขทั้งหมด หากไม่ได้ระบุไว้เป็นอย่างอื่น ให้ยอมรับสตริงที่แทนค่า a
ตัวเลขเป็นอินพุต ซึ่งอาจตามด้วยคำนำหน้าหน่วย SI อย่างใดอย่างหนึ่ง เช่น 'K'
'M' หรือ 'G'

หาก 'i' ต่อท้ายคำนำหน้าหน่วย SI คำนำหน้าทั้งหมดจะถูกตีความว่าเป็น
คำนำหน้าหน่วยสำหรับทวีคูณไบนารี ซึ่งอิงตามกำลัง 1024 แทนที่จะเป็นกำลังของ
1000. การต่อท้าย 'B' กับคำนำหน้าหน่วย SI จะคูณค่าด้วย 8 ซึ่งช่วยให้สามารถใช้
ตัวอย่างเช่น: 'KB', 'MiB', 'G' และ 'B' เป็นคำต่อท้ายตัวเลข

ตัวเลือกที่ไม่รับอาร์กิวเมนต์คือตัวเลือกบูลีน และตั้งค่าที่สอดคล้องกัน
เป็นจริง สามารถตั้งค่าเป็นเท็จโดยนำหน้าชื่อตัวเลือกด้วย "ไม่" ตัวอย่างเช่น
การใช้ "-nofoo" จะตั้งค่าตัวเลือกบูลีนที่มีชื่อ "foo" เป็นเท็จ

กระแส specifiers
บางตัวเลือกจะใช้ต่อสตรีม เช่น บิตเรตหรือตัวแปลงสัญญาณ ตัวระบุสตรีมใช้เพื่อ
ระบุอย่างแม่นยำว่าตัวเลือกที่กำหนดเป็นของสตรีมใด

ตัวระบุสตรีมเป็นสตริงโดยทั่วไปต่อท้ายชื่อตัวเลือกและแยกออกจากมัน
โดยลำไส้ใหญ่ เช่น "-codec:a:1 ac3" มีตัวระบุสตรีม "a:1" ซึ่งตรงกับ
สตรีมเสียงที่สอง ดังนั้น มันจะเลือกตัวแปลงสัญญาณ ac3 สำหรับสตรีมเสียงที่สอง

ตัวระบุสตรีมสามารถจับคู่สตรีมหลาย ๆ ตัวได้ ดังนั้นตัวเลือกจะถูกนำไปใช้กับ .ทั้งหมด
พวกเขา. เช่น ตัวระบุสตรีมใน "-b:a 128k" ตรงกับสตรีมเสียงทั้งหมด

ตัวระบุสตรีมที่ว่างเปล่าตรงกับสตรีมทั้งหมด ตัวอย่างเช่น "-codec copy" หรือ "-codec:
copy" จะคัดลอกสตรีมทั้งหมดโดยไม่ต้องเข้ารหัสใหม่

รูปแบบที่เป็นไปได้ของตัวระบุสตรีมคือ:

stream_index
จับคู่สตรีมกับดัชนีนี้ เช่น "-threads:1 4" จะกำหนดจำนวนเธรดสำหรับ
สตรีมที่สองถึง 4

stream_type[:stream_index]
stream_type เป็นหนึ่งในต่อไปนี้: 'v' หรือ 'V' สำหรับวิดีโอ 'a' สำหรับเสียง 's' สำหรับ
คำบรรยาย 'd' สำหรับข้อมูลและ 't' สำหรับไฟล์แนบ 'v' ตรงกับวิดีโอสตรีมทั้งหมด 'V'
จับคู่เฉพาะสตรีมวิดีโอที่ไม่ได้แนบรูปภาพ ภาพขนาดย่อของวิดีโอ หรือหน้าปก
ศิลปะ ถ้า stream_index ให้แล้วตรงกับหมายเลขสตรีม stream_index ของสิ่งนี้
พิมพ์. มิฉะนั้นจะตรงกับสตรีมประเภทนี้ทั้งหมด

p:โปรแกรม_id[:stream_index]
If stream_index ให้แล้วจับคู่กระแสกับตัวเลข stream_index ใน
โปรแกรมที่มีรหัส โปรแกรม_id. มิฉะนั้นจะตรงกับสตรีมทั้งหมดในโปรแกรม

#stream_id or i:stream_id
จับคู่สตรีมตามรหัสสตรีม (เช่น PID ในคอนเทนเนอร์ MPEG-TS)

m:สำคัญ[:ความคุ้มค่า]
จับคู่สตรีมกับแท็กข้อมูลเมตา สำคัญ มีค่าที่กำหนด ถ้า ความคุ้มค่า ไม่ใช่
ให้จับคู่สตรีมที่มีแท็กที่กำหนดกับค่าใดๆ

u จับคู่สตรีมกับการกำหนดค่าที่ใช้งานได้ ต้องกำหนดตัวแปลงสัญญาณและจำเป็น
ต้องมีข้อมูลเช่นขนาดวิดีโอหรืออัตราตัวอย่างเสียง

สังเกตว่าใน ffmpegการจับคู่โดยข้อมูลเมตาจะทำงานอย่างถูกต้องสำหรับไฟล์อินพุตเท่านั้น

ทั่วไป ตัวเลือก
ตัวเลือกเหล่านี้ใช้ร่วมกันระหว่างเครื่องมือ ff*

-L แสดงใบอนุญาต

-ชม, - -ช่วย, --ช่วยด้วย [หาเรื่อง]
แสดงความช่วยเหลือ อาจมีการระบุพารามิเตอร์ทางเลือกเพื่อพิมพ์ความช่วยเหลือเกี่ยวกับรายการเฉพาะ
หากไม่มีการระบุอาร์กิวเมนต์ ระบบจะแสดงเฉพาะตัวเลือกเครื่องมือพื้นฐาน (ไม่ใช่ขั้นสูง)

ค่าที่เป็นไปได้ของ หาเรื่อง คือ:

ยาว
พิมพ์ตัวเลือกเครื่องมือขั้นสูงนอกเหนือจากตัวเลือกเครื่องมือพื้นฐาน

เต็ม
พิมพ์รายการตัวเลือกทั้งหมด รวมถึงตัวเลือกที่ใช้ร่วมกันและส่วนตัวสำหรับตัวเข้ารหัส
ตัวถอดรหัส, ดีลักซ์เซอร์, มูกเซอร์, ฟิลเตอร์ ฯลฯ

ตัวถอดรหัส=ตัวถอดรหัส_ชื่อ
พิมพ์ข้อมูลรายละเอียดเกี่ยวกับตัวถอดรหัสชื่อ ตัวถอดรหัส_ชื่อ. ใช้ -ตัวถอดรหัส
ตัวเลือกเพื่อรับรายการตัวถอดรหัสทั้งหมด

ตัวเข้ารหัส=ตัวเข้ารหัส_ชื่อ
พิมพ์ข้อมูลรายละเอียดเกี่ยวกับตัวเข้ารหัสที่ชื่อ ตัวเข้ารหัส_ชื่อ. ใช้ -ตัวเข้ารหัส
ตัวเลือกเพื่อรับรายการตัวเข้ารหัสทั้งหมด

ดีลักซ์เซอร์=demuxer_name
พิมพ์ข้อมูลโดยละเอียดเกี่ยวกับดีลักซ์เซอร์ที่ชื่อ demuxer_name. ใช้ - รูปแบบ
ตัวเลือกเพื่อรับรายการ demuxers และ muxers ทั้งหมด

มูเซอร์=muxer_name
พิมพ์ข้อมูลรายละเอียดเกี่ยวกับ muxer ชื่อ muxer_name. ใช้ - รูปแบบ
ตัวเลือกเพื่อรับรายการ muxers และ demuxers ทั้งหมด

ตัวกรอง=ตัวกรอง_ชื่อ
พิมพ์ข้อมูลรายละเอียดเกี่ยวกับชื่อตัวกรอง ตัวกรอง_ชื่อ. ใช้ - ฟิลเตอร์
ตัวเลือกเพื่อรับรายการตัวกรองทั้งหมด

-version
แสดงเวอร์ชัน.

- รูปแบบ
แสดงรูปแบบที่ใช้ได้ (รวมถึงอุปกรณ์)

-devices
แสดงอุปกรณ์ที่ใช้ได้

-ตัวแปลงสัญญาณ
แสดงตัวแปลงสัญญาณทั้งหมดที่รู้จักกับ libavcodec

โปรดทราบว่ามีการใช้คำว่า 'ตัวแปลงสัญญาณ' ตลอดทั้งเอกสารนี้เป็นทางลัดสำหรับ
สิ่งที่เรียกว่ารูปแบบบิตสตรีมสื่อถูกต้องกว่า

-ตัวถอดรหัส
แสดงตัวถอดรหัสที่มีอยู่

-ตัวเข้ารหัส
แสดงตัวเข้ารหัสที่มีอยู่ทั้งหมด

-bsfs
แสดงตัวกรองบิตสตรีมที่มีอยู่

-โปรโตคอล
แสดงโปรโตคอลที่ใช้ได้

- ฟิลเตอร์
แสดงตัวกรอง libavfilter ที่มีอยู่

-pix_fmts
แสดงรูปแบบพิกเซลที่ใช้ได้

-sample_fmts
แสดงรูปแบบตัวอย่างที่มี

-เลย์เอาต์
แสดงชื่อช่องและรูปแบบช่องมาตรฐาน

- สี
แสดงชื่อสีที่รู้จัก

- แหล่งที่มา เครื่อง[,ตัวเลือกที่ 1=val1[,ตัวเลือกที่ 2=val2-
แสดงแหล่งที่มาของอุปกรณ์อินพุตที่ตรวจพบโดยอัตโนมัติ อุปกรณ์บางอย่างอาจมีระบบ-
ชื่อแหล่งที่มาที่ขึ้นต่อกันซึ่งไม่สามารถตรวจจับอัตโนมัติได้ รายการที่ส่งคืนไม่สามารถ
ถือว่าสมบูรณ์อยู่เสมอ

ffmpeg - แหล่งที่มาของพัลส์, เซิร์ฟเวอร์ = 192.168.0.4

- ซิงค์ เครื่อง[,ตัวเลือกที่ 1=val1[,ตัวเลือกที่ 2=val2-
แสดง sinks ที่ตรวจพบอัตโนมัติของอุปกรณ์ส่งออก อุปกรณ์บางอย่างอาจมีระบบ-
ชื่อซิงก์ที่ขึ้นต่อกันซึ่งไม่สามารถตรวจจับอัตโนมัติได้ ไม่สามารถถือว่ารายการส่งคืนได้
ให้สมบูรณ์อยู่เสมอ

ffmpeg - จมชีพจรเซิร์ฟเวอร์ = 192.168.0.4

-ระดับล็อก [ซ้ำ+]ระดับการบันทึก | -v [ซ้ำ+]ระดับการบันทึก
ตั้งค่าระดับการบันทึกที่ใช้โดยไลบรารี เติม "repeat+" แสดงว่าซ้ำ
ไม่ควรบีบอัดเอาต์พุตบันทึกไปที่บรรทัดแรกและ "ข้อความสุดท้ายซ้ำ n
ครั้ง" บรรทัดจะละเว้น "ซ้ำ" ยังใช้คนเดียวได้ หากใช้ "ซ้ำ"
เพียงอย่างเดียว และไม่ได้ตั้งค่าระดับบันทึกไว้ล่วงหน้า ระบบจะใช้ระดับบันทึกเริ่มต้น ถ้าหลาย
มีการระบุพารามิเตอร์ระดับล็อก การใช้ 'ซ้ำ' จะไม่เปลี่ยนระดับบันทึก ระดับการบันทึก
เป็นสตริงหรือตัวเลขที่มีค่าใดค่าหนึ่งต่อไปนี้:

เงียบ, -8
ไม่แสดงอะไรเลย; เงียบ.

ความหวาดกลัว 0
แสดงเฉพาะข้อผิดพลาดร้ายแรงซึ่งอาจทำให้กระบวนการขัดข้อง เช่น และยืนยัน
ความล้มเหลว. ปัจจุบันนี้ไม่ได้ใช้เพื่ออะไร

ร้ายแรง, 8
แสดงเฉพาะข้อผิดพลาดร้ายแรง สิ่งเหล่านี้เป็นข้อผิดพลาดหลังจากที่กระบวนการไม่สามารถทำได้โดยเด็ดขาด
ดำเนินการต่อหลังจาก

ข้อผิดพลาด 16
แสดงข้อผิดพลาดทั้งหมด รวมถึงข้อผิดพลาดที่สามารถกู้คืนได้

คำเตือน, 24
แสดงคำเตือนและข้อผิดพลาดทั้งหมด ข้อความใด ๆ ที่เกี่ยวข้องกับอาจไม่ถูกต้องหรือ
เหตุการณ์ที่ไม่คาดคิดจะปรากฏขึ้น

ข้อมูล, 32
แสดงข้อความข้อมูลระหว่างการประมวลผล นี่เป็นนอกเหนือจากคำเตือนและ
ข้อผิดพลาด นี่คือค่าเริ่มต้น

ละเอียด, 40
เช่นเดียวกับ "ข้อมูล" ยกเว้น verbose

ดีบัก 48
แสดงทุกอย่าง รวมทั้งข้อมูลการดีบัก

ติดตาม, 56

โดยค่าเริ่มต้น โปรแกรมจะบันทึกไปที่ stderr หากเทอร์มินัลรองรับการระบายสี
ใช้สีเพื่อทำเครื่องหมายข้อผิดพลาดและคำเตือน บันทึกการระบายสีสามารถปิดการใช้งานการตั้งค่า
ตัวแปรสภาพแวดล้อม AV_LOG_FORCE_NOCOLOR or NO_COLORหรือสามารถบังคับตั้งค่า
ตัวแปรสภาพแวดล้อม AV_LOG_FORCE_COLOR. การใช้ตัวแปรสภาพแวดล้อม NO_COLOR
เลิกใช้แล้วและจะถูกลบในเวอร์ชัน FFmpeg ต่อไปนี้

-รายงาน
ดัมพ์บรรทัดคำสั่งแบบเต็มและเอาต์พุตคอนโซลไปยังไฟล์ชื่อ
"โปรแกรม-YYYYMMDD-HHMMSS.log" ในไดเร็กทอรีปัจจุบัน ไฟล์นี้มีประโยชน์สำหรับ
รายงานข้อผิดพลาด นอกจากนี้ยังหมายถึง "-loglevel verbose"

การตั้งค่าตัวแปรสภาพแวดล้อม FFรายงาน ค่าใด ๆ ก็มีผลเช่นเดียวกัน ถ้า
ค่าเป็น ':' - แยกคีย์=ค่าตามลำดับ ตัวเลือกเหล่านี้จะส่งผลต่อรายงาน
ต้องหลีกเลี่ยงค่าตัวเลือกหากมีอักขระพิเศษหรือตัวเลือก
ตัวคั่น ':' (ดูส่วน ``การอ้างอิงและการหลบหนี'' ในคู่มือ ffmpeg-utils)

รู้จักตัวเลือกต่อไปนี้:

ไฟล์
ตั้งชื่อไฟล์ที่จะใช้สำหรับรายงาน %p ถูกขยายเป็นชื่อของ
โปรแกรม %t ถูกขยายเป็นการประทับเวลา "%%" ถูกขยายเป็น "%" ธรรมดา

ระดับ
ตั้งค่าระดับการใช้คำฟุ่มเฟือยบันทึกโดยใช้ค่าตัวเลข (ดู "-loglevel")

ตัวอย่างเช่น หากต้องการส่งออกรายงานไปยังไฟล์ชื่อ ffreport.log โดยใช้ระดับบันทึกของ32
(นามแฝงสำหรับระดับบันทึก "ข้อมูล"):

FFREPORT=file=ffreport.log:level=32 ffmpeg -i อินพุตเอาต์พุต

ข้อผิดพลาดในการแยกวิเคราะห์ตัวแปรสภาพแวดล้อมไม่ร้ายแรง และจะไม่ปรากฏใน
แจ้ง

-hide_banner
ระงับการพิมพ์แบนเนอร์

โดยปกติเครื่องมือ FFmpeg จะแสดงประกาศเกี่ยวกับลิขสิทธิ์ ตัวเลือกบิลด์ และไลบรารี
รุ่น สามารถใช้ตัวเลือกนี้เพื่อระงับการพิมพ์ข้อมูลนี้

-cpuflags ธง (ทั่วโลก)
อนุญาตให้ตั้งค่าและล้างแฟล็กซีพียู ตัวเลือกนี้มีไว้สำหรับการทดสอบ ไม่ได้ใช้
เว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่

ffmpeg -cpuflags -Sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...

ค่าสถานะที่เป็นไปได้สำหรับตัวเลือกนี้คือ:

x86
อืม
มม.xext
SSE
SSE2
sse2ช้า
SSE3
sse3ช้า
SSSE3
อะตอม
SSE4.1
SSE4.2
เอวีเอ็กซ์
avx2
XOP
เอฟเอ็มเอ3
เอฟเอ็มเอ4
3d
3dตอนนี้
บีเอ็มไอ1
บีเอ็มไอ2
ซีมอฟ
ARM
armv5te
อาร์มv6
armv6t2
วีเอฟพี
VFPV3
ธาตุนีอ็อน
กำหนด
AAArch64
อาร์มv8
วีเอฟพี
ธาตุนีอ็อน
PowerPC
อัลติเทค
โดยเฉพาะ โปรเซสเซอร์
เพนเทียม 2
เพนเทียม 3
เพนเทียม 4
k6
k62
Athlon
แอธลอนเอ็กซ์พี
k8
-opencl_bench
ตัวเลือกนี้ใช้เพื่อเปรียบเทียบอุปกรณ์ OpenCL ที่มีอยู่ทั้งหมดและพิมพ์ผลลัพธ์
ตัวเลือกนี้ใช้ได้เฉพาะเมื่อมีการคอมไพล์ FFmpeg ด้วย "--enable-opencl"

เมื่อกำหนดค่า FFmpeg ด้วย "--enable-opencl" ตัวเลือกสำหรับ OpenCL . ส่วนกลาง
บริบทถูกกำหนดผ่าน -opencl_options. ดูส่วน "ตัวเลือก OpenCL" ใน ffmpeg-
utils manual สำหรับรายการตัวเลือกที่รองรับทั้งหมด ท่ามกลางตัวเลือกอื่นๆ เหล่านี้
รวมถึงความสามารถในการเลือกแพลตฟอร์มและอุปกรณ์เฉพาะเพื่อเรียกใช้รหัส OpenCL
บน. โดยค่าเริ่มต้น FFmpeg จะทำงานบนอุปกรณ์แรกของแพลตฟอร์มแรก ในขณะที่
ตัวเลือกสำหรับบริบท OpenCL ทั่วโลกให้ความยืดหยุ่นแก่ผู้ใช้ในการเลือก
อุปกรณ์ OpenCL ที่พวกเขาเลือก ผู้ใช้ส่วนใหญ่อาจต้องการเลือกอุปกรณ์ที่เร็วที่สุด
อุปกรณ์ OpenCL สำหรับระบบของพวกเขา

ตัวเลือกนี้ช่วยในการเลือกการกำหนดค่าที่มีประสิทธิภาพสูงสุดโดยการระบุ
อุปกรณ์ที่เหมาะสมกับระบบของผู้ใช้ การวัดประสิทธิภาพในตัวทำงานบนทุก
อุปกรณ์ OpenCL และประสิทธิภาพจะถูกวัดสำหรับแต่ละอุปกรณ์ อุปกรณ์ใน
รายการผลลัพธ์จะถูกจัดเรียงตามประสิทธิภาพด้วยอุปกรณ์ที่เร็วที่สุดที่ระบุไว้
แรก. ผู้ใช้สามารถเรียกใช้ ffmpeg ใช้เครื่องถือว่ามากที่สุด
เหมาะสมผ่าน -opencl_options เพื่อให้ได้ประสิทธิภาพที่ดีที่สุดสำหรับ OpenCL
รหัสเร่ง

การใช้งานทั่วไปในการใช้อุปกรณ์ OpenCL ที่เร็วที่สุดมีขั้นตอนดังต่อไปนี้

เรียกใช้คำสั่ง:

ffmpeg -opencl_bench

จด ID แพลตฟอร์ม (ปิด) และรหัสอุปกรณ์ (ดิดซ์) ของเครื่องแรกคืออุปกรณ์ที่เร็วที่สุด
ในรายการ เลือกแพลตฟอร์มและอุปกรณ์โดยใช้คำสั่ง:

ffmpeg -opencl_options platform_idx= :device_idx= ...

-opencl_options ตัวเลือก (ทั่วโลก)
ตั้งค่าตัวเลือกสภาพแวดล้อม OpenCL ตัวเลือกนี้ใช้ได้เฉพาะเมื่อ FFmpeg ได้รับ
คอมไพล์ด้วย "--enable-opencl"

ตัวเลือก ต้องเป็นรายการของ สำคัญ=ความคุ้มค่า คู่ตัวเลือกคั่นด้วย ':' ดู ``OpenCL
ส่วนตัวเลือกในคู่มือ ffmpeg-utils สำหรับรายการตัวเลือกที่รองรับ

AVOตัวเลือก
ตัวเลือกเหล่านี้มีให้โดย libavformat, libavdevice และ libavcodec . โดยตรง
ห้องสมุด หากต้องการดูรายการ AVOptions ที่ใช้ได้ ให้ใช้ปุ่ม -ช่วยด้วย ตัวเลือก. พวกเขาคือ
แบ่งออกเป็นสองประเภท:

ทั่วไป
ตัวเลือกเหล่านี้สามารถตั้งค่าได้สำหรับคอนเทนเนอร์ ตัวแปลงสัญญาณ หรืออุปกรณ์ใดๆ ตัวเลือกทั่วไปคือ
อยู่ภายใต้ตัวเลือก AVFormatContext สำหรับคอนเทนเนอร์/อุปกรณ์ และภายใต้ AVCodecContext
ตัวเลือกสำหรับตัวแปลงสัญญาณ

ส่วนตัว
ตัวเลือกเหล่านี้เฉพาะสำหรับคอนเทนเนอร์ อุปกรณ์ หรือตัวแปลงสัญญาณที่กำหนด ตัวเลือกส่วนตัว
อยู่ภายใต้คอนเทนเนอร์/อุปกรณ์/ตัวแปลงสัญญาณที่เกี่ยวข้อง

ตัวอย่างเช่น หากต้องการเขียนส่วนหัว ID3v2.3 แทนค่าเริ่มต้น ID3v2.4 ลงในไฟล์ MP3 ให้ใช้
id3v2_version ตัวเลือกส่วนตัวของ MP3 muxer:

ffmpeg -i input.flac -id3v2_version 3 ออก.mp3

AVOptions ตัวแปลงสัญญาณทั้งหมดเป็นแบบต่อสตรีม ดังนั้นควรแนบตัวระบุสตรีมเข้ากับ
พวกเขา

หมายเหตุ: -nooption ไวยากรณ์ไม่สามารถใช้กับ AVOptions บูลีน, use ตัวเลือกที่ 0/ตัวเลือกที่ 1.

หมายเหตุ: วิธีการแบบเก่าที่ไม่มีเอกสารในการระบุ AVOptions ต่อสตรีมโดยการเติม v/a/s เป็น
ขณะนี้ชื่อตัวเลือกล้าสมัยและจะถูกลบออกในไม่ช้า

หลัก ตัวเลือก
-x ความกว้าง
บังคับแสดงความกว้าง

-y ความสูง
บังคับแสดงความสูง

-s ขนาด
กำหนดขนาดเฟรม (WxH หรือตัวย่อ) ที่จำเป็นสำหรับวิดีโอที่ไม่มีส่วนหัว
ด้วยขนาดเฟรมแบบ raw YUV ตัวเลือกนี้ถูกเลิกใช้เพื่อประโยชน์ส่วนตัว
ตัวเลือก ลอง -video_size

-fs เริ่มในโหมดเต็มหน้าจอ

โครงสร้าง ปิดการใช้งานเสียง

-vn ปิดการใช้งานวิดีโอ

-ส ปิดการใช้งานคำบรรยาย

-NS โพสต์
ค้นหา โพสต์. โปรดทราบว่าในรูปแบบส่วนใหญ่ ไม่สามารถค้นหาได้อย่างแม่นยำ ดังนั้น ffplay
จะแสวงหาจุดแสวงหาที่ใกล้ที่สุดเพื่อ โพสต์.

โพสต์ ต้องเป็นข้อกำหนดระยะเวลาดู เวลา ระยะเวลา ส่วน in
ffmpeg-ยูทิลิตี้(1) คู่มือ.

-t ระยะเวลา
เล่น ระยะเวลา วินาทีของเสียง/วิดีโอ

ระยะเวลา ต้องเป็นข้อกำหนดระยะเวลาดู เวลา ระยะเวลา ส่วน in
ffmpeg-ยูทิลิตี้(1) คู่มือ.

- ไบต์
ค้นหาโดยไบต์

-nodisp
ปิดการใช้งานการแสดงผลแบบกราฟิก

-f เอฟเอ็มที
รูปแบบบังคับ

-window_title ชื่อเรื่อง
ตั้งชื่อหน้าต่าง (ค่าเริ่มต้นคือชื่อไฟล์อินพุต)

- ลูป จำนวน
เล่นภาพยนตร์วนซ้ำ ครั้ง 0 หมายถึงตลอดไป

-โหมดโชว์ โหมด
ตั้งค่าโหมดการแสดงเพื่อใช้ ค่าที่ใช้ได้สำหรับ โหมด คือ:

0, วีดีโอ
แสดงวิดีโอ

1, คลื่น
แสดงคลื่นเสียง

2, rdft
แสดงย่านความถี่เสียงโดยใช้ RDFT ((ผกผัน) Real Discrete Fourier Transform)

ค่าเริ่มต้นคือ "วิดีโอ" หากวิดีโอไม่มีอยู่หรือไม่สามารถเล่นได้ "rdft" คือ
เลือกโดยอัตโนมัติ

คุณสามารถสลับไปมาระหว่างโหมดการแสดงที่มีให้โดยกดแป้น w.

-vf ตัวกรองกราฟ
สร้างกราฟตัวกรองที่ระบุโดย ตัวกรองกราฟ และใช้เพื่อกรองสตรีมวิดีโอ

ตัวกรองกราฟ เป็นคำอธิบายของ filtergraph เพื่อนำไปใช้กับสตรีมและต้องมี
อินพุตวิดีโอเดียวและเอาต์พุตวิดีโอเดียว ในกราฟตัวกรอง อินพุตคือ
เชื่อมโยงกับป้ายกำกับ "ใน" และเอาต์พุตไปยังป้ายกำกับ "ออก" ดู ffmpeg-
คู่มือตัวกรองสำหรับข้อมูลเพิ่มเติมเกี่ยวกับไวยากรณ์กราฟตัวกรอง

คุณสามารถระบุพารามิเตอร์นี้ได้หลายครั้งและวนไปตามที่ระบุ
ตัวกรองพร้อมกับโหมดการแสดงโดยกดปุ่ม w.

-อัฟ ตัวกรองกราฟ
ตัวกรองกราฟ เป็นคำอธิบายของกราฟตัวกรองเพื่อนำไปใช้กับเสียงอินพุต ใช้
ตัวเลือก "-filters" เพื่อแสดงตัวกรองที่มีอยู่ทั้งหมด (รวมถึงแหล่งที่มาและซิงก์)

-i อินพุต_ไฟล์
อ่าน อินพุต_ไฟล์.

ระดับสูง ตัวเลือก
-pix_fmt รูป
กำหนดรูปแบบพิกเซล ตัวเลือกนี้เลิกใช้แล้วสำหรับตัวเลือกส่วนตัว ลอง
-pixel_format

-สถิติ
พิมพ์สถิติการเล่นหลายรายการ โดยเฉพาะแสดงระยะเวลาการสตรีม ตัวแปลงสัญญาณ
พารามิเตอร์ ตำแหน่งปัจจุบันในสตรีมและการซิงโครไนซ์เสียง/วิดีโอ
ดริฟท์. มันเปิดอยู่โดยค่าเริ่มต้น หากต้องการปิดใช้งานอย่างชัดเจน คุณต้องระบุ "-nostats"

ได้อย่างรวดเร็ว
การเพิ่มประสิทธิภาพที่ไม่เป็นไปตามข้อกำหนด

-เกนต์
สร้างแต้ม

-ซิงค์ ชนิด
ตั้งค่านาฬิกาหลักเป็นเสียง ("type=audio"), video ("type=video") หรือ external
("ประเภท=ต่อ") ค่าเริ่มต้นคือเสียง นาฬิกาหลักใช้สำหรับควบคุมเสียงและวิดีโอ
การซิงโครไนซ์ เครื่องเล่นสื่อส่วนใหญ่ใช้เสียงเป็นนาฬิกาหลัก แต่ในบางกรณี
(สตรีมมิ่งหรือออกอากาศคุณภาพสูง) จำเป็นต้องเปลี่ยนสิ่งนั้น ตัวเลือกนี้คือ
ส่วนใหญ่ใช้เพื่อวัตถุประสงค์ในการดีบัก

-ast audio_stream_specifier
เลือกสตรีมเสียงที่ต้องการโดยใช้ตัวระบุสตรีมที่กำหนด กระแส
ตัวระบุมีอธิบายไว้ใน กระแส specifiers บท. ถ้าตัวเลือกนี้ไม่ใช่
ระบุสตรีมเสียง "ดีที่สุด" ถูกเลือกในโปรแกรมที่เลือกไว้แล้ว
สตรีมวิดีโอ

-เทียบกับ video_stream_specifier
เลือกสตรีมวิดีโอที่ต้องการโดยใช้ตัวระบุสตรีมที่กำหนด กระแส
ตัวระบุมีอธิบายไว้ใน กระแส specifiers บท. ถ้าตัวเลือกนี้ไม่ใช่
ระบุ เลือกสตรีมวิดีโอ "ดีที่สุด"

-sst subtitle_stream_specifier
เลือกสตรีมคำบรรยายที่ต้องการโดยใช้ตัวระบุสตรีมที่กำหนด กระแส
ตัวระบุมีอธิบายไว้ใน กระแส specifiers บท. ถ้าตัวเลือกนี้ไม่ใช่
ระบุสตรีมคำบรรยาย "ดีที่สุด" ถูกเลือกในโปรแกรมแล้ว
วิดีโอหรือสตรีมเสียงที่เลือก

-ออกอัตโนมัติ
ออกเมื่อเล่นวิดีโอเสร็จแล้ว

-exitonkeydown
ออกหากมีการกดปุ่มใด ๆ

-exitonmoused ลง
ออกหากมีการกดปุ่มเมาส์ใดๆ

-ตัวแปลงสัญญาณ:สื่อ_ระบุ ตัวแปลงสัญญาณ_ชื่อ
บังคับใช้ตัวถอดรหัสเฉพาะสำหรับสตรีมที่ระบุโดย สื่อ_ระบุ,
ซึ่งสามารถสมมติค่า "a" (เสียง), "v" (วิดีโอ) และคำบรรยาย "s"

-codec ตัวแปลงสัญญาณ_ชื่อ
บังคับตัวถอดรหัสเสียงเฉพาะ

-vcodec ตัวแปลงสัญญาณ_ชื่อ
บังคับตัวถอดรหัสวิดีโอเฉพาะ

-scodec ตัวแปลงสัญญาณ_ชื่อ
บังคับตัวถอดรหัสคำบรรยายเฉพาะ

-หมุนอัตโนมัติ
หมุนวิดีโอโดยอัตโนมัติตามข้อมูลเมตาของไฟล์ เปิดใช้งานโดยค่าเริ่มต้น ใช้
-ไม่หมุนอัตโนมัติ เพื่อปิดการใช้งาน

-เฟรมดร็อป
วางเฟรมวิดีโอหากวิดีโอไม่ซิงค์ เปิดใช้งานโดยค่าเริ่มต้นหากนาฬิกาหลักเป็น
ไม่ได้ตั้งค่าเป็นวิดีโอ ใช้ตัวเลือกนี้เพื่อเปิดใช้งานการวางเฟรมสำหรับนาฬิกาหลักทั้งหมด
แหล่งที่มา ใช้ -ไม่มีเฟรมดรอป เพื่อปิดการใช้งาน

-infbuf
ไม่จำกัดขนาดบัฟเฟอร์อินพุต อ่านข้อมูลให้มากที่สุดจากอินพุตเท่ากับ
โดยเร็วที่สุด เปิดใช้งานโดยค่าเริ่มต้นสำหรับสตรีมแบบเรียลไทม์ ที่ข้อมูลอาจหลุด
ถ้าอ่านไม่ทัน ใช้ตัวเลือกนี้เพื่อเปิดใช้งานบัฟเฟอร์ที่ไม่มีที่สิ้นสุดสำหรับอินพุตทั้งหมด ใช้
-noinfbuf เพื่อปิดการใช้งาน

ในขณะที่ เล่น
q, ESC
เลิก.

f สลับโหมดเต็มหน้าจอ

p, SPC
หยุด.

a วนช่องสัญญาณเสียงในโปรแกรมปัจจุบัน

v ช่องวิดีโอวงจร

t วนช่องคำบรรยายในโปรแกรมปัจจุบัน

c โปรแกรมวงจร

w วนรอบตัวกรองวิดีโอหรือโหมดการแสดง

s ก้าวไปสู่เฟรมถัดไป

หยุดชั่วคราวหากสตรีมไม่ได้หยุดชั่วคราว ก้าวไปยังเฟรมวิดีโอถัดไป และหยุดชั่วคราว

ซ้ายขวา
ย้อนกลับ/ไปข้างหน้า 10 วินาที

ลง/ขึ้น
ย้อนกลับ/ไปข้างหน้า 1 นาที

หน้า ลง/หน้า up
ค้นหาบทก่อนหน้า/ถัดไป หรือถ้าไม่มีบท Seek ถอยหลัง/ไปข้างหน้า
นาทีที่ 10

เม้าส์ คลิก
ค้นหาเปอร์เซ็นต์ในไฟล์ที่สอดคล้องกับเศษส่วนของความกว้าง

ซิงค์


ส่วนนี้จัดทำเอกสารเกี่ยวกับไวยากรณ์และรูปแบบที่ใช้โดยไลบรารีและเครื่องมือ FFmpeg

quoting และ การหลบหนี
FFmpeg ใช้กลไกการอ้างอิงและการหลบหนี เว้นแต่จะระบุไว้อย่างชัดเจน
ใช้กฎต่อไปนี้:

· ' และ \ เป็นอักขระพิเศษ (ใช้สำหรับการอ้างอิงและการหลบหนีตามลำดับ) ใน
นอกจากนั้น อาจมีอักขระพิเศษอื่น ๆ ขึ้นอยู่กับเฉพาะ
ไวยากรณ์ที่ใช้การหลบหนีและการอ้างอิง

· อักขระพิเศษหนีโดยนำหน้าด้วย \.

· อักขระทั้งหมดที่อยู่ระหว่าง '' รวมอยู่ในสตริงที่แยกวิเคราะห์อย่างแท้จริง NS
อ้างตัวอักษร ' ไม่สามารถเสนอราคาได้ ดังนั้นคุณอาจต้องปิดใบเสนอราคาและ
หนีมัน

· ช่องว่างนำหน้าและต่อท้าย ยกเว้นว่ามีการยกเว้นหรือยกมา จะถูกลบออกจาก
สตริงที่แยกวิเคราะห์

โปรดทราบว่าคุณอาจต้องเพิ่มการหลบหนีระดับที่สองเมื่อใช้บรรทัดคำสั่งหรือa
สคริปต์ซึ่งขึ้นอยู่กับไวยากรณ์ของภาษาเชลล์ที่นำมาใช้

ฟังก์ชัน "av_get_token" ที่กำหนดไว้ใน libavutil/avstring.h สามารถใช้ในการแยกวิเคราะห์โทเค็น
ยกมาหรือหลบหนีตามกฎที่กำหนดไว้ข้างต้น

เครื่องมือ เครื่องมือ/ffescape ในแผนผังต้นทาง FFmpeg สามารถใช้เพื่ออ้างอิงหรือ .โดยอัตโนมัติ
หนีสตริงในสคริปต์

ตัวอย่าง

· หลีกเลี่ยงสตริง "Crime d'Amour" ที่มีอักขระพิเศษ "'":

อาชญากรรม d\'Amour

· สตริงด้านบนมีเครื่องหมายคำพูด ดังนั้น จำเป็นต้องหลีกเลี่ยง "'" เมื่ออ้างอิง:

'อาชญากรรม'\''ความรัก'

· รวมช่องว่างนำหน้าหรือต่อท้ายโดยใช้คำพูด:

' สตริงนี้เริ่มต้นและสิ้นสุดด้วยช่องว่าง '

· การหลบหนีและการอ้างอิงสามารถผสมกันได้:

' สตริง '\ 'สตริง \'' คือสตริง '

· เพื่อรวมตัวอักษร \ คุณสามารถใช้การหลบหนีหรือการอ้างอิง:

'c:\foo' สามารถเขียนเป็น c:\\foo

วันที่
ไวยากรณ์ที่ยอมรับคือ:

[(ปปปป-ดด-วว|ปปปปดด)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z]
ตอนนี้

หากค่าเป็น "ตอนนี้" จะใช้เวลาปัจจุบัน

เวลาเป็นเวลาท้องถิ่น เว้นแต่จะมีการผนวก Z ไว้ ซึ่งในกรณีนี้จะตีความว่าเป็น UTC ถ้า
ส่วนปี-เดือน-วันไม่ได้ระบุให้ระบุปีเดือน-วันปัจจุบัน

เวลา ระยะเวลา
มีไวยากรณ์ที่ยอมรับได้สองแบบสำหรับการแสดงระยะเวลา

[-][ :] : [. ...]

HH แสดงจำนวนชั่วโมง, MM จำนวนนาทีสูงสุด 2 หลัก และ
SS จำนวนวินาทีสูงสุด 2 หลัก NS m ลงท้ายเป็นทศนิยม
คุ้มค่าสำหรับ SS.

or

[-] +[. ...]

S แสดงจำนวนวินาทีด้วยส่วนทศนิยมที่เป็นทางเลือก m.

ในทั้งสองนิพจน์ตัวเลือก - ระบุระยะเวลาติดลบ

ตัวอย่าง

ตัวอย่างต่อไปนี้คือช่วงเวลาที่ถูกต้องทั้งหมด:

55 วินาที 55

12:03:45
12 ชั่วโมง 03 นาที 45 วินาที

23.189
วินาที 23.189

วีดีโอ ขนาด
ระบุขนาดของวิดีโอต้นทางอาจเป็นสตริงของรูปแบบ ความกว้างxความสูงหรือ
ชื่อย่อขนาด

ตัวย่อต่อไปนี้เป็นที่รู้จัก:

NTSC
720x480

เพื่อน 720x576

qntsc
352x240

คิวปาล
352x288

sntsc
640x480

สปาล
768x576

ฟิล์ม
352x240

ntsc-ฟิล์ม
352x240

ตร.ว
128x96

คิวซีไอเอฟ
176x144

CIF 352x288

4ซิฟ
704x576

16ซิฟ
1408x1152

คิวคิววีก้า
160x120

คิววีก้า
320x240

VGA 640x480

เอสวีจีเอ
800x600

เอ็กซ์ก้า 1024x768

อุซก้า
1600x1200

คิวเอ็กซ์ก้า
2048x1536

เอสเอ็กซ์ก้า
1280x1024

qsxga
2560x2048

hsxga
5120x4096

ว้าว
852x480

วxga
1366x768

wsxga
1600x1024

วูซกา
1920x1200

วอกซ์กา
2560x1600

wqsxga
3200x2048

ว๊ากกก
3840x2400

ว้าว
6400x4096

หวือกา
7680x4800

ซีจีเอ 320x200

ega 640x350

hd480
852x480

hd720
1280x720

hd1080
1920x1080

2k 2048x1080

2k แฟลต
1998x1080

2kscope
2048x858

4k 4096x2160

4k แฟลต
3996x2160

4kscope
4096x1716

Nhd 640x360

สำนักงาน
240x160

wqvga
400x240

fwqvga
432x240

เอชวีก้า
480x320

qHD 960x540

2kdci
2048x1080

4kdci
4096x2160

uhd2160
3840x2160

uhd4320
7680x4320

วีดีโอ อัตรา
ระบุอัตราเฟรมของวิดีโอ ซึ่งแสดงเป็นจำนวนเฟรมที่สร้างต่อวินาที
ต้องเป็นสตริงในรูปแบบ frame_rate_num/frame_rate_den, จำนวนเต็ม, a
จำนวนลอยหรือตัวย่ออัตราเฟรมวิดีโอที่ถูกต้อง

ตัวย่อต่อไปนี้เป็นที่รู้จัก:

NTSC
30000/1001

เพื่อน 25/1

qntsc
30000/1001

คิวปาล
25/1

sntsc
30000/1001

สปาล
25/1

ฟิล์ม
24/1

ntsc-ฟิล์ม
24000/1001

อัตราส่วน
อัตราส่วนสามารถแสดงเป็นนิพจน์หรือในรูปแบบ เศษ:ตัวหาร.

โปรดทราบว่าอัตราส่วนที่มีอนันต์ (1/0) หรือค่าลบถือว่าใช้ได้ ดังนั้นคุณควร
ตรวจสอบมูลค่าที่ส่งคืนหากคุณต้องการยกเว้นค่าเหล่านั้น

ค่าที่ไม่ได้กำหนดสามารถแสดงได้โดยใช้สตริง "0:0"

สี
อาจเป็นชื่อสีตามที่กำหนดไว้ด้านล่าง (ตัวพิมพ์เล็กและตัวพิมพ์ตรงกัน) หรือ a
"[0x|#]RRGGBB[AA]" ลำดับ อาจตามด้วย @ และสตริงที่แทน alpha
ส่วนประกอบ

ส่วนประกอบอัลฟ่าอาจเป็นสตริงที่ประกอบด้วย "0x" ตามด้วยเลขฐานสิบหกหรือ
ตัวเลขทศนิยมระหว่าง 0.0 ถึง 1.0 ซึ่งแสดงถึงค่าความทึบ (0x00 or 0.0
หมายถึง โปร่งใสอย่างสมบูรณ์ 0xff or 1.0 ทึบแสงอย่างสมบูรณ์) หากองค์ประกอบอัลฟ่าคือ
ไม่ได้ระบุไว้แล้ว 0xff สันนิษฐาน

สตริง สุ่ม จะส่งผลให้สีสุ่ม

รู้จักชื่อสีต่อไปนี้:

AliceBlue
0xF0F8FF

AntiqueWhite
0xFAEBD7

น้ำ
0x00FFFF

พลอยสีฟ้า
0x7FFFD4

สีฟ้า
0xF0FFFF

ผ้าขนสัตว์สีธรรมชาติ
0xF5F5DC

เครื่องถ้วยชาม
0xFFE4C4

Black
0x000000

BlanchedAlmond
0xFFEBCD

สีน้ำเงิน
0x0000FF

บลูไวโอเล็ต
0x8A2BE2

Brown
0xA52A2A

เบอร์ลี่วูด
0xDEB887

CadetBlue
0x5F9EA0

เหล้าชนิดหนึ่ง
0x7FFF00

ช็อคโกแลต
0xD2691E

ปะการัง
0xFF7F50

CornflowerBlue
0x6495ED

คอร์นซิลค์
0xFFF8DC

แดงเข้ม
0xDC143C

Cyan
0x00FFFF

น้ำเงิน
0x00008B

DarkCyan
0x008B8B

DarkGoldenRod
0xB8860B

DarkGray
0xA9A9A9

เขียวเข้ม
0x006400

DarkKhaki
0xBDB76B

DarkMagenta
0x8B008B

DarkOliveGreen
0x556B2F

สีส้มเข้ม
0xFF8C00

DarkOrchid
0x9932ซีซี

ดำแดง
0x8B0000

DarkSalmon
0xE9967A

DarkSeaGreen
0x8FBC8F

DarkSlateBlue
0x483D8B

DarkSlateGray
0x2F4F4F

DarkTurquoise
0x00CED1

DarkViolet
0x9400D3

DeepPink
0xFF1493

DeepSkyBlue
0x00BFFF

DimGray
0x696969

DodgerBlue
0x1E90FF

ไฟร์บริค
0xB22222

FloralWhite
0xFFFFF0

ForestGreen
0x228B22

สีแดงม่วง
0xFF00FF

Gainsboro
0xDCDCDCDC

GhostWhite
0xF8F8FF

ทองคำ
0xFFD700

โกลเด้นร็อด
0xDAA520

สีเทา
0x808080

สีเขียว
0x008000

GreenYellow
0xADFF2F

ฮันนี่ดิว
0xF0FFF0

hotpink
0xFF69B4

IndianRed
0xCD5C5C

คราม
0x4B0082

งาช้าง
0xFFFFFF0

สีกากี
0xF0E68C

ช่อลาเวนเดอร์
0xE6E6FA

LavenderBlush
0xFFF0F5

LawnGreen
0x7CFC00

LemonChiffon
0xFFFACD

ฟ้าอ่อน
0xADD8E6

LightCoral
0xF08080

LightCyan
0xE0FFFF

แสงโกลเด้นแท่งสีเหลือง
0xFAFAD2

สีเขียวอ่อน
0x90EE90

แสงสีเทา
0xD3D3D3

ชมพูอ่อน
0xFFB6C1

LightSalmon
0xFFA07A

LightSeaGreen
0x20B2AA

LightSkyBlue
0x87CEFA

LightSlateGray
0x778899

LightSteelBlue
0xB0C4DE

แสงสีเหลือง
0xFFFFFE0

มะนาว
0x00FF00

LimeGreen
0x32CD32

ผ้าลินิน
0xFAF0E6

สีม่วงแดงเข้ม
0xFF00FF

สีน้ำตาลแดง
0x800000

ปานกลาง
0x66CDAA

MediumBlue
0x0000ซีดี

MediumOrchid
0xBA55D3

MediumPurple
0x9370D8

MediumSeaGreen
0x3CB371

MediumSlateBlue
0x7B68EE

กลางฤดูใบไม้ผลิสีเขียว
0x00FA9A

MediumTurquoise
0x48D1CC

MediumVioletRed
0xC71585

MidnightBlue
0x191970

MintCream
0xF5FFFA

MistyRose
0xFFE4E1

แตะ
0xFFE4B5

NavajoWhite
0xFFตาย

กองทัพเรือ
0x000080

OldLace
0xFDF5E6

มะกอก
0x808000

OliveDrab
0x6B8E23

ส้ม
0xFFA500

OrangeRed
0xFF4500

กล้วยไม้
0xDA70D6

PaleGoldenRod
0xEEE8AA

สีเขียวอ่อน
0x98FB98

PaleTurquoise
0xAFEEEE

PaleVioletRed
0xD87093

มะละกอ
0xFFFEFD5

PeachPuff
0xFFDAB9

เปรู
0xCD853F

สีชมพู
0xFFC0CB

พลัม
0xDDA0DD

PowderBlue
0xB0E0E6

สีม่วง
0x800080

สีแดง 0xFF0000

RosyBrown
0xBC8F8F

RoyalBlue
0x4169E1

Saddlebrown
0x8B4513

ปลาแซลมอน
0xFA8072

Sandybrown
0xF4A460

ทะเลเขียว
0x2E8B57

เปลือกหอย
0xFFF5EE

สีน้ำตาล
0xA0522D

เงิน
0xC0C0C0

ท้องฟ้าสีคราม
0x87CEEB

SlateBlue
0x6A5ACD

SlateGray
0x708090

หิมะ
0xFFFAFA

สปริงกรีน
0x00FF7F

SteelBlue
0x4682B4

สีน้ำตาล 0xD2B48C

นกเป็ดน้ำ
0x008080

Thistle
0xD8BFD8

มะเขือเทศ
0xFF6347

มีสีเขียวขุ่น
0x40E0D0

สีม่วง
0xEE82EE

ข้าวสาลี
0xF5DEB3

ขาว
0xFFFFFF

WhiteSmoke
0xF5F5F5

สีเหลือง
0xFFFF00

เหลืองเขียว
0x9ACD32

ช่อง แบบ
เลย์เอาต์ช่องสัญญาณระบุการจัดการเชิงพื้นที่ของช่องสัญญาณในแบบหลายช่องสัญญาณ
สตรีมเสียง ในการระบุเลย์เอาต์ของช่อง FFmpeg จะใช้ไวยากรณ์พิเศษ

แต่ละแชนเนลจะถูกระบุโดย id ตามที่กำหนดโดยตารางด้านล่าง:

FL ด้านหน้าข้างซ้าย

FR ด้านหน้าขวา

FC ศูนย์หน้า

แอล.เอฟ.อี ความถี่ต่ำ

BL กลับซ้าย

BR กลับไปทางขวา

FLC ด้านหน้าซ้ายของศูนย์

FRC ด้านหน้าขวาของศูนย์

BC ศูนย์หลัง

SL ด้านซ้าย

SR ข้างขวา

TC ท็อปเซ็นเตอร์

TFL ด้านบนซ้าย

TFC ศูนย์หน้าด้านบน

ทีเอฟอาร์ ด้านหน้าขวา

TBL ด้านบน ด้านหลัง ซ้าย

TBC ท็อปแบ็คเซ็นเตอร์

ทีบีอาร์ บนหลังขวา

DL ดาวน์มิกซ์ซ้าย

DR ดาวน์มิกซ์ขวา

WL ซ้ายกว้าง

WR กว้างขวา

เอสดีแอล ล้อมรอบ ตรง ซ้าย

SDR ล้อมรอบ ตรง ขวา

แอลเอฟอี2
ความถี่ต่ำ2

องค์ประกอบของเค้าโครงช่องมาตรฐานสามารถระบุได้โดยใช้ตัวระบุต่อไปนี้:

โมโน
FC

สเตอริโอ
ฟลอริด้า+ฝรั่งเศส

2.1 FL+FR+LFE

3.0 FL+FR+เอฟซี

3.0(ย้อนกลับ)
ฟลอริด้า+FR+BC

4.0 FL+FR+เอฟซี+BC

รูปสี่เหลี่ยม
ชั้น+FR+BL+BR

รูปสี่เหลี่ยม (ด้านข้าง)
FL+FR+SL+SR

3.1 FL+FR+เอฟซี+LFE

5.0 ชั้น+FR+เอฟซี+BL+BR

5.0(ด้าน)
FL+FR+เอฟซี+SL+SR

4.1 FL+FR+เอฟซี+LFE+BC

5.1 FL+FR+FC+LFE+BL+BR

5.1(ด้าน)
FL+FR+เอฟซี+LFE+SL+SR

6.0 FL+FR+เอฟซี+BC+SL+SR

6.0 (ด้านหน้า)
FL+FR+FLC+FRC+SL+SR

หกเหลี่ยม
FL+FR+เอฟซี+BL+BR+BC

6.1 FL+FR+FC+LFE+BC+SL+SR

6.1 FL+FR+FC+LFE+BL+BR+BC

6.1 (ด้านหน้า)
FL+FR+LFE+FLC+FRC+SL+SR

7.0 FL+FR+เอฟซี+BL+BR+SL+SR

7.0 (ด้านหน้า)
FL+FR+เอฟซี+FLC+FRC+SL+SR

7.1 FL+FR+เอฟซี+LFE+BL+BR+SL+SR

7.1(กว้าง)
FL+FR+FC+LFE+BL+BR+FLC+FRC

7.1 (ด้านกว้าง)
FL+FR+FC+LFE+FLC+FRC+SL+SR

ซึ่งมีแปดมุม
FL+FR+เอฟซี+BL+BR+BC+SL+SR

ดาวน์มิกซ์
ดีแอล+ดีอาร์

เค้าโครงช่องที่กำหนดเองสามารถระบุเป็นลำดับของคำ โดยคั่นด้วย '+' หรือ '|'
แต่ละเทอมสามารถเป็น:

· ชื่อของรูปแบบช่องมาตรฐาน (เช่น โมโน, สเตอริโอ, 4.0, รูปสี่เหลี่ยม, 5.0ฯลฯ )

· ชื่อช่องเดียว (เช่น FL, FR, FC, แอล.เอฟ.อีฯลฯ )

· จำนวนช่องสัญญาณในรูปแบบทศนิยม ตามด้วย 'c' หรือไม่ก็ได้ ให้ค่าดีฟอลต์
เค้าโครงช่องสำหรับจำนวนช่องนั้น (ดูฟังก์ชัน
"av_get_default_channel_layout")

· รูปแบบช่องสัญญาณในรูปแบบเลขฐานสิบหกที่ขึ้นต้นด้วย "0x" (ดูมาโคร "AV_CH_*" ใน
libavutil/channel_layout.h.

เริ่มจาก libavutil เวอร์ชัน 53 อักขระต่อท้าย "c" เพื่อระบุจำนวน
ช่องจะต้องระบุในขณะที่รูปแบบช่องยังสามารถระบุเป็น
เลขทศนิยม (ถ้าไม่ตามด้วย "c")

ดูเพิ่มเติมที่ฟังก์ชัน "av_get_channel_layout" ที่กำหนดไว้ใน libavutil/channel_layout.h.

การแสดงออก การประเมินผล


เมื่อประเมินนิพจน์เลขคณิต FFmpeg จะใช้ตัวประเมินสูตรภายใน
ดำเนินการผ่าน libavutil/eval.h อินเตอร์เฟซ.

นิพจน์อาจมียูนารี ตัวดำเนินการไบนารี ค่าคงที่ และฟังก์ชัน

สองนิพจน์ หมดอายุ1 และ หมดอายุ2 สามารถนำมารวมกันเป็นนิพจน์อื่นได้ "หมดอายุ1;หมดอายุ2".
หมดอายุ1 และ หมดอายุ2 จะได้รับการประเมินในทางกลับกัน และนิพจน์ใหม่จะประเมินเป็นค่าของ
หมดอายุ2.

มีตัวดำเนินการไบนารีต่อไปนี้: "+", "-", "*", "/", "^"

มีโอเปอเรเตอร์ unary ต่อไปนี้: "+", "-"

มีฟังก์ชั่นต่อไปนี้:

เอบีเอส (x)
คำนวณค่าสัมบูรณ์ของ x.

เอคอส(x)
คำนวณอาร์คโคไซน์ของ x.

อาซิน(x)
คำนวณอาร์กไซน์ของ x.

เอตัน(x)
คำนวณอาร์กแทนเจนต์ของ x.

ระหว่าง(x, นาที สูงสุด)
ส่งคืน 1 if x มากกว่าหรือเท่ากับ นาที และน้อยกว่าหรือเท่ากับ แม็กซ์, 0
มิฉะนั้น.

บิตและ(x, y)
บิตเตอร์(x, y)
คำนวณระดับบิตและ/หรือการทำงานบน x และ y.

ผลการประเมินของ x และ y จะถูกแปลงเป็นจำนวนเต็มก่อนดำเนินการ
การดำเนินการระดับบิต

โปรดทราบว่าทั้งการแปลงเป็นจำนวนเต็มและการแปลงกลับเป็นทศนิยมสามารถ
สูญเสียความแม่นยำ ระวังผลลัพธ์ที่ไม่คาดคิดสำหรับตัวเลขจำนวนมาก (โดยปกติคือ 2^53 และ
ใหญ่กว่า)

เพดาน (expr)
ปัดเศษค่าของนิพจน์ ด่วน ขึ้นไปเป็นจำนวนเต็มที่ใกล้ที่สุด ตัวอย่างเช่น,
"เพดาน(1.5)" คือ "2.0"

คลิป(x, นาที สูงสุด)
ส่งคืนค่าของ x ตัดระหว่าง นาที และ แม็กซ์.

cos (x)
คำนวณโคไซน์ของ x.

โคช(x)
คำนวณไฮเปอร์โบลิกโคไซน์ของ x.

เท่ากับ(x, y)
ส่งคืน 1 if x และ y มีค่าเท่ากัน มิฉะนั้น 0

ประสบการณ์(x)
คำนวณเลขชี้กำลังของ x (มีฐาน "e" คือเลขออยเลอร์)

ชั้น (expr)
ปัดเศษค่าของนิพจน์ ด่วน ลงเป็นจำนวนเต็มที่ใกล้ที่สุด ตัวอย่างเช่น,
"floor(-1.5)" คือ "-2.0"

เกาส์(x)
ฟังก์ชันคำนวณเกาส์ของ xสอดคล้องกับ "exp(-x*x/2) / sqrt(2*PI)"

จีซีดี(x, y)
ส่งกลับตัวหารร่วมมากของ x และ y. ถ้าทั้งสองอย่าง x และ y เป็น 0 หรืออย่างใดอย่างหนึ่งหรือทั้งสองอย่าง
มีค่าน้อยกว่าศูนย์ แสดงว่าพฤติกรรมไม่ได้กำหนดไว้

GT(x, y)
ส่งคืน 1 if x มีค่ามากกว่า y, 0 มิฉะนั้น

จีทีอี(x, y)
ส่งคืน 1 if x มากกว่าหรือเท่ากับ y, 0 มิฉะนั้น

จุด (x, y)
ฟังก์ชันนี้คล้ายกับฟังก์ชัน C ที่มีชื่อเดียวกัน มันส่งคืน "sqrt(x*x +
y*y)" ความยาวของด้านตรงข้ามมุมฉากของสามเหลี่ยมมุมฉากที่มีด้านยาว x และ y,
หรือระยะห่างของจุด (x, y) จากแหล่งกำเนิด

ถ้า(x, y)
ประเมินค่า xและถ้าผลลัพธ์ไม่เป็นศูนย์ให้ส่งคืนผลลัพธ์การประเมินของ y,
คืนค่า 0 มิฉะนั้น

ถ้า(x, y, z)
ประเมินค่า xและถ้าผลลัพธ์ไม่เป็นศูนย์ให้ส่งคืนผลการประเมินของ yมิฉะนั้น
ผลการประเมินของ z.

ถ้าไม่ใช่(x, y)
ประเมินค่า xและถ้าผลลัพธ์เป็นศูนย์ส่งคืนผลลัพธ์การประเมินของ y, กลับ
0 อย่างอื่น

ถ้าไม่ใช่(x, y, z)
ประเมินค่า xและถ้าผลลัพธ์เป็นศูนย์ให้ส่งคืนผลการประเมินของ yมิฉะนั้น
ผลการประเมินของ z.

ไอซินฟ์(x)
ส่งคืน 1.0 if x คือ +/-อนันต์ มิฉะนั้น 0.0

อิสนัน(x)
ส่งคืน 1.0 if x คือ NAN มิฉะนั้น 0.0

ld(วาร์)
โหลดค่าของตัวแปรภายในด้วย number คือที่เคยเก็บไว้
ด้วย st(คือ, ด่วน). ฟังก์ชันส่งคืนค่าที่โหลด

เข้าสู่ระบบ (x)
คำนวณลอการิทึมธรรมชาติของ x.

นิดหน่อย(x, y)
ส่งคืน 1 if x น้อยกว่า y, 0 มิฉะนั้น

แอลที(x, y)
ส่งคืน 1 if x น้อยกว่าหรือเท่ากับ y, 0 มิฉะนั้น

สูงสุด (x, y)
ส่งกลับค่าสูงสุดระหว่าง x และ y.

นาที(x, y)
ส่งกลับค่าสูงสุดระหว่าง x และ y.

สมัย (x, y)
คำนวณเศษส่วนของ x by y.

ไม่ (expr)
ส่งคืน 1.0 if ด่วน เป็นศูนย์ มิฉะนั้น 0.0

แป้ง(x, y)
คำนวณพลังของ x สูง yเทียบเท่ากับ "(x-y). "

พิมพ์ (t)
พิมพ์ (t, l)
พิมพ์ค่าของนิพจน์ t ด้วย loglevel l. ถ้า l ไม่ได้ระบุไว้แล้วเป็นค่าเริ่มต้น
ใช้ระดับล็อก ส่งกลับค่าของนิพจน์ที่พิมพ์

พิมพ์ t ด้วย loglevel l

สุ่ม(x)
ส่งคืนค่าสุ่มหลอกระหว่าง 0.0 ถึง 1.0 x เป็นดัชนีภายใน
ตัวแปรที่จะใช้บันทึกเมล็ดพันธุ์/สถานะ

รูท (expr, สูงสุด)
ค้นหาค่าอินพุตที่ฟังก์ชันแสดงโดย ด่วน กับการโต้เถียง ld(0) is
0 ในช่วง 0..แม็กซ์.

นิพจน์ใน ด่วน ต้องแสดงถึงฟังก์ชันต่อเนื่องหรือผลลัพธ์ไม่ได้กำหนดไว้

ld(0) ใช้แทนค่าอินพุตของฟังก์ชัน ซึ่งหมายความว่า
นิพจน์จะถูกประเมินหลายครั้งด้วยค่าอินพุตต่างๆ ที่
การแสดงออกสามารถเข้าถึงผ่าน ld(0). เมื่อนิพจน์ประเมินเป็น 0 แล้ว
ค่าอินพุตที่สอดคล้องกันจะถูกส่งกลับ

บาป (x)
คำนวณไซน์ของ x.

เกิด(x)
คำนวณไฮเปอร์โบลิกไซน์ของ x.

sqrt(หมดอายุ)
คำนวณรากที่สองของ ด่วน. นี่เทียบเท่ากับ "(ด่วน)^.5".

สกุชชี่(x)
คำนวณนิพจน์ "1/(1 + exp(4*x))"

เซนต์(วาร์, ประสบการณ์)
เก็บค่าของนิพจน์ ด่วน ในตัวแปรภายใน คือ ระบุไฟล์
จำนวนของตัวแปรที่จะเก็บค่า และเป็นค่าตั้งแต่ 0 ถึง
9. ฟังก์ชันส่งคืนค่าที่เก็บไว้ในตัวแปรภายใน หมายเหตุ ตัวแปร
ไม่มีการแชร์ระหว่างนิพจน์ในขณะนี้

สีน้ำตาล (x)
คำนวณแทนเจนต์ของ x.

แทน(x)
คำนวณไฮเปอร์โบลิกแทนเจนต์ของ x.

เทย์เลอร์ (expr, x)
เทย์เลอร์ (expr, x, NS)
ประเมินซีรี่ส์เทย์เลอร์ที่ xให้นิพจน์แทน "ld(id)"-th
อนุพันธ์ของฟังก์ชันที่ 0

เมื่ออนุกรมไม่บรรจบกัน ผลลัพธ์จะไม่ถูกกำหนด

ฉัน(id) ใช้แทนลำดับอนุพันธ์ใน ด่วนซึ่งหมายความว่า การให้
นิพจน์จะถูกประเมินหลายครั้งด้วยค่าอินพุตต่างๆ ที่
นิพจน์สามารถเข้าถึงได้ผ่าน "ld(id)" ถ้า id ไม่ได้ระบุไว้ จากนั้นจะถือว่า 0

หมายเหตุ เมื่อคุณมีอนุพันธ์ที่ y แทนที่จะเป็น 0, "taylor(expr, xy)" จะเป็น
มือสอง

เวลา(0)
ส่งกลับเวลาปัจจุบัน (นาฬิกาแขวน) ในหน่วยวินาที

ท้าย (expr)
ปัดเศษค่าของนิพจน์ ด่วน ไปทางศูนย์เป็นจำนวนเต็มที่ใกล้เคียงที่สุด ตัวอย่างเช่น,
"trunc(-1.5)" คือ "-1.0"

ในขณะที่(cond, ประสบการณ์)
ประเมินนิพจน์ ด่วน ในขณะที่การแสดงออก เงื่อนไข ไม่เป็นศูนย์และส่งกลับค่า
ของสุดท้าย ด่วน การประเมิน หรือ NAN if เงื่อนไข เป็นเท็จเสมอ

ค่าคงที่ต่อไปนี้สามารถใช้ได้:

PI พื้นที่ของดิสก์ยูนิต ประมาณ 3.14

E ประสบการณ์(1) (หมายเลขออยเลอร์) ประมาณ 2.718

พี อัตราส่วนทองคำ (1+ตร.ว(5))/2 ประมาณ 1.618

สมมติว่านิพจน์ถือว่าเป็น "จริง" หากมีค่าที่ไม่ใช่ศูนย์ โปรดทราบว่า:

"*" ทำงานเหมือน AND

"+" ทำงานเหมือนOR

ตัวอย่างเช่น โครงสร้าง:

ถ้า (A และ B) แล้ว C

เทียบเท่ากับ:

ถ้า(A*B,C)

ในโค้ด C คุณสามารถขยายรายการฟังก์ชันยูนารีและไบนารี และdefine
ค่าคงที่ที่รู้จัก เพื่อให้พร้อมใช้งานสำหรับนิพจน์ของคุณ

ผู้ประเมินยังรู้จักคำนำหน้าหน่วยระบบระหว่างประเทศ ถ้า 'i' ถูกต่อท้าย
หลังคำนำหน้าจะใช้คำนำหน้าไบนารีซึ่งอิงตามกำลัง 1024 แทน
พลังของ 1000 postfix 'B' คูณค่าด้วย 8 และสามารถต่อท้ายหลังจาก a
คำนำหน้าหน่วยหรือใช้คนเดียว ซึ่งช่วยให้สามารถใช้ตัวอย่างเช่น 'KB', 'MiB', 'G' และ 'B' as
แก้ไขตัวเลข

รายการคำนำหน้าระบบระหว่างประเทศที่มีอยู่ดังต่อไปนี้ โดยมีการระบุ
กำลังที่สอดคล้องกันของ 10 และ 2

y 10^-24 / 2^-80

z 10^-21 / 2^-70

a 10^-18 / 2^-60

f 10^-15 / 2^-50

p 10^-12 / 2^-40

n 10^-9 / 2^-30

u 10^-6 / 2^-20

m 10^-3 / 2^-10

c 10^-2

d 10^-1

h 10 2 ^

k 10^3 / 2^10

K 10^3 / 2^10

M 10^6 / 2^20

G 10^9 / 2^30

T 10^12 / 2^40

P 10^15 / 2^40

E 10^18 / 2^50

Z 10^21 / 2^60

Y 10^24 / 2^70

โอเพนซีแอล OPTIONS


เมื่อกำหนดค่า FFmpeg ด้วย "--enable-opencl" เป็นไปได้ที่จะตั้งค่าตัวเลือกสำหรับ
บริบทของ OpenCL ทั่วโลก

รายการตัวเลือกที่รองรับดังต่อไปนี้:

build_options
ตั้งค่าตัวเลือกบิลด์ที่ใช้ในการคอมไพล์เคอร์เนลที่ลงทะเบียน

ดูการอ้างอิง "เวอร์ชันข้อกำหนด OpenCL: 1.2 บทที่ 5.6.4"

platform_idx
เลือกดัชนีของแพลตฟอร์มเพื่อเรียกใช้โค้ด OpenCL

ดัชนีที่ระบุจะต้องเป็นหนึ่งในดัชนีในรายการอุปกรณ์ที่สามารถ
ได้รับด้วย "ffmpeg -opencl_bench" หรือ "av_opencl_get_device_list()"

อุปกรณ์_idx
เลือกดัชนีของอุปกรณ์ที่ใช้เรียกใช้โค้ด OpenCL

ดัชนีที่ระบุจะต้องเป็นหนึ่งในดัชนีในรายการอุปกรณ์ที่สามารถ
ได้รับด้วย "ffmpeg -opencl_bench" หรือ "av_opencl_get_device_list()"

CODEC OPTIONS


libavcodec มีตัวเลือกส่วนกลางทั่วไปบางอย่าง ซึ่งสามารถตั้งค่าได้บนตัวเข้ารหัสทั้งหมดและ
ตัวถอดรหัส นอกจากนี้ แต่ละตัวแปลงสัญญาณอาจสนับสนุนตัวเลือกส่วนตัวที่เรียกว่า ซึ่งมีความเฉพาะเจาะจง
สำหรับตัวแปลงสัญญาณที่กำหนด

บางครั้ง ตัวเลือกร่วมอาจส่งผลต่อตัวแปลงสัญญาณบางประเภทเท่านั้น และอาจ
ไร้สาระหรือถูกละเลยโดยบุคคลอื่น ดังนั้นคุณต้องตระหนักถึงความหมายของคำที่ระบุ
ตัวเลือก. นอกจากนี้ บางตัวเลือกมีไว้เพื่อการถอดรหัสหรือเข้ารหัสเท่านั้น

สามารถกำหนดตัวเลือกได้โดยระบุ -ตัวเลือก ความคุ้มค่า ในเครื่องมือ FFmpeg หรือโดยการตั้งค่า
ค่าอย่างชัดเจนในตัวเลือก "AVCodecContext" หรือใช้ libavutil/opt.h API สำหรับ
การใช้งานแบบเป็นโปรแกรม

รายการตัวเลือกที่รองรับมีดังนี้:

b จำนวนเต็ม (การเข้ารหัส, เสียง, วิดีโอ)
ตั้งค่าบิตเรตเป็นบิต/วินาที ค่าเริ่มต้นคือ 200K

ab จำนวนเต็ม (การเข้ารหัสเสียง)
ตั้งค่าบิตเรตเสียง (เป็นบิต/วินาที) ค่าเริ่มต้นคือ 128K

bt จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าความทนทานต่อบิตเรตของวิดีโอ (เป็นบิต/วินาที) ในโหมด 1-pass กำหนดความคลาดเคลื่อนบิตเรต
อัตราการควบคุมอัตราเต็มใจที่จะเบี่ยงเบนไปจากค่าบิตเรตเฉลี่ยเป้าหมายเท่าใด นี้
ไม่เกี่ยวข้องกับบิตเรตต่ำสุด/สูงสุด การลดความอดทนมากเกินไปมีผลเสีย
เกี่ยวกับคุณภาพ

ธง ธง (ถอดรหัส/เข้ารหัส,เสียง,วิดีโอ,คำบรรยาย)
ตั้งค่าสถานะทั่วไป

ค่าที่เป็นไปได้:

mv4 ใช้เวกเตอร์การเคลื่อนไหวสี่ตัวโดย macroblock (mpeg4)

คิวเพล
ใช้การชดเชยการเคลื่อนที่ 1/4 pel

ห่วง
ใช้ตัวกรองแบบวนซ้ำ

คิวสเกล
ใช้ qscale คงที่

GMC ใช้จีเอ็มซี

mv0 ลองใช้ mb ด้วย mv=<0,0> เสมอ

input_preserved
pass1
ใช้การควบคุมอัตรา 2pass ภายในในโหมดการส่งผ่านครั้งแรก

pass2
ใช้การควบคุมอัตรา 2pass ภายในในโหมดการผ่านที่สอง

สีเทา
ถอดรหัส/เข้ารหัสระดับสีเทาเท่านั้น

นกอีมู_เอดจ์
อย่าวาดขอบ

psnr
ตั้งค่าตัวแปร error[?] ระหว่างการเข้ารหัส

ตัดทอน
Naq ปรับควอนไทเซชันแบบปรับตัวให้เป็นปกติ

Ildct
ใช้ DCT แบบอินเทอร์เลซ

ต่ำ_delay
บังคับดีเลย์ต่ำ

global_header
วางส่วนหัวส่วนกลางในข้อมูลพิเศษแทนทุกคีย์เฟรม

ไบเทค
เขียนเฉพาะข้อมูลที่ไม่ขึ้นกับแพลตฟอร์ม บิลด์ และเวลา (ยกเว้น (I)DCT) นี้
ตรวจสอบให้แน่ใจว่าเช็คซัมไฟล์และข้อมูลสามารถทำซ้ำได้และตรงกันระหว่างแพลตฟอร์ม
การใช้งานหลักคือการทดสอบการถดถอย

AIC ใช้การเข้ารหัสภายในขั้นสูง H263 / mpeg4 ac การทำนาย

CBP เลิกใช้แล้ว ใช้ตัวเลือกส่วนตัวของ mpegvideo แทน

คิวพีอาร์ดี
เลิกใช้แล้ว ใช้ตัวเลือกส่วนตัวของ mpegvideo แทน

ห่วง
ใช้การประเมินการเคลื่อนไหวแบบอินเทอร์เลซ

กกต
ใช้ gop แบบปิด

ฉัน_วิธี จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าวิธีการประมาณการเคลื่อนที่

ค่าที่เป็นไปได้:

เป็นศูนย์
การประมาณค่าการเคลื่อนไหวเป็นศูนย์ (เร็วที่สุด)

เต็ม
การประมาณการเคลื่อนไหวแบบเต็ม (ช้าที่สุด)

epz
การประมาณการการเคลื่อนไหว EPZS (ค่าเริ่มต้น)

อีเอสเอ การประเมินการเคลื่อนไหว esa (นามแฝงสำหรับเต็ม)

TESA
การประเมินการเคลื่อนไหวของ tesa

วัน การประมาณการเคลื่อนที่ของ dia (นามแฝงสำหรับ epzs)

เข้าสู่ระบบ บันทึกการประมาณการเคลื่อนไหว

ฝัก
phods การประเมินการเคลื่อนไหว

x1 การประเมินการเคลื่อนไหว X1

ฐานสิบหก การประมาณค่าการเคลื่อนไหวฐานสิบหก

อืม อืม การประมาณการเคลื่อนไหว

เราเตอร์
ประมาณการการเคลื่อนไหวของ iter

ข้อมูลพิเศษ_ขนาด จำนวนเต็ม
กำหนดขนาดข้อมูลพิเศษ

เวลา_ฐาน มีเหตุผล จำนวน
ตั้งค่าฐานเวลาของตัวแปลงสัญญาณ

เป็นหน่วยพื้นฐานของเวลา (เป็นวินาที) ในแง่ของการประทับเวลาของเฟรม
เป็นตัวแทน สำหรับเนื้อหาที่มีเฟรมต่อวินาทีคงที่ ฐานเวลาควรเป็น "1 / frame_rate" และ timestamp
การเพิ่มขึ้นควรเหมือนกัน 1

g จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดขนาดกลุ่มของภาพ ค่าเริ่มต้นคือ 12

ar จำนวนเต็ม (ถอดรหัส/เข้ารหัส,เสียง)
ตั้งค่าอัตราการสุ่มตัวอย่างเสียง (เป็น Hz)

ac จำนวนเต็ม (ถอดรหัส/เข้ารหัส,เสียง)
กำหนดจำนวนช่องสัญญาณเสียง

ตัด จำนวนเต็ม (การเข้ารหัสเสียง)
ตั้งค่าแบนด์วิดท์ตัด

frame_size จำนวนเต็ม (การเข้ารหัสเสียง)
กำหนดขนาดเฟรมเสียง

แต่ละเฟรมที่ส่งยกเว้นเฟรมสุดท้ายต้องมีตัวอย่าง frame_size ต่อ
ช่อง. อาจเป็น 0 เมื่อตัวแปลงสัญญาณมีชุด CODEC_CAP_VARIABLE_FRAME_SIZE ในกรณีนั้น
ไม่จำกัดขนาดเฟรม มันถูกตั้งค่าโดยตัวถอดรหัสบางตัวเพื่อระบุค่าคงที่
ขนาดเฟรม

frame_number จำนวนเต็ม
กำหนดหมายเลขเฟรม

ความล่าช้า จำนวนเต็ม
คิวคอม ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่าการบีบอัดสเกลวิดีโอควอนไทเซอร์ (VBR) ใช้เป็นค่าคงที่ใน
สมการควบคุมอัตรา ช่วงที่แนะนำสำหรับ rc_eq เริ่มต้น: 0.0-1.0

คิวเบลอ ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่าการเบลอมาตราส่วนวิดีโอควอนไทเซอร์ (VBR)

คิวมิน จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าสเกลวิดีโอควอนไทเซอร์ขั้นต่ำ (VBR) ต้องอยู่ระหว่าง -1 ถึง 69 ค่าเริ่มต้น
คือ 2

คิวแม็กซ์ จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าขนาดสูงสุดของวิดีโอควอนไทเซอร์ (VBR) ต้องอยู่ระหว่าง -1 ถึง 1024 โดยค่าเริ่มต้น
ค่าคือ 31

qdiff จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าความแตกต่างสูงสุดระหว่างสเกลควอนไทเซอร์ (VBR)

bf จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดจำนวนเฟรม B สูงสุดระหว่างเฟรมที่ไม่ใช่ B

ต้องเป็นจำนวนเต็มระหว่าง -1 ถึง 16 หมายความว่าเฟรม B ถูกปิดใช้งาน หากมีค่า
-1 ถูกใช้ มันจะเลือกค่าอัตโนมัติขึ้นอยู่กับตัวเข้ารหัส

ค่าเริ่มต้นคือ 0

b_qfactor ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่าปัจจัย qp ระหว่างเฟรม P และ B

rc_strategy จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดวิธีการควบคุมอัตรา

b_กลยุทธ์ จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดกลยุทธ์เพื่อเลือกระหว่างเฟรม I/P/B

ps จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าขนาดเพย์โหลด RTP เป็นไบต์

mv_bits จำนวนเต็ม
header_bits จำนวนเต็ม
i_tex_bits จำนวนเต็ม
p_tex_bits จำนวนเต็ม
ฉัน_นับ จำนวนเต็ม
p_count จำนวนเต็ม
ข้าม_นับ จำนวนเต็ม
misc_bits จำนวนเต็ม
frame_bits จำนวนเต็ม
ตัวแปลงสัญญาณ_แท็ก จำนวนเต็ม
ข้อผิดพลาด ธง (ถอดรหัสวิดีโอ)
วิธีแก้ปัญหาไม่พบจุดบกพร่องของตัวเข้ารหัสโดยอัตโนมัติ

ค่าที่เป็นไปได้:

Autodetect
old_msmpeg4
lavc เก่าบางไฟล์สร้างไฟล์ msmpeg4v3 (ไม่มีการตรวจหาอัตโนมัติ)

xvid_ilace
Xvid interlacing bug (ตรวจพบอัตโนมัติถ้า fourcc==XVIX)

ump 4
(ตรวจพบอัตโนมัติถ้า fourcc==UMP4)

no_padding
padding bug (ตรวจพบอัตโนมัติ)

AMV
ac_vlc
บั๊ก vlc ที่ผิดกฎหมาย (ตรวจพบอัตโนมัติต่อ fourcc)

qpel_chroma
std_qpel
qpel มาตรฐานเก่า (ตรวจพบอัตโนมัติต่อ fourcc/เวอร์ชัน)

qpel_chroma2
direct_blocksize
ข้อบกพร่อง direct-qpel-blocksize (ตรวจพบอัตโนมัติต่อ fourcc/เวอร์ชัน)

ขอบ
ข้อบกพร่องของช่องว่างภายใน (ตรวจพบอัตโนมัติต่อสี่ซีซี/เวอร์ชัน)

hpel_chroma
dc_clip
ms วิธีแก้ปัญหาข้อบกพร่องต่างๆ ในตัวถอดรหัสของ microsoft

ท้ายรถ
เฟรมที่แปลงแล้ว

เลลิม จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าขีดจำกัดการกำจัดค่าสัมประสิทธิ์เดียวสำหรับความส่องสว่าง (ค่าลบด้วย
พิจารณาสัมประสิทธิ์กระแสตรง)

เซลิม จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าขีดจำกัดการกำจัดค่าสัมประสิทธิ์เดียวสำหรับโครมิแนนซ์ (ค่าลบด้วย
พิจารณาสัมประสิทธิ์กระแสตรง)

เข้มงวด จำนวนเต็ม (ถอดรหัส/เข้ารหัส,เสียง,วิดีโอ)
ระบุวิธีการปฏิบัติตามมาตรฐานอย่างเคร่งครัด

ค่าที่เป็นไปได้:

มาก
ปฏิบัติตามข้อกำหนดหรือซอฟต์แวร์อ้างอิงเวอร์ชันเก่าที่เข้มงวดยิ่งขึ้น

เข้มงวด
ปฏิบัติตามข้อกำหนดทุกอย่างอย่างเคร่งครัดไม่ว่าจะมีผลอะไรตามมา

ปกติ
เชลยศักดิ์
อนุญาตส่วนขยายที่ไม่เป็นทางการ

การทดลอง
อนุญาตให้สิ่งทดลองที่ไม่ได้มาตรฐาน, ทดลอง (ยังไม่เสร็จ/ทำงานใน
ความคืบหน้า/ทดสอบไม่ดี) ตัวถอดรหัสและตัวเข้ารหัส หมายเหตุ: ตัวถอดรหัสทดลองสามารถ
ก่อให้เกิดความเสี่ยงด้านความปลอดภัย อย่าใช้สิ่งนี้เพื่อถอดรหัสข้อมูลที่ไม่น่าเชื่อถือ

b_qoffset ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่า QP offset ระหว่างเฟรม P และ B

ผิดพลาด_detect ธง (ถอดรหัสเสียงวิดีโอ)
ตั้งค่าสถานะการตรวจจับข้อผิดพลาด

ค่าที่เป็นไปได้:

ซีอาร์เช็ค
ตรวจสอบ CRCs ที่ฝังตัว

บิตสตรีม
ตรวจจับความเบี่ยงเบนข้อกำหนดบิตสตรีม

กันชน
ตรวจจับความยาวบิตสตรีมที่ไม่เหมาะสม

ระเบิด
ยกเลิกการถอดรหัสการตรวจจับข้อผิดพลาดเล็กน้อย

ละเว้น_err
ละเว้นข้อผิดพลาดในการถอดรหัส และทำการถอดรหัสต่อไป สิ่งนี้มีประโยชน์หากคุณต้องการ
วิเคราะห์เนื้อหาของวิดีโอและต้องการให้ถอดรหัสทุกอย่างไม่ว่า
อะไร. ตัวเลือกนี้จะไม่ส่งผลให้วิดีโอที่น่าชมในกรณีของ
ข้อผิดพลาด

ระมัดระวัง
พิจารณาสิ่งที่ละเมิดข้อกำหนดและไม่ได้เห็นในป่าว่าเป็นข้อผิดพลาด

ไม่ขัดขืน
ถือว่าการไม่ปฏิบัติตามข้อกำหนดทั้งหมดเป็นข้อผิดพลาด

ก้าวร้าว
พิจารณาสิ่งที่ตัวเข้ารหัสที่มีสติไม่ควรทำเป็นข้อผิดพลาด

has_b_frames จำนวนเต็ม
block_align จำนวนเต็ม
mpeg_quant จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ใช้ MPEG quantizers แทน H.263

ควิซ ลอย (การเข้ารหัสวิดีโอ)
วิธีเก็บ quantizer ระหว่าง qmin และ qmax (0 = คลิป, 1 = ใช้ differentiable
ฟังก์ชัน).

rc_qmod_amp ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่ามอดูเลตควอนไทเซอร์ทดลอง

rc_qmod_freq จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่ามอดูเลตควอนไทเซอร์ทดลอง

rc_override_count จำนวนเต็ม
rc_eq เชือก (การเข้ารหัสวิดีโอ)
กำหนดสมการควบคุมอัตรา เมื่อคำนวณนิพจน์นอกเหนือจากมาตรฐาน
ฟังก์ชันที่กำหนดไว้ในส่วน 'การประเมินนิพจน์' ฟังก์ชันต่อไปนี้คือ
ใช้ได้: bits2qp(บิต), qp2bits(qp) นอกจากนี้ยังมีค่าคงที่ต่อไปนี้:
iTex pTex tex mv fCode iCount mcVar เป็น I isP isB avgQP qComp avgIITex avgPITex
avgPPTex avgBPTex avgTex

สูงสุด จำนวนเต็ม (การเข้ารหัส, เสียง, วิดีโอ)
ตั้งค่าความทนทานต่อบิตเรตสูงสุด (เป็นบิต/วินาที) ต้องตั้งค่าขนาดบัฟเฟอร์

นาที จำนวนเต็ม (การเข้ารหัส, เสียง, วิดีโอ)
ตั้งค่าความคลาดเคลื่อนบิตเรตขั้นต่ำ (เป็นบิต/วินาที) มีประโยชน์มากที่สุดในการตั้งค่าการเข้ารหัส CBR มันคือ
ใช้งานอย่างอื่นได้น้อย

บัฟไซส์ จำนวนเต็ม (การเข้ารหัส, เสียง, วิดีโอ)
ตั้งค่าขนาดบัฟเฟอร์ ratecontrol (เป็นบิต)

rc_buf_aggressivity ลอย (การเข้ารหัสวิดีโอ)
ปัจจุบันไร้ประโยชน์

i_qfactor ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่าปัจจัย QP ระหว่างเฟรม P และ I

i_qoffset ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่า QP offset ระหว่างเฟรม P และ I

rc_init_cplx ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่าความซับซ้อนเริ่มต้นสำหรับการเข้ารหัส 1 รอบ

DCT จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าอัลกอริทึม DCT

ค่าที่เป็นไปได้:

รถยนต์
เลือกรายการที่ดีโดยอัตโนมัติ (ค่าเริ่มต้น)

อดอาหาร
จำนวนเต็มเร็ว

int จำนวนเต็มที่ถูกต้อง

อืม
อัลติเทค
แฟน
จุดลอยตัว AAN DCT

ลูมิ_มาส์ก ลอย (การเข้ารหัสวิดีโอ)
บีบอัดบริเวณที่สว่างซึ่งแข็งแรงกว่าพื้นที่ปานกลาง

tcplx_mask ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่าการกำบังความซับซ้อนชั่วคราว

scplx_mask ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่าการกำบังความซับซ้อนเชิงพื้นที่

p_mask ลอย (การเข้ารหัสวิดีโอ)
ตั้งค่าอินเตอร์มาสก์

dark_mask ลอย (การเข้ารหัสวิดีโอ)
บีบอัดบริเวณที่มืดให้เข้มกว่าพื้นที่ปานกลาง

รหัสประจำตัว จำนวนเต็ม (ถอดรหัส/เข้ารหัส,วิดีโอ)
เลือกการนำ IDCT ไปใช้งาน

ค่าที่เป็นไปได้:

รถยนต์
int
ง่าย
ง่าย mmx
ง่ายอัตโนมัติ
เลือก IDCT ที่เข้ากันได้กับ ID ง่าย ๆ โดยอัตโนมัติ

แขน
อัลติเทค
sh4
ง่าย
Simplearmv5te
ซิมเพิลอาร์มv6
นีออนง่าย
ง่ายอัลฟ่า
ไอพีพี
xvidmmx
ฟานี่
จุดลอยตัว AAN IDCT

ชิ้น_count จำนวนเต็ม
ec ธง (ถอดรหัสวิดีโอ)
กำหนดกลยุทธ์การปกปิดข้อผิดพลาด

ค่าที่เป็นไปได้:

Guess_mvs
ค้นหาเวกเตอร์การเคลื่อนไหวซ้ำ (MV) (ช้า)

ปลดบล็อค
ใช้ตัวกรอง deblock ที่แข็งแกร่งสำหรับ MBs ที่เสียหาย

favour_inter
ชอบทำนายจากกรอบที่แล้วมากกว่าปัจจุบัน

bits_per_coded_sample จำนวนเต็ม
เพรด จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดวิธีการทำนาย

ค่าที่เป็นไปได้:

ซ้าย
เครื่องบิน
มัธยฐาน
แง่มุม มีเหตุผล จำนวน (การเข้ารหัสวิดีโอ)
ตั้งค่าอัตราส่วนกว้างยาวของตัวอย่าง

การแก้ปัญหา ธง (ถอดรหัส/เข้ารหัส,เสียง,วิดีโอ,คำบรรยาย)
พิมพ์ข้อมูลการดีบักเฉพาะ

ค่าที่เป็นไปได้:

PICT
ข้อมูลรูปภาพ

rc การควบคุมอัตรา

บิตสตรีม
mb_type
macroblock (MB) ประเภท

qp พารามิเตอร์การหาปริมาณต่อบล็อก (QP)

mv เวกเตอร์เคลื่อนไหว

dct_coeff
green_metadata
แสดงข้อมูลเมตาที่ซับซ้อนสำหรับเฟรมที่กำลังจะมีขึ้น GoP หรือในช่วงเวลาที่กำหนด

ข้าม
รหัสเริ่มต้น
พีทีเอส
er การรับรู้ข้อผิดพลาด

เอ็มเอ็มซีโอ
การดำเนินการควบคุมการจัดการหน่วยความจำ (H.264)

เป็นโรคจิต
vis_qp
เห็นภาพพารามิเตอร์ quantization (QP), QP ที่ต่ำกว่าจะเป็นสีเขียว

vis_mb_type
เห็นภาพประเภทบล็อก

บัฟเฟอร์
การจัดสรรบัฟเฟอร์รูปภาพ

thread_ops
การทำเกลียว

นม
ข้ามการเคลื่อนไหวชดเชย

วิสม์วี จำนวนเต็ม (ถอดรหัสวิดีโอ)
เห็นภาพเวกเตอร์การเคลื่อนไหว (MVs)

ตัวเลือกนี้เลิกใช้แล้ว โปรดดูตัวกรอง codecview แทน

ค่าที่เป็นไปได้:

pf MV ที่คาดการณ์ล่วงหน้าของ P-frames

bf MV ที่คาดการณ์ล่วงหน้าของ B-frames

bb MV ที่คาดการณ์ย้อนหลังของ B-frames

CMP จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าฟังก์ชันเปรียบเทียบแบบเต็ม pel me

ค่าที่เป็นไปได้:

เสียใจ ผลรวมของผลต่างสัมบูรณ์ เร็ว (ค่าเริ่มต้น)

SSE ผลรวมของข้อผิดพลาดกำลังสอง

วันเสาร์
ผลรวมของ Hadamard สัมบูรณ์เปลี่ยนแปลงความแตกต่าง

DCT ผลรวมของความแตกต่างของการแปลง DCT สัมบูรณ์

psnr
ผลรวมของข้อผิดพลาดเชิงปริมาณกำลังสอง (หลีกเลี่ยง คุณภาพต่ำ)

บิต จำนวนบิตที่จำเป็นสำหรับบล็อก

rd อัตราการบิดเบือนที่ดีที่สุด ช้า

เป็นศูนย์
0

เทียบกับ
ผลรวมของความแตกต่างในแนวดิ่งสัมบูรณ์

เทียบกับ
ผลรวมของผลต่างแนวตั้งกำลังสอง

nse
ผลรวมการกันเสียงของส่วนต่างกำลังสอง

w53 เวฟเล็ต 5/3 ใช้กับหิมะเท่านั้น

w97 เวฟเล็ต 9/7 ใช้กับหิมะเท่านั้น

ดีแทคแม็กซ์
ความเข้มของสี
cmp ย่อย จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าฟังก์ชันเปรียบเทียบย่อยฉันเปรียบเทียบ

ค่าที่เป็นไปได้:

เสียใจ ผลรวมของผลต่างสัมบูรณ์ เร็ว (ค่าเริ่มต้น)

SSE ผลรวมของข้อผิดพลาดกำลังสอง

วันเสาร์
ผลรวมของ Hadamard สัมบูรณ์เปลี่ยนแปลงความแตกต่าง

DCT ผลรวมของความแตกต่างของการแปลง DCT สัมบูรณ์

psnr
ผลรวมของข้อผิดพลาดเชิงปริมาณกำลังสอง (หลีกเลี่ยง คุณภาพต่ำ)

บิต จำนวนบิตที่จำเป็นสำหรับบล็อก

rd อัตราการบิดเบือนที่ดีที่สุด ช้า

เป็นศูนย์
0

เทียบกับ
ผลรวมของความแตกต่างในแนวดิ่งสัมบูรณ์

เทียบกับ
ผลรวมของผลต่างแนวตั้งกำลังสอง

nse
ผลรวมการกันเสียงของส่วนต่างกำลังสอง

w53 เวฟเล็ต 5/3 ใช้กับหิมะเท่านั้น

w97 เวฟเล็ต 9/7 ใช้กับหิมะเท่านั้น

ดีแทคแม็กซ์
ความเข้มของสี
MBCMP จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าฟังก์ชันเปรียบเทียบมาโครบล็อก

ค่าที่เป็นไปได้:

เสียใจ ผลรวมของผลต่างสัมบูรณ์ เร็ว (ค่าเริ่มต้น)

SSE ผลรวมของข้อผิดพลาดกำลังสอง

วันเสาร์
ผลรวมของ Hadamard สัมบูรณ์เปลี่ยนแปลงความแตกต่าง

DCT ผลรวมของความแตกต่างของการแปลง DCT สัมบูรณ์

psnr
ผลรวมของข้อผิดพลาดเชิงปริมาณกำลังสอง (หลีกเลี่ยง คุณภาพต่ำ)

บิต จำนวนบิตที่จำเป็นสำหรับบล็อก

rd อัตราการบิดเบือนที่ดีที่สุด ช้า

เป็นศูนย์
0

เทียบกับ
ผลรวมของความแตกต่างในแนวดิ่งสัมบูรณ์

เทียบกับ
ผลรวมของผลต่างแนวตั้งกำลังสอง

nse
ผลรวมการกันเสียงของส่วนต่างกำลังสอง

w53 เวฟเล็ต 5/3 ใช้กับหิมะเท่านั้น

w97 เวฟเล็ต 9/7 ใช้กับหิมะเท่านั้น

ดีแทคแม็กซ์
ความเข้มของสี
ildctcmp จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าฟังก์ชันเปรียบเทียบ dct แบบอินเทอร์เลซ

ค่าที่เป็นไปได้:

เสียใจ ผลรวมของผลต่างสัมบูรณ์ เร็ว (ค่าเริ่มต้น)

SSE ผลรวมของข้อผิดพลาดกำลังสอง

วันเสาร์
ผลรวมของ Hadamard สัมบูรณ์เปลี่ยนแปลงความแตกต่าง

DCT ผลรวมของความแตกต่างของการแปลง DCT สัมบูรณ์

psnr
ผลรวมของข้อผิดพลาดเชิงปริมาณกำลังสอง (หลีกเลี่ยง คุณภาพต่ำ)

บิต จำนวนบิตที่จำเป็นสำหรับบล็อก

rd อัตราการบิดเบือนที่ดีที่สุด ช้า

เป็นศูนย์
0

เทียบกับ
ผลรวมของความแตกต่างในแนวดิ่งสัมบูรณ์

เทียบกับ
ผลรวมของผลต่างแนวตั้งกำลังสอง

nse
ผลรวมการกันเสียงของส่วนต่างกำลังสอง

w53 เวฟเล็ต 5/3 ใช้กับหิมะเท่านั้น

w97 เวฟเล็ต 9/7 ใช้กับหิมะเท่านั้น

ดีแทคแม็กซ์
ความเข้มของสี
ขนาดเส้นผ่าศูนย์กลาง จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดประเภทและขนาดของเพชรสำหรับการประมาณการเคลื่อนไหว

Last_pred จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดปริมาณของตัวทำนายการเคลื่อนไหวจากเฟรมก่อนหน้า

พรีม จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าประมาณการล่วงหน้า

ก่อนสอบ จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าฟังก์ชันเปรียบเทียบการประมาณก่อนการเคลื่อนไหว

ค่าที่เป็นไปได้:

เสียใจ ผลรวมของผลต่างสัมบูรณ์ เร็ว (ค่าเริ่มต้น)

SSE ผลรวมของข้อผิดพลาดกำลังสอง

วันเสาร์
ผลรวมของ Hadamard สัมบูรณ์เปลี่ยนแปลงความแตกต่าง

DCT ผลรวมของความแตกต่างของการแปลง DCT สัมบูรณ์

psnr
ผลรวมของข้อผิดพลาดเชิงปริมาณกำลังสอง (หลีกเลี่ยง คุณภาพต่ำ)

บิต จำนวนบิตที่จำเป็นสำหรับบล็อก

rd อัตราการบิดเบือนที่ดีที่สุด ช้า

เป็นศูนย์
0

เทียบกับ
ผลรวมของความแตกต่างในแนวดิ่งสัมบูรณ์

เทียบกับ
ผลรวมของผลต่างแนวตั้งกำลังสอง

nse
ผลรวมการกันเสียงของส่วนต่างกำลังสอง

w53 เวฟเล็ต 5/3 ใช้กับหิมะเท่านั้น

w97 เวฟเล็ต 9/7 ใช้กับหิมะเท่านั้น

ดีแทคแม็กซ์
ความเข้มของสี
pre_dia_size จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดประเภทและขนาดของเพชรสำหรับการประเมินการเคลื่อนไหวล่วงหน้า

ย่อย จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าคุณภาพการประมาณการเคลื่อนที่ของคำบรรยายย่อย

dtg_active_format จำนวนเต็ม
ฉัน_ช่วง จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าช่วงจำกัดการเคลื่อนที่ของเวกเตอร์ (1023 สำหรับเครื่องเล่น DivX)

ไอเบียส จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าอคติภายในควอนตัม

อคติ จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าอคติระหว่างควอนตัม

color_table_id จำนวนเต็ม
global_quality จำนวนเต็ม (การเข้ารหัส, เสียง, วิดีโอ)
coder จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ค่าที่เป็นไปได้:

VLC coder ความยาวผันแปร / huffman coder

ac ตัวเข้ารหัสเลขคณิต

ดิบ ดิบ (ไม่มีการเข้ารหัส)

rle ตัวเข้ารหัสความยาววิ่ง

ยุบ
coder แบบยุบตัว

สิ่งแวดล้อม จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดรูปแบบบริบท

ชิ้น_ธง จำนวนเต็ม
xvmc_acceleration จำนวนเต็ม
MBD จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าอัลกอริธึมการตัดสินใจของ macroblock (โหมดคุณภาพสูง)

ค่าที่เป็นไปได้:

ง่าย
ใช้ mbcmp (ค่าเริ่มต้น)

บิต
ใช้บิตน้อยที่สุด

rd ใช้อัตราการบิดเบือนที่ดีที่สุด

stream_codec_tag จำนวนเต็ม
sc_threshold จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดเกณฑ์การเปลี่ยนฉาก

มิน จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าปัจจัยความล่าช้าขั้นต่ำ (VBR)

Lmax จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าปัจจัย larange สูงสุด (VBR)

nr จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าการลดสัญญาณรบกวน

rc_init_occupancy จำนวนเต็ม (การเข้ารหัสวิดีโอ)
กำหนดจำนวนบิตที่ควรโหลดลงในบัฟเฟอร์ rc ก่อนเริ่มการถอดรหัส

ธง2 ธง (ถอดรหัส/เข้ารหัส,เสียง,วิดีโอ)
ค่าที่เป็นไปได้:

รวดเร็ว
อนุญาตเคล็ดลับการเร่งความเร็วที่ไม่เป็นไปตามข้อกำหนด

สก๊อป
เลิกใช้แล้ว ใช้ตัวเลือกส่วนตัวของ mpegvideo แทน

ไม่มี
ข้ามการเข้ารหัสบิตสตรีม

ละเว้น
ละเว้นข้อมูลการครอบตัดจาก sps

local_header
วางส่วนหัวส่วนกลางที่ทุกคีย์เฟรม แทนที่จะใส่ในข้อมูลพิเศษ

ชิ้น
ข้อมูลเฟรมอาจถูกแบ่งออกเป็นหลายส่วน

แสดงทั้งหมด
แสดงเฟรมทั้งหมดก่อนคีย์เฟรมแรก

ข้าม
เลิกใช้แล้ว ใช้ตัวเลือกส่วนตัวของ mpegvideo แทน

ส่งออก_mvs
ส่งออกเวกเตอร์การเคลื่อนไหวไปยังข้อมูลด้านข้างของเฟรม (ดู "AV_FRAME_DATA_MOTION_VECTORS")
สำหรับตัวแปลงสัญญาณที่รองรับ ดูสิ่งนี้ด้วย doc/examples/export_mvs.c.

ความผิดพลาด จำนวนเต็ม (การเข้ารหัสวิดีโอ)
Qns จำนวนเต็ม (การเข้ารหัสวิดีโอ)
เลิกใช้แล้ว ใช้ตัวเลือกส่วนตัวของ mpegvideo แทน

หัวข้อ จำนวนเต็ม (ถอดรหัส/เข้ารหัส,วิดีโอ)
ค่าที่เป็นไปได้:

รถยนต์
ตรวจพบจำนวนเธรดที่ดี

me_threshold จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าเกณฑ์การประมาณการเคลื่อนไหว

mb_threshold จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าขีดจำกัดของมาโครบล็อก

dc จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่า intra_dc_precision

งง จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าน้ำหนัก nsse

ข้าม_top จำนวนเต็ม (ถอดรหัสวิดีโอ)
กำหนดจำนวนแถวของมาโครบล็อกที่ด้านบนซึ่งถูกข้าม

ข้าม_ด้านล่าง จำนวนเต็ม (ถอดรหัสวิดีโอ)
กำหนดจำนวนแถวของมาโครบล็อกที่ด้านล่างซึ่งถูกข้าม

โปรไฟล์ จำนวนเต็ม (การเข้ารหัส, เสียง, วิดีโอ)
ค่าที่เป็นไปได้:

ไม่ทราบ
aac_main
aac_low
aac_ssr
aac_ltp
aac_he
aac_he_v2
aac_ld
aac_eld
mpeg2_aac_low
mpeg2_aac_he
mpeg4_sp
mpeg4_core
mpeg4_main
mpeg4_asp
DTS
dts_es
dts_96_24
dts_hd_hra
dts_hd_ma
ระดับ จำนวนเต็ม (การเข้ารหัส, เสียง, วิดีโอ)
ค่าที่เป็นไปได้:

ไม่ทราบ
ต่ำ จำนวนเต็ม (ถอดรหัสเสียงวิดีโอ)
ถอดรหัสที่ความละเอียด 1= 1/2, 2=1/4, 3=1/8

ข้าม_เกณฑ์ จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าขีดจำกัดการข้ามเฟรม

ข้าม_ปัจจัย จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าปัจจัยการข้ามเฟรม

ข้าม_exp จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าเลขชี้กำลังข้ามเฟรม ค่าลบมีพฤติกรรมเหมือนกับค่าที่สอดคล้องกัน
แง่บวก ยกเว้นว่าคะแนนจะถูกทำให้เป็นมาตรฐาน ค่าบวกมีอยู่เป็นหลัก
ด้วยเหตุผลด้านความเข้ากันได้และไม่มีประโยชน์นัก

ข้ามซม จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าฟังก์ชั่นการเปรียบเทียบข้ามเฟรม

ค่าที่เป็นไปได้:

เสียใจ ผลรวมของผลต่างสัมบูรณ์ เร็ว (ค่าเริ่มต้น)

SSE ผลรวมของข้อผิดพลาดกำลังสอง

วันเสาร์
ผลรวมของ Hadamard สัมบูรณ์เปลี่ยนแปลงความแตกต่าง

DCT ผลรวมของความแตกต่างของการแปลง DCT สัมบูรณ์

psnr
ผลรวมของข้อผิดพลาดเชิงปริมาณกำลังสอง (หลีกเลี่ยง คุณภาพต่ำ)

บิต จำนวนบิตที่จำเป็นสำหรับบล็อก

rd อัตราการบิดเบือนที่ดีที่สุด ช้า

เป็นศูนย์
0

เทียบกับ
ผลรวมของความแตกต่างในแนวดิ่งสัมบูรณ์

เทียบกับ
ผลรวมของผลต่างแนวตั้งกำลังสอง

nse
ผลรวมการกันเสียงของส่วนต่างกำลังสอง

w53 เวฟเล็ต 5/3 ใช้กับหิมะเท่านั้น

w97 เวฟเล็ต 9/7 ใช้กับหิมะเท่านั้น

ดีแทคแม็กซ์
ความเข้มของสี
border_mask ลอย (การเข้ารหัสวิดีโอ)
เพิ่ม quantizer สำหรับ macroblocks ใกล้กับเส้นขอบ

เอ็มบีมิน จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่า macroblock lagrange factor (VBR) ขั้นต่ำ

เอ็มบีแอลแม็กซ์ จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่า macroblock lagrange factor (VBR) สูงสุด

เมพ จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าการชดเชยอัตราบิตเรตการประมาณการเคลื่อนไหว (1.0 = 256)

ข้าม_loop_filter จำนวนเต็ม (ถอดรหัสวิดีโอ)
ข้าม_idct จำนวนเต็ม (ถอดรหัสวิดีโอ)
ข้าม_กรอบ จำนวนเต็ม (ถอดรหัสวิดีโอ)
ทำให้ตัวถอดรหัสละทิ้งการประมวลผลขึ้นอยู่กับประเภทเฟรมที่เลือกโดยตัวเลือก
มูลค่า

ข้าม_loop_filter ข้ามการกรองลูปเฟรม ข้าม_idct ข้ามเฟรม
IDCT/ดีควอไลซ์เซชั่น ข้าม_กรอบ ข้ามการถอดรหัส

ค่าที่เป็นไปได้:

ไม่มี
ทิ้งไม่มีกรอบ

ผิดนัด
ทิ้งเฟรมที่ไร้ประโยชน์เช่นเฟรมขนาด 0

โนเรฟ
ทิ้งเฟรมที่ไม่อ้างอิงทั้งหมด

ประมูล
ทิ้งเฟรมแบบสองทิศทางทั้งหมด

ไม่เป็นไร
ทิ้งเฟรมทั้งหมดยกเว้นคีย์เฟรม

ทั้งหมด ทิ้งเฟรมทั้งหมด

ค่าเริ่มต้นคือ ผิดนัด.

bidir_refine จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ปรับแต่งเวกเตอร์การเคลื่อนไหวสองตัวที่ใช้ในมาโครบล็อกแบบสองทิศทาง

brd_scale จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ลดขนาดเฟรมสำหรับการตัดสินใจ B-frame แบบไดนามิก

keyint_min จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าช่วงเวลาต่ำสุดระหว่างเฟรม IDR

refs จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าหน้าต่างอ้างอิงเพื่อพิจารณาการชดเชยการเคลื่อนไหว

โครมาออฟเซ็ต จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่า chroma qp offset จาก luma

ลายหรือโครงลูกไม้ จำนวนเต็ม (การเข้ารหัส, เสียง, วิดีโอ)
ตั้งค่าการควอนไทซ์ที่ดีที่สุดสำหรับการบิดเบือนอัตรา

sc_factor จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าคูณด้วย qscale สำหรับแต่ละเฟรมและเพิ่มใน scene_change_score

mv0_threshold จำนวนเต็ม (การเข้ารหัสวิดีโอ)
b_ความไว จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ปรับความไวของ b_frame_strategy 1

การบีบอัด_ระดับ จำนวนเต็ม (การเข้ารหัส, เสียง, วิดีโอ)
min_prediction_order จำนวนเต็ม (การเข้ารหัสเสียง)
max_prediction_order จำนวนเต็ม (การเข้ารหัสเสียง)
รหัสเวลา_frame_start จำนวนเต็ม (การเข้ารหัสวิดีโอ)
ตั้งค่าหมายเลขเริ่มต้นของกรอบเวลา GOP ในรูปแบบเฟรมไม่ดร็อป

ขอ_ช่อง จำนวนเต็ม (ถอดรหัสเสียง)
กำหนดจำนวนช่องสัญญาณเสียงที่ต้องการ

bits_per_raw_sample จำนวนเต็ม
channel_layout จำนวนเต็ม (ถอดรหัส/เข้ารหัส,เสียง)
ค่าที่เป็นไปได้:

ขอ_channel_layout จำนวนเต็ม (ถอดรหัสเสียง)
ค่าที่เป็นไปได้:

rc_max_vbv_use ลอย (การเข้ารหัสวิดีโอ)
rc_min_vbv_use ลอย (การเข้ารหัสวิดีโอ)
ติ๊ก_ต่อ_เฟรม จำนวนเต็ม (ถอดรหัส/เข้ารหัส,เสียง,วิดีโอ)
สี_หลัก จำนวนเต็ม (ถอดรหัส/เข้ารหัส,วิดีโอ)
color_trc จำนวนเต็ม (ถอดรหัส/เข้ารหัส,วิดีโอ)
colorspace จำนวนเต็ม (ถอดรหัส/เข้ารหัส,วิดีโอ)
สี_ช่วง จำนวนเต็ม (ถอดรหัส/เข้ารหัส,วิดีโอ)
หากใช้เป็นพารามิเตอร์อินพุตจะทำหน้าที่เป็นคำใบ้ไปยังตัวถอดรหัสซึ่ง color_range the
อินพุตมี

chroma_sample_location จำนวนเต็ม (ถอดรหัส/เข้ารหัส,วิดีโอ)
log_level_offset จำนวนเต็ม
ตั้งค่าออฟเซ็ตระดับบันทึก

ชิ้น จำนวนเต็ม (การเข้ารหัสวิดีโอ)
จำนวนสไลซ์ ใช้ในการเข้ารหัสแบบคู่ขนาน

thread_type ธง (ถอดรหัส/เข้ารหัส,วิดีโอ)
เลือกวิธีการมัลติเธรดที่จะใช้

การใช้งานของ กรอบ จะเพิ่มความล่าช้าในการถอดรหัสหนึ่งเฟรมต่อเธรด ดังนั้นไคลเอนต์ซึ่ง
ไม่สามารถให้เฟรมในอนาคตไม่ควรใช้

ค่าที่เป็นไปได้:

ฝาน
ถอดรหัสมากกว่าหนึ่งส่วนของเฟรมเดียวในคราวเดียว

มัลติเธรดโดยใช้สไลซ์จะทำงานก็ต่อเมื่อวิดีโอถูกเข้ารหัสด้วยสไลซ์

กรอบ
ถอดรหัสมากกว่าหนึ่งเฟรมพร้อมกัน

ค่าเริ่มต้นคือ ชิ้น+กรอบ.

เสียง_บริการ_ประเภท จำนวนเต็ม (การเข้ารหัสเสียง)
ตั้งค่าประเภทบริการเสียง

ค่าที่เป็นไปได้:

ma บริการเครื่องเสียงหลัก

ef ผลกระทบ

vi ความบกพร่องทางสายตา

hi ผู้บกพร่องทางการได้ยิน

di บทสนทนา

co ความเห็น

em กรณีฉุกเฉิน

vo Voice Over

ka คาราโอเกะ

request_sample_fmt ตัวอย่าง_fmt (ถอดรหัสเสียง)
ตั้งค่าตัวถอดรหัสเสียงรูปแบบตัวอย่างควรชอบ ค่าเริ่มต้นคือ "ไม่มี"

pkt_timebase มีเหตุผล จำนวน
sub_charenc การเข้ารหัส (ถอดรหัส,คำบรรยาย)
ตั้งค่าการเข้ารหัสอักขระคำบรรยายอินพุต

field_order field_order (วีดีโอ)
ตั้งค่า/แทนที่ลำดับช่องของวิดีโอ ค่าที่เป็นไปได้:

โปรเกรสซีฟ
วิดีโอโปรเกรสซีฟ

tt วิดีโอแบบอินเทอร์เลซ เข้ารหัสช่องบนสุดและแสดงก่อน

bb วิดีโอแบบอินเทอร์เลซ เข้ารหัสฟิลด์ด้านล่างและแสดงก่อน

tb วิดีโอแบบอินเทอร์เลซ รหัสบนก่อน ล่างแสดงก่อน

bt วิดีโอแบบอินเทอร์เลซ โค้ดล่างสุดก่อน แสดงบนสุดก่อน

Skip_alpha จำนวนเต็ม (ถอดรหัสวิดีโอ)
ตั้งค่าเป็น 1 เพื่อปิดใช้งานการประมวลผลอัลฟ่า (โปร่งใส) ทำงานเหมือน สีเทา ตั้งค่าสถานะใน
ธง ตัวเลือกที่ข้ามข้อมูล chroma แทน alpha ค่าเริ่มต้นคือ 0

codec_whitelist รายการ (อินพุต)
"," แยกรายการตัวถอดรหัสที่อนุญาต โดยค่าเริ่มต้นทั้งหมดจะได้รับอนุญาต

dump_separator เชือก (อินพุต)
Separator ใช้เพื่อแยกฟิลด์ที่พิมพ์บนบรรทัดคำสั่งเกี่ยวกับ Stream
พารามิเตอร์ ตัวอย่างเช่น การแยกฟิลด์ด้วยการขึ้นบรรทัดใหม่และการเยื้อง:

ffprobe -dump_separator "
" -ผม ~/videos/matrixbench_mpeg2.mpg

ตัวถอดรหัส


ตัวถอดรหัสเป็นองค์ประกอบที่กำหนดค่าไว้ใน FFmpeg ซึ่งอนุญาตให้ถอดรหัสสตรีมมัลติมีเดียได้

เมื่อคุณกำหนดค่าบิลด์ FFmpeg ของคุณ ตัวถอดรหัสเนทีฟที่รองรับทั้งหมดจะเปิดใช้งานโดย
ค่าเริ่มต้น. ตัวถอดรหัสที่ต้องใช้ไลบรารีภายนอกต้องเปิดใช้งานด้วยตนเองผ่านทาง
ตัวเลือก "--enable-lib" ที่สอดคล้องกัน คุณสามารถแสดงรายการตัวถอดรหัสที่มีทั้งหมดโดยใช้
กำหนดค่าตัวเลือก "--list-decoders"

คุณสามารถปิดการใช้งานตัวถอดรหัสทั้งหมดด้วยตัวเลือกการกำหนดค่า "--disable-decoders" และ
เลือกเปิด / ปิดการใช้งานตัวถอดรหัสเดี่ยวพร้อมตัวเลือก "--enable-decoder=ถอดรหัส" /
"--disable-decoder=ถอดรหัส".

ตัวเลือก "-ตัวถอดรหัส" ของเครื่องมือ ff* จะแสดงรายการตัวถอดรหัสที่เปิดใช้งาน

VIDEO ตัวถอดรหัส


คำอธิบายของตัวถอดรหัสวิดีโอที่มีอยู่ในปัจจุบันมีดังนี้

เฮฟวี่
ตัวถอดรหัส HEVC / H.265

หมายเหตุ: ข้าม_loop_filter ตัวเลือกมีผลเฉพาะที่ระดับ "ทั้งหมด"

วิดีโอดิบ
ตัวถอดรหัสวิดีโอดิบ

ตัวถอดรหัสนี้ถอดรหัสสตรีม rawvideo

Options

ด้านบน top_field_ก่อน
ระบุประเภทฟิลด์สมมติของวิดีโออินพุต

-1 วิดีโอจะถือว่าเป็นแบบโปรเกรสซีฟ (ค่าเริ่มต้น)

0 bottom-field-first ถือว่า

1 ถือว่าบนสุดอันดับแรก

AUDIO ตัวถอดรหัส


คำอธิบายของตัวถอดรหัสเสียงที่มีอยู่ในปัจจุบันมีดังนี้

ac3
ตัวถอดรหัสเสียง AC-3

ตัวถอดรหัสนี้ใช้ส่วนหนึ่งของ ATSC A/52:2010 และ ETSI TS 102 366 เช่นเดียวกับ
RealAudio 3 ที่ไม่มีเอกสาร (aka dnet)

AC-3 ถอดรหัส Options

-drc_scale ความคุ้มค่า
ปัจจัยมาตราส่วนช่วงไดนามิก ปัจจัยที่จะใช้กับค่าช่วงไดนามิกจาก AC-3
ลำธาร. ปัจจัยนี้ถูกนำไปใช้แบบทวีคูณ มีสเกลแฟกเตอร์ที่โดดเด่นอยู่ 3 ตัว
ช่วง:

drc_scale == 0
ปิดใช้งาน DRC สร้างเสียงเต็มรูปแบบ

0 < drc_scale <= 1
เปิดใช้งาน DRC ใช้เศษส่วนของค่า DRC ของสตรีม การทำสำเนาเสียงคือ
ระหว่างฟูลเรนจ์และฟูลเรนจ์

drc_scale > 1
เปิดใช้งาน DRC ใช้ drc_scale แบบไม่สมมาตร เสียงดังจะถูกบีบอัดอย่างเต็มที่
เสียงที่นุ่มนวลได้รับการปรับปรุง

FLAC
ตัวถอดรหัสเสียง FLAC

ตัวถอดรหัสนี้มีจุดมุ่งหมายเพื่อใช้ข้อกำหนด FLAC ที่สมบูรณ์จาก Xiph

FLAC ถอดรหัส ตัวเลือก

-use_buggy_lpc
ตัวเข้ารหัส lavc FLAC ใช้ในการผลิตสตรีมบั๊กกี้ที่มีค่า lpc สูง (เช่น
ค่าเริ่มต้น) ตัวเลือกนี้ทำให้สามารถถอดรหัสสตรีมดังกล่าวได้อย่างถูกต้องโดย
ใช้ลอจิก lpc แบบเก่าของ lavc สำหรับการถอดรหัส

ffwavesynth
เครื่องสังเคราะห์คลื่นภายใน

ตัวถอดรหัสนี้สร้างรูปแบบคลื่นตามลำดับที่กำหนดไว้ล่วงหน้า ใช้งานอย่างหมดจด
ภายในและรูปแบบของข้อมูลที่ยอมรับไม่ได้รับการจัดทำเป็นเอกสารสาธารณะ

ลิเบลท์
ตัวถอดรหัส libcelt

libcelt อนุญาตให้ libavcodec ถอดรหัสตัวแปลงสัญญาณเสียงล่าช้าต่ำพิเศษ Xiph CELT ต้องใช้
การมีอยู่ของส่วนหัว libcelt และไลบรารีระหว่างการกำหนดค่า คุณต้อง
กำหนดค่าบิลด์อย่างชัดเจนด้วย "--enable-libcelt"

libgsm
ตัวถอดรหัส libgsm

libgsm อนุญาตให้ libavcodec ถอดรหัสตัวแปลงสัญญาณเสียงเต็มอัตรา GSM ต้องมี
ส่วนหัวและไลบรารี libgsm ระหว่างการกำหนดค่า คุณต้องกำหนดค่า .อย่างชัดเจน
สร้างด้วย "--enable-libgsm"

ตัวถอดรหัสนี้รองรับทั้ง GSM ธรรมดาและตัวแปรของ Microsoft

libilbc
เครื่องห่อตัวถอดรหัส libilbc

libilbc อนุญาตให้ libavcodec ถอดรหัสตัวแปลงสัญญาณเสียงอินเทอร์เน็ต Low Bitrate Codec (iLBC)
ต้องมีส่วนหัวและไลบรารี libilbc ในระหว่างการกำหนดค่า คุณต้อง
กำหนดค่าบิลด์อย่างชัดเจนด้วย "--enable-libilbc"

Options

ตัวเลือกต่อไปนี้ได้รับการสนับสนุนโดย wrapper libilbc

เสริม
เปิดใช้งานการปรับปรุงเสียงถอดรหัสเมื่อตั้งค่าเป็น 1 ค่าเริ่มต้นคือ0
(พิการ).

libopencore-amrnb
เครื่องห่อตัวถอดรหัส libopencore-amrnb

libopencore-amrnb อนุญาตให้ libavcodec ถอดรหัสเสียง Adaptive Multi-Rate Narrowband
ตัวแปลงสัญญาณ การใช้ต้องมีส่วนหัว libopencore-amrnb และไลบรารีระหว่าง
การกำหนดค่า คุณต้องกำหนดค่าบิลด์ด้วย .อย่างชัดเจน
"--เปิดใช้งาน-libopencore-amrnb"

มีตัวถอดรหัสเนทีฟ FFmpeg สำหรับ AMR-NB อยู่แล้ว ดังนั้นผู้ใช้สามารถถอดรหัส AMR-NB ได้โดยไม่ต้องใช้สิ่งนี้
ห้องสมุด.

libopencore-amrwb
เครื่องห่อตัวถอดรหัส libopencore-amrwb

libopencore-amrwb อนุญาตให้ libavcodec ถอดรหัสเสียง Adaptive Multi-Rate Wideband
ตัวแปลงสัญญาณ การใช้ต้องมีส่วนหัว libopencore-amrwb และไลบรารีระหว่าง
การกำหนดค่า คุณต้องกำหนดค่าบิลด์ด้วย .อย่างชัดเจน
"--เปิดใช้งาน-libopencore-amrwb"

มีตัวถอดรหัสดั้งเดิม FFmpeg สำหรับ AMR-WB ดังนั้นผู้ใช้สามารถถอดรหัส AMR-WB ได้โดยไม่ต้องใช้สิ่งนี้
ห้องสมุด.

ลิโบปัส
เครื่องห่อตัวถอดรหัส libopus

libopus อนุญาตให้ libavcodec ถอดรหัส Opus Interactive Audio Codec ต้องใช้
การมีอยู่ของส่วนหัวและไลบรารี libopus ระหว่างการกำหนดค่า คุณต้องชัดเจน
กำหนดค่าบิลด์ด้วย "--enable-lipopus"

มีตัวถอดรหัสดั้งเดิม FFmpeg สำหรับ Opus ดังนั้นผู้ใช้สามารถถอดรหัส Opus โดยไม่ต้องใช้ไลบรารีนี้

คำบรรยาย ตัวถอดรหัส


ดีวีบีซับ
Options

คอมพิวเตอร์_clut
-1 คำนวณคลาดเคลื่อนหากไม่มี CLUT ที่ตรงกันในสตรีม

0 ไม่ต้องคำนวณ CLUT

1 คำนวณ CLUT และแทนที่ค่าที่ให้ไว้ในสตรีมเสมอ

DVB_substream
เลือกสตรีมย่อย dvb หรือสตรีมย่อยทั้งหมดหาก -1 ซึ่งเป็นค่าเริ่มต้น

ดีวีดีซับ
ตัวแปลงสัญญาณนี้ถอดรหัสคำบรรยายบิตแมปที่ใช้ในดีวีดี คำบรรยายเดียวกันยังสามารถพบได้
ในคู่ไฟล์ VobSub และในไฟล์ Matroska บางไฟล์

Options

จานสี
ระบุจานสีส่วนกลางที่ใช้โดยบิตแมป เมื่อเก็บไว้ใน VobSub จานสีจะเป็น
โดยปกติระบุไว้ในไฟล์ดัชนี ใน Matroska จานสีจะถูกเก็บไว้ในตัวแปลงสัญญาณ
ข้อมูลเสริมในรูปแบบเดียวกับใน VobSub ในดีวีดี จานสีจะถูกเก็บไว้ใน IFO
ไฟล์ ดังนั้นจึงไม่พร้อมใช้งานเมื่ออ่านจากไฟล์ VOB ที่ดัมพ์

รูปแบบของตัวเลือกนี้คือสตริงที่มีเลขฐานสิบหก 16 บิต 24 ตัว
(ไม่มี 0x นำหน้า) คั่นด้วยโคม่า เช่น "0d00ee, ee450d, 101010, eaeaea,
0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, 7b2a0e, 0d950c, 0f007b, cf0dec,
cfa80c, 7c127b"

ifo_palette
ระบุไฟล์ IFO ที่ได้รับจานสีส่วนกลาง (ทดลอง)

Forced_subs_only
ถอดรหัสเฉพาะรายการคำบรรยายที่ทำเครื่องหมายว่าบังคับ บางเรื่องถูกบังคับและไม่บังคับ
คำบรรยายในแทร็กเดียวกัน การตั้งค่าแฟล็กนี้เป็น 1 จะคงไว้ซึ่งการบังคับเท่านั้น
คำบรรยาย ค่าเริ่มต้นคือ 0

libzvbi-เทเลเท็กซ์
Libzvbi อนุญาตให้ libavcodec ถอดรหัสหน้าเทเลเท็กซ์ DVB และคำบรรยายเทเลเท็กซ์ของ DVB
ต้องการการมีอยู่ของส่วนหัวและไลบรารี libzvbi ระหว่างการกำหนดค่า คุณต้อง
กำหนดค่าบิลด์อย่างชัดเจนด้วย "--enable-libzvbi"

Options

txt_page
รายการหมายเลขหน้าเทเลเท็กซ์ที่จะถอดรหัส คุณสามารถใช้สตริง * พิเศษเพื่อจับคู่ทั้งหมด
หน้า. หน้าที่ไม่ตรงกับรายการที่ระบุจะถูกตัดทิ้ง ค่าเริ่มต้นคือ *

txt_chop_top
ยกเลิกบรรทัดเทเลเท็กซ์บนสุด ค่าเริ่มต้นคือ 1

txt_format
ระบุรูปแบบของคำบรรยายที่ถอดรหัส ตัวถอดรหัสเทเลเท็กซ์มีความสามารถ
ถอดรหัสหน้าเทเลเท็กซ์เป็นบิตแมปหรือเป็นข้อความธรรมดา คุณควรใช้ "บิตแมป" สำหรับ
หน้าเทเลเท็กซ์ เนื่องจากกราฟิกและสีบางสีไม่สามารถแสดงในรูปแบบง่ายๆ ได้
ข้อความ. คุณอาจใช้ "ข้อความ" สำหรับคำบรรยายตามเทเลเท็กซ์หากแอปพลิเคชันของคุณสามารถจัดการได้
คำบรรยายตามข้อความอย่างง่าย ค่าเริ่มต้นคือบิตแมป

txt_left
X offset ของบิตแมปที่สร้างขึ้น ค่าเริ่มต้นคือ 0

txt_top
Y ออฟเซ็ตของบิตแมปที่สร้างขึ้น ค่าเริ่มต้นคือ 0

txt_chop_spaces
ตัดช่องว่างนำหน้าและต่อท้าย และลบบรรทัดว่างออกจากข้อความที่สร้างขึ้น
ตัวเลือกนี้มีประโยชน์สำหรับคำบรรยายตามเทเลเท็กซ์ซึ่งอาจมีพื้นที่ว่างอยู่
ที่จุดเริ่มต้นหรือจุดสิ้นสุดของบรรทัดหรือบรรทัดว่างอาจมีอยู่ระหว่าง
บรรทัดคำบรรยายเนื่องจากอักขระเทเลเท็กซ์สองขนาด ค่าเริ่มต้นคือ 1

txt_duration
ตั้งค่าระยะเวลาการแสดงผลของหน้าเทเลเท็กซ์หรือคำบรรยายที่ถอดรหัสเป็นมิลลิวินาที
ค่าเริ่มต้นคือ 30000 ซึ่งเป็น 30 วินาที

txt_transparent
บังคับพื้นหลังโปร่งใสของบิตแมปเทเลเท็กซ์ที่สร้างขึ้น ค่าเริ่มต้นคือ0
ซึ่งหมายถึงพื้นหลังทึบแสง (สีดำ)

บิตสตรีม กรอง


เมื่อคุณกำหนดค่าบิลด์ FFmpeg ของคุณ ตัวกรองบิตสตรีมที่รองรับทั้งหมดจะเปิดใช้งานโดย
ค่าเริ่มต้น. คุณสามารถแสดงรายการที่มีอยู่ทั้งหมดโดยใช้ตัวเลือกการกำหนดค่า "--list-bsfs"

คุณสามารถปิดใช้งานตัวกรองบิตสตรีมทั้งหมดได้โดยใช้ตัวเลือกการกำหนดค่า "--disable-bsfs" และ
เลือกเปิดใช้งานตัวกรองบิตสตรีมใด ๆ โดยใช้ตัวเลือก "--enable-bsf=BSF" หรือคุณสามารถ
ปิดใช้งานตัวกรองบิตสตรีมโดยเฉพาะโดยใช้ตัวเลือก "--disable-bsf=BSF"

ตัวเลือก "-bsfs" ของเครื่องมือ ff* จะแสดงรายการ bitstream ที่รองรับทั้งหมด
ตัวกรองที่รวมอยู่ในงานสร้างของคุณ

เครื่องมือ ff* มีตัวเลือก -bsf ที่ใช้ต่อสตรีม โดยแยกรายการที่คั่นด้วยเครื่องหมายจุลภาคของ
ตัวกรองซึ่งมีพารามิเตอร์ตามหลังชื่อตัวกรองหลัง '='

ffmpeg -i INPUT -c:v copy -bsf:v filter1[=opt1=str1/opt2=str2][,filter2] เอาต์พุต

ด้านล่างนี้เป็นคำอธิบายของตัวกรองบิตสตรีมที่มีอยู่ในปัจจุบัน โดยมี
พารามิเตอร์ถ้ามี

aac_adttoasc
แปลง MPEG-2/4 AAC ADTS เป็นตัวกรองบิตสตรีมการกำหนดค่าเสียงเฉพาะ MPEG-4

ตัวกรองนี้สร้าง MPEG-4 AudioSpecificConfig จากส่วนหัว MPEG-2/4 ADTS และลบ
ส่วนหัว ADTS

สิ่งนี้จำเป็น ตัวอย่างเช่น เมื่อคัดลอกสตรีม AAC จากคอนเทนเนอร์ ADTS AAC แบบดิบไปยัง a
FLV หรือไฟล์ MOV/MP4

ชอมป์
ลบการเติมศูนย์ที่ส่วนท้ายของแพ็กเก็ต

dump_extra
เพิ่มข้อมูลพิเศษที่จุดเริ่มต้นของแพ็กเก็ตที่กรอง

อาร์กิวเมนต์เพิ่มเติมระบุว่าควรกรองแพ็กเก็ตใด มันยอมรับ
ค่า:

a เพิ่มข้อมูลพิเศษให้กับแพ็กเก็ตคีย์ทั้งหมด แต่ถ้า local_header ตั้งอยู่ใน ธง2 ตัวแปลงสัญญาณ
เขตข้อมูลบริบท

k เพิ่มข้อมูลพิเศษให้กับแพ็กเก็ตคีย์ทั้งหมด

e เพิ่มข้อมูลพิเศษให้กับแพ็กเก็ตทั้งหมด

หากไม่ระบุให้ถือว่า k.

ตัวอย่างต่อไปนี้ ffmpeg คำสั่งบังคับส่วนหัวส่วนกลาง (ดังนั้นจึงปิดการใช้งานบุคคล
ส่วนหัวของแพ็กเก็ต) ในแพ็กเก็ต H.264 ที่สร้างโดยตัวเข้ารหัส "libx264" แต่แก้ไขให้ถูกต้อง
โดยการเพิ่มส่วนหัวที่เก็บไว้ใน extradata ไปยังแพ็กเก็ตคีย์:

ffmpeg -i อินพุต - แผนที่ 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts

h264_mp4toภาคผนวกb
แปลงบิตสตรีม H.264 จากโหมดนำหน้าความยาวเป็นโหมดเริ่มต้นรหัสนำหน้า (เช่น
ที่กำหนดไว้ในภาคผนวก B ของข้อกำหนด ITU-T H.264)

สิ่งนี้จำเป็นสำหรับรูปแบบการสตรีมบางรูปแบบ โดยทั่วไปแล้วจะเป็นรูปแบบสตรีมการขนส่ง MPEG-2
("mpegts")

ตัวอย่างเช่นการรีมูกซ์ไฟล์ MP4 ที่มีสตรีม H.264 เป็นรูปแบบ mpegts ด้วย ffmpeg,
คุณสามารถใช้คำสั่ง:

ffmpeg -i INPUT.mp4 - สำเนาโคเดก -bsf:v h264_mp4toannexb OUTPUT.ts

ขยะ
ปรับเปลี่ยนบิตสตรีมให้พอดีกับ MOV และใช้งานได้โดยตัวถอดรหัส Final Cut Pro นี้
ตัวกรองจะใช้กับตัวแปลงสัญญาณ mpeg2video เท่านั้น และอาจไม่จำเป็นสำหรับ Final Cut Pro 7
และใหม่กว่าด้วยความเหมาะสม -แท็ก:v.

ตัวอย่างเช่น ในการรีมูกซ์ 30 MB/วินาที NTSC IMX เป็น MOV:

ffmpeg -i input.mxf -c สำเนา -bsf:v imxdump -tag:v mx3n output.mov

mjpeg2jpeg
แปลงแพ็กเก็ต MJPEG/AVI1 เป็นแพ็กเก็ต JPEG/JFIF แบบเต็ม

MJPEG เป็นตัวแปลงสัญญาณวิดีโอโดยที่เฟรมวิดีโอแต่ละเฟรมจะเป็นภาพ JPEG เป็นหลัก NS
แต่ละเฟรมสามารถดึงออกมาได้โดยไม่สูญเสีย เช่น โดย

ffmpeg -i ../some_mjpeg.avi -c:v คัดลอก frames_%d.jpg

น่าเสียดายที่ชิ้นส่วนเหล่านี้เป็นภาพ JPEG ที่ไม่สมบูรณ์ เนื่องจากไม่มีส่วน DHT
ที่จำเป็นสำหรับการถอดรหัส อ้างจาก
<http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:

เอเวอรี่ ลี เขียนในกลุ่มข่าว rec.video.desktop ในปี 2001 ให้ความเห็นว่า "MJPEG หรือ
อย่างน้อย MJPEG ใน AVIs ที่มี MJPG fourcc ถูกจำกัด JPEG ด้วยค่าคงที่ -- และ
*ละเว้น* -- ตาราง Huffman JPEG ต้องเป็น YCbCr colorspace ต้องเป็น 4:2:2 และมัน
ต้องใช้การเข้ารหัส Huffman พื้นฐาน ไม่ใช่เลขคณิตหรือโปรเกรสซีฟ . . . ได้แน่นอน
แยกเฟรม MJPEG และถอดรหัสด้วยตัวถอดรหัส JPEG ปกติ แต่คุณต้อง
เพิ่มส่วน DHT ไว้ข้างหน้ามิฉะนั้นตัวถอดรหัสจะไม่มีความคิดว่าจะขยายขนาดอย่างไร
ข้อมูล. ตารางที่แน่นอนที่จำเป็นมีอยู่ในข้อมูลจำเพาะ OpenDML"

ตัวกรองบิตสตรีมนี้แก้ไขส่วนหัวของเฟรมที่แยกจากสตรีม MJPEG
(มี ID ส่วนหัว AVI1 และไม่มีเซ็กเมนต์ DHT) เพื่อสร้าง JPEG . ที่มีคุณสมบัติครบถ้วน
ภาพ

ffmpeg -i mjpeg-movie.avi -c:v คัดลอก -bsf:v mjpeg2jpeg frame_%d.jpg
exiftran -i -9 เฟรม*.jpg
ffmpeg -i frame_%d.jpg -c:v คัดลอกหมุน.avi

mjpega_dump_header
movsub
mp3_header_decompress
mpeg4_unpack_bframes
แกะเฟรม B ที่บรรจุสไตล์ DivX

B-frames ที่บรรจุในรูปแบบ DivX ไม่ใช่ MPEG-4 ที่ถูกต้องและเป็นวิธีแก้ปัญหาเท่านั้น
วิดีโอสำหรับระบบย่อย Windows พวกเขาใช้พื้นที่มากขึ้น อาจทำให้เกิดปัญหาการซิงค์ AV เล็กน้อย จำเป็นต้องใช้
พลัง CPU มากขึ้นในการถอดรหัส (เว้นแต่ผู้เล่นจะมีคิวภาพที่ถอดรหัสเพื่อชดเชย
2,0,2,0 เฟรมต่อรูปแบบแพ็คเก็ต) และทำให้เกิดปัญหาหากคัดลอกลงในคอนเทนเนอร์มาตรฐาน
เช่น mp4 หรือ mpeg-ps/ts เนื่องจากตัวถอดรหัส MPEG-4 อาจไม่สามารถถอดรหัสได้ เนื่องจาก
ไม่ใช่ MPEG-4 ที่ถูกต้อง

ตัวอย่างเช่นในการแก้ไขไฟล์ AVI ที่มีสตรีม MPEG-4 ที่มี B-frames ที่บรรจุสไตล์ DivX
การใช้ ffmpegคุณสามารถใช้คำสั่ง:

ffmpeg -i INPUT.avi -codec คัดลอก -bsf:v mpeg4_unpack_bframes OUTPUT.avi

สัญญาณรบกวน
ทำให้เนื้อหาของแพ็กเก็ตเสียหายโดยไม่ทำให้คอนเทนเนอร์เสียหาย สามารถใช้สำหรับ fuzzing หรือ
การทดสอบความยืดหยุ่น/การปกปิดความผิดพลาด

พารามิเตอร์: สตริงตัวเลข ซึ่งมีค่าเกี่ยวข้องกับจำนวนไบต์เอาต์พุตที่จะ
แก้ไข ดังนั้น ค่าที่ต่ำกว่าหรือเท่ากับ 0 เป็นสิ่งต้องห้าม และยิ่งต่ำ ยิ่ง
ไบต์ที่ใช้บ่อยจะถูกแก้ไข โดย 1 หมายความว่าทุกไบต์จะถูกแก้ไข

ffmpeg -i INPUT -c สำเนา -bsf สัญญาณรบกวน[=1] output.mkv

ใช้การแก้ไขกับทุกไบต์

ลบ_พิเศษ

FORMAT OPTIONS


ไลบรารี libavformat มีตัวเลือกส่วนกลางทั่วไปบางอย่าง ซึ่งสามารถตั้งค่าได้ทั้งหมด
muxers และ demuxers นอกจากนี้ muxer หรือ demuxer แต่ละตัวอาจรองรับสิ่งที่เรียกว่าส่วนตัว
ตัวเลือกซึ่งเฉพาะสำหรับองค์ประกอบนั้น

สามารถกำหนดตัวเลือกได้โดยระบุ -ตัวเลือก ความคุ้มค่า ในเครื่องมือ FFmpeg หรือโดยการตั้งค่า
ค่าอย่างชัดเจนในตัวเลือก "AVFormatContext" หรือใช้ libavutil/opt.h API สำหรับ
การใช้งานแบบเป็นโปรแกรม

รายการตัวเลือกที่รองรับดังต่อไปนี้:

เอวิโอแฟล็ก ธง (อินพุต / เอาต์พุต)
ค่าที่เป็นไปได้:

โดยตรง
ลดการบัฟเฟอร์

โพรบไซส์ จำนวนเต็ม (อินพุต)
ตั้งค่าขนาดโพรบเป็นไบต์ เช่น ขนาดของข้อมูลที่จะวิเคราะห์เพื่อรับสตรีม
ข้อมูล. ค่าที่สูงกว่าจะช่วยให้สามารถตรวจจับข้อมูลเพิ่มเติมได้ในกรณีที่เป็น
กระจายไปในกระแส แต่จะเพิ่มเวลาแฝง ต้องเป็นจำนวนเต็มไม่น้อย
มากกว่า 32 เป็น 5000000 โดยค่าเริ่มต้น

ขนาดแพ็คเก็ต จำนวนเต็ม (เอาท์พุต)
กำหนดขนาดแพ็กเก็ต

แฟลกส์ ธง (อินพุต / เอาต์พุต)
ตั้งค่าแฟล็กรูปแบบ

ค่าที่เป็นไปได้:

igidx
ละเว้นดัชนี

ค้นหาอย่างรวดเร็ว
เปิดใช้งานอย่างรวดเร็ว แต่การค้นหาบางรูปแบบไม่ถูกต้อง

สุภาพบุรุษ
สร้าง PTS

ไม่กรอก
อย่ากรอกค่าที่ขาดหายไปที่สามารถคำนวณได้อย่างแม่นยำ

โนพาร์ส
ปิดการใช้งาน AVParsers สิ่งนี้ต้องการ "+nofillin" ด้วย

จุดประกาย
ละเว้น DTS

ละทิ้งทุจริต
ทิ้งเฟรมที่เสียหาย

จัดเรียง
ลองสลับแพ็กเก็ตเอาต์พุตโดย DTS

คนเฝ้าประตู
อย่ารวมข้อมูลด้านข้าง

แลตม์
เปิดใช้งานเพย์โหลด RTP MP4A-LATM

ไม่มีบัฟเฟอร์
ลดเวลาแฝงที่เกิดจากบัฟเฟอร์เสริม

ไบเทค
เขียนเฉพาะข้อมูลที่ไม่ขึ้นกับแพลตฟอร์ม บิลด์ และเวลา สิ่งนี้ทำให้มั่นใจได้ว่าไฟล์
และเช็คซัมข้อมูลสามารถทำซ้ำได้และจับคู่ระหว่างแพลตฟอร์ม การใช้งานหลัก
ใช้สำหรับการทดสอบการถดถอย

Seek2any จำนวนเต็ม (อินพุต)
อนุญาตให้ค้นหาที่ไม่ใช่คีย์เฟรมในระดับ demuxer เมื่อได้รับการสนับสนุนหากตั้งค่าเป็น 1 Default
คือ 0

การวิเคราะห์ระยะเวลา จำนวนเต็ม (อินพุต)
ระบุจำนวนไมโครวินาทีที่จะวิเคราะห์เพื่อตรวจสอบอินพุต มูลค่าที่สูงขึ้นจะ
เปิดใช้งานการตรวจจับข้อมูลที่แม่นยำยิ่งขึ้น แต่จะเพิ่มเวลาในการตอบสนอง มีค่าเริ่มต้นเป็น
5,000,000 ไมโครวินาที = 5 วินาที

การเข้ารหัสลับ เลขฐานสิบหก เชือก (อินพุต)
ตั้งค่าคีย์ถอดรหัส

ดัชนี จำนวนเต็ม (อินพุต)
ตั้งค่าหน่วยความจำสูงสุดที่ใช้สำหรับดัชนีการประทับเวลา (ต่อสตรีม)

rtbufsize จำนวนเต็ม (อินพุต)
ตั้งค่าหน่วยความจำสูงสุดที่ใช้สำหรับการบัฟเฟอร์เฟรมแบบเรียลไทม์

fdebug ธง (อินพุต / เอาต์พุต)
พิมพ์ข้อมูลการดีบักเฉพาะ

ค่าที่เป็นไปได้:

ts
max_delay จำนวนเต็ม (อินพุต / เอาต์พุต)
ตั้งค่าการหน่วงเวลา muxing หรือ demuxing สูงสุดเป็นไมโครวินาที

fpsprobesize จำนวนเต็ม (อินพุต)
กำหนดจำนวนเฟรมที่ใช้ตรวจสอบ fps

เสียง_พรีโหลด จำนวนเต็ม (เอาท์พุต)
ตั้งค่าไมโครวินาทีโดยที่แพ็กเก็ตเสียงควรถูกแทรกไว้ก่อนหน้านี้

chunk_duration จำนวนเต็ม (เอาท์พุต)
ตั้งค่าไมโครวินาทีสำหรับแต่ละอัน

ก้อน_ขนาด จำนวนเต็ม (เอาท์พุต)
กำหนดขนาดเป็นไบต์สำหรับแต่ละอัน

ผิดพลาด_detect, f_err_detect ธง (อินพุต)
ตั้งค่าสถานะการตรวจจับข้อผิดพลาด "f_err_detect" เลิกใช้แล้วและควรใช้ผ่าน .เท่านั้น
ffmpeg เครื่องมือ

ค่าที่เป็นไปได้:

ซีอาร์เช็ค
ตรวจสอบ CRC ที่ฝังตัว

บิตสตรีม
ตรวจจับความเบี่ยงเบนข้อกำหนดบิตสตรีม

กันชน
ตรวจจับความยาวบิตสตรีมที่ไม่เหมาะสม

ระเบิด
ยกเลิกการถอดรหัสเมื่อตรวจพบข้อผิดพลาดเล็กน้อย

ระมัดระวัง
พิจารณาของที่ฝ่าฝืนสเปกและไม่เคยเห็นในป่าเป็น
ข้อผิดพลาด

ไม่ขัดขืน
พิจารณาการไม่ปฏิบัติตามข้อกำหนดทั้งหมดว่าเป็นข้อผิดพลาด

ก้าวร้าว
พิจารณาสิ่งที่ตัวเข้ารหัสปกติไม่ควรทำเป็นข้อผิดพลาด

max_interleave_delta จำนวนเต็ม (เอาท์พุต)
ตั้งค่าระยะเวลาบัฟเฟอร์สูงสุดสำหรับการแทรกระหว่างกัน ระยะเวลาแสดงเป็น
ไมโครวินาที และค่าเริ่มต้นคือ 1000000 (1 วินาที)

เพื่อให้แน่ใจว่าสตรีมทั้งหมดถูกสอดแทรกอย่างถูกต้อง libavformat จะรอจนกว่าจะถึง
มีอย่างน้อยหนึ่งแพ็กเก็ตสำหรับแต่ละสตรีมก่อนที่จะเขียนแพ็กเก็ตใด ๆ ไปยัง
ไฟล์ที่ส่งออก เมื่อลำธารบางสาย "เบาบาง" (กล่าวคือ มีช่องว่างขนาดใหญ่ระหว่าง
แพ็กเก็ตที่ต่อเนื่องกัน) ซึ่งอาจส่งผลให้มีการบัฟเฟอร์มากเกินไป

ฟิลด์นี้ระบุความแตกต่างสูงสุดระหว่างการประทับเวลาของครั้งแรกและ
แพ็กเก็ตสุดท้ายในคิว muxing ด้านบนซึ่ง libavformat จะส่งออกแพ็กเก็ต
ไม่ว่าจะจัดคิวแพ็คเก็ตสำหรับสตรีมทั้งหมดหรือไม่

หากตั้งค่าเป็น 0 libavformat จะดำเนินการบัฟเฟอร์แพ็กเก็ตต่อไปจนกว่าจะมีแพ็กเก็ตสำหรับ
แต่ละสตรีมโดยไม่คำนึงถึงความแตกต่างของการประทับเวลาสูงสุดระหว่างบัฟเฟอร์
แพ็คเก็ต

use_wallclock_as_timestamps จำนวนเต็ม (อินพุต)
ใช้นาฬิกาแขวนเป็นการประทับเวลา

หลีกเลี่ยง_negative_ts จำนวนเต็ม (เอาท์พุต)
ค่าที่เป็นไปได้:

make_non_negative
เปลี่ยนการประทับเวลาเพื่อให้ไม่เป็นค่าลบ โปรดทราบว่าสิ่งนี้มีผลเท่านั้น
การประทับเวลาเชิงลบชั้นนำและไม่ใช่การประทับเวลาเชิงลบที่ไม่ซ้ำซากจำเจ

make_zero
Shift timestamps เพื่อให้การประทับเวลาแรกเป็น 0

รถยนต์ (เริ่มต้น)
เปิดใช้งานการขยับเมื่อจำเป็นตามรูปแบบเป้าหมาย

พิการ
ปิดใช้งานการเปลี่ยนการประทับเวลา

เมื่อเปิดใช้งานการเปลี่ยน การประทับเวลาของเอาต์พุตทั้งหมดจะเลื่อนไปตามจำนวนที่เท่ากัน เครื่องเสียง,
วิดีโอและคำบรรยาย desynching และความแตกต่างของการประทับเวลาสัมพัทธ์จะถูกรักษาไว้
เมื่อเทียบกับวิธีที่พวกเขาจะได้รับโดยไม่ต้องขยับ

ข้าม_initial_bytes จำนวนเต็ม (อินพุต)
ตั้งค่าจำนวนไบต์ที่จะข้ามก่อนที่จะอ่านส่วนหัวและเฟรมหากตั้งค่าเป็น 1 ค่าเริ่มต้นคือ
0.

แก้ไข_ts_overflow จำนวนเต็ม (อินพุต)
แก้ไขการประทับเวลาครั้งเดียวมากเกินไปหากตั้งค่าเป็น 1 ค่าเริ่มต้นคือ 1

flush_packets จำนวนเต็ม (เอาท์พุต)
ล้างสตรีม I/O พื้นฐานหลังจากแต่ละแพ็กเก็ต ค่าเริ่มต้น 1 เปิดใช้งานและมี
ผลของการลดเวลาแฝง 0 ปิดการใช้งานและอาจเพิ่มประสิทธิภาพเล็กน้อยใน
บางกรณี.

output_ts_offset ชดเชย (เอาท์พุต)
ตั้งค่าชดเชยเวลาส่งออก

ชดเชย ต้องเป็นข้อกำหนดระยะเวลาดู เวลา ระยะเวลา ส่วน in
ffmpeg-ยูทิลิตี้(1) คู่มือ.

ออฟเซ็ตถูกเพิ่มโดย muxer ในการประทับเวลาของเอาต์พุต

การระบุออฟเซ็ตที่เป็นบวกหมายความว่ากระแสที่เกี่ยวข้องนั้นล่าช้า bt the
ระยะเวลาที่ระบุใน ชดเชย. ค่าเริ่มต้นคือ 0 (หมายความว่าไม่มีออฟเซ็ต is
สมัครแล้ว).

format_whitelist รายการ (อินพุต)
"," แยกรายการ demuxers ที่อนุญาต โดยค่าเริ่มต้นทั้งหมดจะได้รับอนุญาต

dump_separator เชือก (อินพุต)
Separator ใช้เพื่อแยกฟิลด์ที่พิมพ์บนบรรทัดคำสั่งเกี่ยวกับ Stream
พารามิเตอร์ ตัวอย่างเช่น การแยกฟิลด์ด้วยการขึ้นบรรทัดใหม่และการเยื้อง:

ffprobe -dump_separator "
" -ผม ~/videos/matrixbench_mpeg2.mpg

รูปแบบ กระแส specifiers
ตัวระบุสตรีมรูปแบบอนุญาตให้เลือกสตรีมหนึ่งรายการขึ้นไปที่ตรงกับข้อมูลเฉพาะ
สรรพคุณ

รูปแบบที่เป็นไปได้ของตัวระบุสตรีมคือ:

stream_index
จับคู่สตรีมกับดัชนีนี้

stream_type[:stream_index]
stream_type เป็นหนึ่งในต่อไปนี้: 'v' สำหรับวิดีโอ 'a' สำหรับเสียง 's' สำหรับคำบรรยาย 'd'
สำหรับข้อมูล และ 't' สำหรับไฟล์แนบ ถ้า stream_index ให้แล้วตรงกับ
หมายเลขสตรีม stream_index ประเภทนี้ ไม่งั้นก็เข้าข่ายสายนี้ทั้งหมด
ชนิด

p:โปรแกรม_id[:stream_index]
If stream_index ให้แล้วจับคู่กระแสกับตัวเลข stream_index ใน
โปรแกรมที่มีรหัส โปรแกรม_id. มิฉะนั้นจะตรงกับสตรีมทั้งหมดในโปรแกรม

#stream_id
จับคู่สตรีมด้วยรหัสเฉพาะรูปแบบ

ความหมายที่แน่นอนของตัวระบุสตรีมถูกกำหนดโดย
ฟังก์ชัน "avformat_match_stream_specifier()" ที่ประกาศใน libavformat/avformat.h
ส่วนหัว

เดมเซอร์


Demuxers เป็นองค์ประกอบที่กำหนดค่าใน FFmpeg ที่สามารถอ่านสตรีมมัลติมีเดียจาก
ไฟล์บางประเภท

เมื่อคุณกำหนดค่าบิลด์ FFmpeg ดีม็อกซ์ที่รองรับทั้งหมดจะถูกเปิดใช้งานตามค่าเริ่มต้น
คุณสามารถแสดงรายการที่มีอยู่ทั้งหมดโดยใช้ตัวเลือกการกำหนดค่า "--list-demuxers"

คุณสามารถปิดการใช้งาน demuxers ทั้งหมดโดยใช้ตัวเลือกการกำหนดค่า "--disable-demuxers" และ
เลือกเปิดใช้งาน demuxer ตัวเดียวพร้อมตัวเลือก "--enable-demuxer=เดมักเซอร์"หรือปิดการใช้งาน
ด้วยตัวเลือก "--disable-demuxer=เดมักเซอร์".

ตัวเลือก "-formats" ของเครื่องมือ ff* จะแสดงรายการตัวดีลักซ์ที่เปิดใช้งาน

คำอธิบายของ demuxers ที่มีอยู่ในปัจจุบันบางตัวมีดังต่อไปนี้

aa
รูปแบบเสียง 2, 3 และ 4 demuxer

demuxer นี้ใช้เพื่อ demux ไฟล์ Audible Format 2, 3 และ 4 (.aa)

แอปเปิ้ลhttp
โปรแกรมดีม็อกซ์ HTTP Live Streaming ของ Apple

demuxer นี้นำเสนอ AVStreams ทั้งหมดจากสตรีมแบบต่างๆ ฟิลด์ ID ถูกตั้งค่าเป็น
หมายเลขดัชนีตัวแปรบิตเรต โดยการตั้งค่าสถานะละทิ้งบน AVStreams (โดยการกด 'a'
หรือ 'v' ใน ffplay) ผู้โทรสามารถเลือกได้ว่าต้องการรับกระแสข้อมูลแบบใด NS
อัตราบิตรวมของตัวแปรที่สตรีมอยู่ในคีย์ข้อมูลเมตา
ชื่อ "variant_bitrate"

apng
ตัวล้างกราฟิกเครือข่ายแบบพกพาแบบเคลื่อนไหว

demuxer นี้ใช้เพื่อ demux ไฟล์ APNG ส่วนหัวทั้งหมด ยกเว้นลายเซ็น PNG สูงสุด (แต่
ไม่รวม) ส่วน fcTL แรกจะถูกส่งเป็นข้อมูลพิเศษ เฟรมจะถูกแยกออก
เนื่องจากเป็นส่วนทั้งหมดระหว่าง fcTL สองตัวหรือระหว่าง fcTL และ IEND อันสุดท้าย

-ignore_loop บูล
ละเว้นตัวแปรลูปในไฟล์หากตั้งค่าไว้

-max_fps int
อัตราเฟรมสูงสุดเป็นเฟรมต่อวินาที (0 ไม่จำกัด)

-default_fps int
อัตราเฟรมเริ่มต้นเป็นเฟรมต่อวินาทีเมื่อไม่มีการระบุในไฟล์ (0 ความหมาย
โดยเร็วที่สุด)

ASF
ตัวลบรูปแบบระบบขั้นสูง

demuxer นี้ใช้เพื่อ demux ไฟล์ ASF และสตรีมเครือข่าย MMS

-no_resync_search บูล
อย่าพยายามซิงโครไนซ์ใหม่โดยมองหารหัสเริ่มต้นที่เป็นทางเลือก

เชื่อม
ดีม็อกซ์สคริปต์การเชื่อมต่อเสมือน

โปรแกรมดีม็อกซ์นี้อ่านรายการไฟล์และคำสั่งอื่นๆ จากไฟล์ข้อความและลบไฟล์เหล่านั้น
ทีละกล่องราวกับว่าห่อทั้งหมดของพวกเขาถูกมัดเข้าด้วยกัน

เวลาประทับในไฟล์จะถูกปรับเพื่อให้ไฟล์แรกเริ่มต้นที่ 0 และแต่ละไฟล์ถัดไป
ไฟล์เริ่มต้นเมื่อไฟล์ก่อนหน้าเสร็จสิ้น โปรดทราบว่าจะทำทั่วโลกและอาจทำให้เกิด
ช่องว่างหากสตรีมทั้งหมดมีความยาวไม่เท่ากัน

ไฟล์ทั้งหมดต้องมีสตรีมเดียวกัน (ตัวแปลงสัญญาณเดียวกัน ฐานเวลาเดียวกัน ฯลฯ)

ระยะเวลาของแต่ละไฟล์ใช้เพื่อปรับการประทับเวลาของไฟล์ถัดไป: ถ้า
ระยะเวลาไม่ถูกต้อง (เพราะคำนวณโดยใช้อัตราบิตหรือเนื่องจากไฟล์เป็น
ตัดทอน เป็นต้น) ก็สามารถทำให้เกิดสิ่งประดิษฐ์ได้ คำสั่ง "duration" สามารถใช้เพื่อ
แทนที่ระยะเวลาที่เก็บไว้ในแต่ละไฟล์

วากยสัมพันธ์

สคริปต์เป็นไฟล์ข้อความใน Extended-ASCII โดยมีคำสั่งเดียวต่อบรรทัด เส้นเปล่า
ช่องว่างนำหน้าและบรรทัดที่ขึ้นต้นด้วย '#' จะถูกละเว้น คำสั่งต่อไปนี้คือ
ได้รับการยอมรับ:

"ไฟล์ เส้นทาง"
เส้นทางไปยังไฟล์ที่จะอ่าน; อักขระพิเศษและช่องว่างต้องหนีด้วยแบ็กสแลช
หรือคำพูดเดียว

คำสั่งที่เกี่ยวข้องกับไฟล์ที่ตามมาทั้งหมดใช้กับไฟล์นั้น

"ffconcat รุ่น 1.0 "
ระบุประเภทและเวอร์ชันของสคริปต์ นอกจากนี้ยังตั้งค่า ปลอดภัย ตัวเลือกที่ 1 ถ้าเป็นไป
ค่าเริ่มต้นคือ -1

เพื่อให้ FFmpeg รู้จักรูปแบบโดยอัตโนมัติ คำสั่งนี้ต้องปรากฏทุกประการ
ตามที่เป็นอยู่ (ไม่มีช่องว่างเพิ่มเติมหรือ byte-order-mark) ในบรรทัดแรกของสคริปต์

"ระยะเวลา หยาบ"
ระยะเวลาของไฟล์ ข้อมูลนี้สามารถระบุได้จากไฟล์ ระบุมัน
ที่นี่อาจมีประสิทธิภาพมากขึ้นหรือช่วยได้หากไม่มีข้อมูลจากไฟล์
หรือแม่น.

หากกำหนดระยะเวลาสำหรับไฟล์ทั้งหมดก็เป็นไปได้ที่จะค้นหาทั้งหมด
วิดีโอที่ต่อกัน

"อินพอยท์ การประทับเวลา"
ในส่วนของไฟล์. เมื่อ demuxer เปิดไฟล์ มันจะค้นหาไฟล์ . ทันที
เวลาประทับที่ระบุ การค้นหาเสร็จสิ้นเพื่อให้สามารถนำเสนอสตรีมทั้งหมดได้สำเร็จ
ที่จุด.

คำสั่งนี้ทำงานได้ดีที่สุดกับตัวแปลงสัญญาณภายในเฟรม เพราะสำหรับตัวที่ไม่ใช่เฟรมภายใน
โดยปกติคุณจะได้รับแพ็กเก็ตพิเศษก่อนจุด In point จริงและเนื้อหาที่ถอดรหัส
ส่วนใหญ่จะมีเฟรมก่อน In point ด้วย

สำหรับแต่ละไฟล์ แพ็กเก็ตก่อนไฟล์ In point จะมี timestamps น้อยกว่า the
เวลาเริ่มต้นที่คำนวณของไฟล์ (ลบในกรณีของไฟล์แรก) และ
ระยะเวลาของไฟล์ (หากไม่ได้ระบุโดยคำสั่ง "duration") จะลดลง
ตามจุด In ที่ระบุ

เนื่องจากแพ็กเก็ตที่อาจเกิดขึ้นก่อนจุด In ที่ระบุ การประทับเวลาของแพ็กเก็ตอาจ
ทับซ้อนกันระหว่างสองไฟล์ที่ต่อกัน

"จุดยืน การประทับเวลา"
จุดออกของไฟล์. เมื่อ demuxer ถึงเวลาถอดรหัสที่ระบุใน
สตรีมใด ๆ จะจัดการเป็นจุดสิ้นสุดของเงื่อนไขไฟล์และข้ามกระแส
และแพ็กเก็ตที่เหลือทั้งหมดจากสตรีมทั้งหมด

Out point เป็นเอกสิทธิ์ ซึ่งหมายความว่า demuxer จะไม่ส่งออกแพ็กเก็ตด้วย a
การถอดรหัสการประทับเวลามากกว่าหรือเท่ากับจุดออก

คำสั่งนี้ทำงานได้ดีที่สุดกับตัวแปลงสัญญาณภายในเฟรมและรูปแบบที่สตรีมทั้งหมดอยู่
สอดแทรกอย่างแน่นหนา สำหรับตัวแปลงสัญญาณที่ไม่ใช่เฟรมภายใน คุณมักจะได้รับเพิ่มเติม
แพ็กเก็ตที่มีการประทับเวลาการนำเสนอหลังจากจุด Out ดังนั้นเนื้อหาที่ถอดรหัสจะ
น่าจะมีเฟรมหลัง Out point ด้วย ถ้าสตรีมของคุณไม่แน่น
interleaved คุณอาจไม่ได้รับแพ็กเก็ตทั้งหมดจากสตรีมทั้งหมดก่อน Out point และคุณ
จะสามารถถอดรหัสสตรีมแรกสุดได้จนถึงจุดออกเท่านั้น

ระยะเวลาของไฟล์ (หากไม่ได้ระบุโดยคำสั่ง "duration") จะเป็น
ลดลงตามจุดออกที่ระบุ

"file_packet_metadata คีย์=ค่า"
ข้อมูลเมตาของแพ็กเก็ตของไฟล์ ข้อมูลเมตาที่ระบุจะถูกตั้งค่าสำหรับแต่ละไฟล์
แพ็คเก็ต คุณสามารถระบุคำสั่งนี้ได้หลายครั้งเพื่อเพิ่มข้อมูลเมตาหลายรายการ
รายการ.

"ลำธาร"
แนะนำสตรีมในไฟล์เสมือน คำสั่งที่เกี่ยวข้องกับสตรีมที่ตามมาทั้งหมด
นำไปใช้กับสตรีมที่แนะนำล่าสุด ต้องตั้งค่าคุณสมบัติสตรีมบางรายการเพื่อ
อนุญาตให้ระบุสตรีมที่ตรงกันในไฟล์ย่อย หากไม่มีการกำหนดสตรีมใน
สคริปต์ สตรีมจากไฟล์แรกจะถูกคัดลอก

"แน่นอน_สตรีม_id id"
ตั้งค่า ID ของสตรีม หากได้รับคำสั่งนี้ สตริงที่มี
id ที่เกี่ยวข้องในไฟล์ย่อยจะถูกใช้ สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับ MPEG-PS
(VOB) ไฟล์ที่ลำดับของสตรีมไม่น่าเชื่อถือ

Options

demuxer นี้ยอมรับตัวเลือกต่อไปนี้:

ปลอดภัย
หากตั้งค่าเป็น 1 ให้ปฏิเสธเส้นทางไฟล์ที่ไม่ปลอดภัย เส้นทางของไฟล์จะถือว่าปลอดภัยถ้าไม่
มีข้อกำหนดของโปรโตคอลและสัมพันธ์กันและส่วนประกอบทั้งหมดมีเฉพาะ
อักขระจากชุดอักขระแบบพกพา (ตัวอักษร ตัวเลข จุด ขีดล่าง และ
ยัติภังค์) และไม่มีจุดที่จุดเริ่มต้นขององค์ประกอบ

หากตั้งค่าเป็น 0 ยอมรับชื่อไฟล์ใดๆ

ค่าดีฟอลต์คือ -1 ซึ่งเทียบเท่ากับ 1 หากรูปแบบถูกโพรบโดยอัตโนมัติและ 0
มิฉะนั้น.

อัตโนมัติ_แปลง
หากตั้งค่าเป็น 1 ให้ลองแปลงข้อมูลแพ็กเก็ตโดยอัตโนมัติเพื่อสร้างสตรีม
ต่อกันได้ ค่าเริ่มต้นคือ 1

ปัจจุบัน การแปลงเพียงอย่างเดียวคือการเพิ่มตัวกรองบิตสตรีม h264_mp4toannexb เป็น
สตรีม H.264 ในรูปแบบ MP4 นี่เป็นสิ่งจำเป็นอย่างยิ่งหากมีความละเอียด
การเปลี่ยนแปลง

FLV
โปรแกรมดีม็อกซ์รูปแบบวิดีโอ Adobe Flash

demuxer นี้ใช้เพื่อ demux ไฟล์ FLV และสตรีมเครือข่าย RTMP

-flv_metadata บูล
จัดสรรสตรีมตามเนื้อหาอาร์เรย์ onMetaData

ลิบเม่
ไลบรารี Game Music Emu คือชุดของโปรแกรมจำลองไฟล์เพลงในวิดีโอเกม

ดูhttp://code.google.com/p/game-music-emu/> สำหรับข้อมูลเพิ่มเติม

ไฟล์บางไฟล์มีหลายแทร็ก โปรแกรมดีม็อกซ์จะเลือกแทร็กแรกโดยค่าเริ่มต้น NS
track_index สามารถใช้ตัวเลือกเพื่อเลือกแทร็กอื่นได้ ดัชนีติดตามเริ่มต้นที่ 0 The
demuxer ส่งออกจำนวนแทร็กเป็น แทร็ค การป้อนข้อมูลเมตา

สำหรับไฟล์ขนาดใหญ่มาก ไฟล์ สูงสุด_ขนาด อาจต้องปรับตัวเลือก

ลิบคูวี่
เล่นสื่อจากบริการอินเทอร์เน็ตโดยใช้โปรเจ็กต์ quvi

demuxer ยอมรับ a รูป ตัวเลือกเพื่อขอคุณภาพเฉพาะ โดยค่าเริ่มต้นจะตั้งเป็น
ดีที่สุด.

ดูhttp://quvi.sourceforge.net/> สำหรับข้อมูลเพิ่มเติม

FFmpeg ต้องสร้างด้วย "--enable-libquvi" เพื่อให้ดีลักซ์เซอร์นี้เปิดใช้งานได้

GIF
ตัวล้างไฟล์ GIF แบบเคลื่อนไหว

ยอมรับตัวเลือกต่อไปนี้:

นาที_ล่าช้า
ตั้งค่าการหน่วงเวลาที่ถูกต้องขั้นต่ำระหว่างเฟรมเป็นร้อยวินาที ช่วงคือ 0 ถึง
6000 ค่าเริ่มต้นคือ 2

max_gif_delay
ตั้งค่าการหน่วงเวลาที่ถูกต้องสูงสุดระหว่างเฟรมเป็นร้อยวินาที ช่วงคือ 0 ถึง
65535 ค่าเริ่มต้นคือ 65535 (เกือบสิบเอ็ดนาที) ค่าสูงสุดที่อนุญาตโดย
ข้อกำหนด

default_delay
ตั้งค่าการหน่วงเวลาเริ่มต้นระหว่างเฟรมเป็นร้อยวินาที ช่วง 0 ถึง 6000
ค่าเริ่มต้นคือ 10

ละเว้น_ลูป
ไฟล์ GIF สามารถมีข้อมูลเพื่อวนซ้ำเป็นจำนวนครั้ง (หรือไม่จำกัด)
If ละเว้น_ลูป ถูกตั้งค่าเป็น 1 จากนั้นการตั้งค่าลูปจากอินพุตจะถูกละเว้นและ
การวนซ้ำจะไม่เกิดขึ้น หากตั้งค่าเป็น 0 การวนซ้ำจะเกิดขึ้นและจะวนเป็นตัวเลข
ครั้งตาม GIF ค่าเริ่มต้นคือ 1

ตัวอย่างเช่น ด้วยตัวกรองโอเวอร์เลย์ ให้วาง GIF แบบวนซ้ำแบบไม่จำกัดบนวิดีโออื่น:

ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex โอเวอร์เลย์=สั้นที่สุด=1 out.mkv

โปรดทราบว่าในตัวอย่างข้างต้น ตัวเลือกที่สั้นที่สุดสำหรับตัวกรองซ้อนทับใช้เพื่อสิ้นสุด
เอาต์พุตวิดีโอที่ความยาวของไฟล์อินพุตที่สั้นที่สุด ซึ่งในกรณีนี้คือ อินพุต.mp4 as
GIF ในตัวอย่างนี้วนซ้ำไม่รู้จบ

image2
โปรแกรมลบไฟล์รูปภาพ

demuxer นี้อ่านจากรายการไฟล์รูปภาพที่ระบุโดยรูปแบบ ไวยากรณ์และ
ความหมายของรูปแบบถูกระบุโดยตัวเลือก รูปแบบ_ประเภท.

รูปแบบอาจมีคำต่อท้ายที่ใช้กำหนดรูปแบบของ .โดยอัตโนมัติ
ภาพที่มีอยู่ในไฟล์.

ขนาด รูปแบบพิกเซล และรูปแบบของภาพแต่ละภาพจะต้องเท่ากันสำหรับ
ไฟล์ตามลำดับ

demuxer นี้ยอมรับตัวเลือกต่อไปนี้:

เฟรม
กำหนดอัตราเฟรมสำหรับสตรีมวิดีโอ ค่าเริ่มต้นคือ 25

ห่วง
หากตั้งค่าเป็น 1 ให้วนซ้ำอินพุต ค่าเริ่มต้นคือ 0

รูปแบบ_ประเภท
เลือกประเภทรูปแบบที่ใช้ในการตีความชื่อไฟล์ที่ให้มา

รูปแบบ_ประเภท ยอมรับค่าใดค่าหนึ่งต่อไปนี้

ไม่มี
ปิดใช้งานการจับคู่รูปแบบ ดังนั้นวิดีโอจะมีเฉพาะรายการที่ระบุ
ภาพ. คุณควรใช้ตัวเลือกนี้หากคุณไม่ต้องการสร้างลำดับจาก
หลายภาพและชื่อไฟล์ของคุณอาจมีอักขระรูปแบบพิเศษ

ลำดับ
เลือกประเภทรูปแบบลำดับ ใช้เพื่อระบุลำดับของไฟล์ที่จัดทำดัชนีโดย
ตัวเลขตามลำดับ

รูปแบบลำดับอาจมีสตริง "%d" หรือ "%0Nd" ซึ่งระบุ
ตำแหน่งของตัวอักษรแทนเลขลำดับในแต่ละชื่อไฟล์
ตรงตามแบบ. หากอยู่ในรูปแบบ "%d0Nd" ใช้สตริงแทน
หมายเลขในแต่ละชื่อไฟล์เป็น 0-padded และ N คือจำนวนรวมของตัวเลขเสริม 0 หลัก
เป็นตัวแทนของตัวเลข อักขระตามตัวอักษร '%' สามารถระบุได้ในรูปแบบ
ด้วยสตริง "%%"

หากรูปแบบลำดับมี "%d" หรือ "%0Nd" ชื่อไฟล์แรกของไฟล์
รายการที่ระบุโดยรูปแบบจะต้องมีตัวเลขรวมอยู่ระหว่าง
start_number และ start_number+start_number_range-1 และตัวเลขต่อไปนี้ทั้งหมด
จะต้องเป็นไปตามลำดับ

ตัวอย่างเช่น รูปแบบ "img-%03d.bmp" จะตรงกับลำดับของชื่อไฟล์ของ
ฟอร์ม img-001.bmp, img-002.bmp, ... , img-010.bmp, ฯลฯ . ; รูปแบบ
"i%%m%%g-%d.jpg" loading="lazy" จะจับคู่ลำดับของชื่อไฟล์ของแบบฟอร์ม ฉัน%m%g-1.jpg,
ฉัน%m%g-2.jpg, ... , ฉัน%m%g-10.jpgฯลฯ

โปรดทราบว่ารูปแบบไม่จำเป็นต้องมี "%d" หรือ "%0Nd" เช่น to
แปลงไฟล์ภาพเดียว img.jpeg คุณสามารถใช้คำสั่ง:

ffmpeg -i img.jpeg img.png

glob
เลือกประเภทรูปแบบสัญลักษณ์ตัวแทน glob

รูปแบบถูกตีความเหมือนรูปแบบ "glob()" เลือกได้ก็ต่อเมื่อ
libavformat ถูกคอมไพล์ด้วยการสนับสนุน globbing

glob_sequence (เลิกใช้, จะ be ลบออก)
เลือกรูปแบบสัญลักษณ์แทน/ลำดับ glob แบบผสม

หากเวอร์ชันของ libavformat ของคุณถูกคอมไพล์ด้วยการสนับสนุน globbing และ
รูปแบบที่ระบุมีอักขระเมตาโกลบอลอย่างน้อยหนึ่งตัวในหมู่ "%*?[]{}" นั่นคือ
นำหน้าด้วย "%" ที่ไม่ใช้ Escape รูปแบบจะถูกตีความเหมือนรูปแบบ "glob()"
มิฉะนั้นจะถูกตีความเหมือนรูปแบบลำดับ

อักขระพิเศษ glob ทั้งหมด "%*?[]{}" ต้องขึ้นต้นด้วย "%" ที่จะหลบหนี a
ตัวอักษร "%" คุณจะต้องใช้ "%%"

ตัวอย่างเช่น รูปแบบ "foo-%*.jpeg" จะตรงกับชื่อไฟล์ทั้งหมดที่นำหน้าด้วย
"foo-" และลงท้ายด้วย ".jpeg" และ "foo-%?%?%?.jpeg" จะจับคู่ทั้งหมด
ชื่อไฟล์ที่นำหน้าด้วย "foo-" ตามด้วยอักขระสามตัว และ
ลงท้ายด้วย ".jpeg"

รูปแบบนี้เลิกใช้แล้วเพื่อสนับสนุน glob และ ลำดับ.

ค่าเริ่มต้นคือ glob_sequence.

pixel_format
กำหนดรูปแบบพิกเซลของรูปภาพที่จะอ่าน หากไม่ระบุรูปแบบพิกเซลคือ
เดาจากไฟล์ภาพแรกในลำดับ

start_number
ตั้งค่าดัชนีของไฟล์ที่ตรงกับรูปแบบไฟล์รูปภาพเพื่อเริ่มอ่าน
ค่าเริ่มต้นคือ 0

start_number_range
ตั้งค่าช่วงช่วงดัชนีเพื่อตรวจสอบเมื่อค้นหาไฟล์ภาพแรกในไฟล์
ลำดับ เริ่มจาก start_number. ค่าเริ่มต้นคือ 5

ts_from_file
หากตั้งค่าเป็น 1 จะตั้งค่าการประทับเวลาของเฟรมเป็นเวลาแก้ไขไฟล์รูปภาพ สังเกตว่า
ไม่ได้ระบุความซ้ำซากจำเจของการประทับเวลา: รูปภาพไปในลำดับเดียวกับที่ไม่มีสิ่งนี้
ตัวเลือก. ค่าเริ่มต้นคือ 0 หากตั้งค่าเป็น 2 จะตั้งค่าการประทับเวลาของเฟรมเป็นการแก้ไข
เวลาของไฟล์ภาพที่มีความแม่นยำระดับนาโนวินาที

วิดีโอ_ขนาด
กำหนดขนาดวิดีโอของภาพที่จะอ่าน หากไม่ได้ระบุขนาดวิดีโอให้เดา
จากไฟล์ภาพแรกในลำดับ

ตัวอย่าง

· ใช้ ffmpeg สำหรับสร้างวิดีโอจากภาพในลำดับไฟล์ img-001.jpeg,
img-002.jpeg, ... สมมติว่าอัตราเฟรมอินพุต 10 เฟรมต่อวินาที:

ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv

· ดังที่กล่าวข้างต้น แต่ให้เริ่มต้นด้วยการอ่านจากไฟล์ที่มีดัชนี 100 ตามลำดับ:

ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv

· อ่านรูปภาพที่ตรงกับรูปแบบ "*.png" loading="lazy" glob ซึ่งเป็นไฟล์ทั้งหมดที่ลงท้ายด้วย
คำต่อท้าย ".png" กำลังโหลด = "ขี้เกียจ":

ffmpeg -framerate 10 -pattern_type glob -i "*.png" กำลังโหลด = "ขี้เกียจ" out.mkv

mov/mp4/3gp/Quicktme
โปรแกรมลดเวลา Quicktime / MP4

demuxer นี้ยอมรับตัวเลือกต่อไปนี้:

Enable_drefs
เปิดใช้งานการโหลดแทร็กภายนอก ปิดใช้งานโดยค่าเริ่มต้น การเปิดใช้งาน can . นี้
ข้อมูลทางทฤษฎีรั่วไหลในบางกรณีการใช้งาน

use_absolute_path
อนุญาตให้โหลดแทร็กภายนอกผ่านเส้นทางที่แน่นอน ปิดใช้งานโดยค่าเริ่มต้น กำลังเปิดใช้งาน
สิ่งนี้ทำให้เกิดความเสี่ยงด้านความปลอดภัย ควรเปิดใช้งานก็ต่อเมื่อทราบว่าแหล่งที่มาไม่ใช่
เป็นอันตราย

mpegts
ตัวถอดรหัสสตรีมการขนส่ง MPEG-2

demuxer นี้ยอมรับตัวเลือกต่อไปนี้:

ซิงค์_ขนาด
ตั้งค่าขีดจำกัดขนาดเพื่อค้นหาการซิงโครไนซ์ใหม่ ค่าเริ่มต้นคือ 65536

fix_teletext_pts
แทนที่ค่า PTS และ DTS ของแพ็กเก็ตเทเลเท็กซ์ด้วยการประทับเวลาที่คำนวณจาก
PCR ของโปรแกรมแรกที่สตรีมเทเลเท็กซ์เป็นส่วนหนึ่งของและไม่ละทิ้ง
ค่าเริ่มต้นคือ 1 ตั้งค่าตัวเลือกนี้เป็น 0 หากคุณต้องการแพ็กเก็ตเทเลเท็กซ์ PTS และ DTS
คุณค่าที่ไม่ถูกแตะต้อง

ts_packetsize
ตัวเลือกเอาต์พุตที่มีขนาดแพ็กเก็ตดิบเป็นไบต์ แสดงแพ็คเก็ตดิบที่ตรวจพบ
ขนาดที่ผู้ใช้กำหนดไม่ได้

scan_all_pmts
สแกนและรวม PMT ทั้งหมด ค่าเป็นจำนวนเต็มที่มีค่าตั้งแต่ -1 ถึง 1 (-1 หมายถึง
การตั้งค่าอัตโนมัติ 1 หมายถึงเปิดใช้งาน 0 หมายถึงปิดใช้งาน) ค่าเริ่มต้นคือ -1

วิดีโอดิบ
ตัวถอดรหัสวิดีโอดิบ

demuxer นี้อนุญาตให้อ่านข้อมูลวิดีโอดิบ เนื่องจากไม่มีส่วนหัวระบุ
สมมติพารามิเตอร์วิดีโอ ผู้ใช้ต้องระบุเพื่อให้สามารถถอดรหัส
ข้อมูลได้อย่างถูกต้อง

demuxer นี้ยอมรับตัวเลือกต่อไปนี้:

เฟรม
ตั้งค่าอัตราเฟรมวิดีโออินพุต ค่าเริ่มต้นคือ 25

pixel_format
ตั้งค่ารูปแบบพิกเซลของวิดีโออินพุต ค่าเริ่มต้นคือ "yuv420p"

วิดีโอ_ขนาด
ตั้งค่าขนาดวิดีโออินพุต ต้องระบุค่านี้อย่างชัดเจน

เช่น การอ่านไฟล์ rawvideo อินพุต.ดิบ กับ ffplay, สมมติว่ารูปแบบพิกเซลของ
"rgb24" ขนาดวิดีโอ "320x240" และอัตราเฟรม 10 ภาพต่อวินาที ใช้
คำสั่ง:

ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 อินพุตดิบ

เอสบีจี
ตัวกำจัดสคริปต์ SBaGen

demuxer นี้อ่านภาษาสคริปต์ที่ใช้โดยSBaGenhttp://uazu.net/sbagen/> ถึง
สร้างเซสชัน binaural beats สคริปต์ SBG มีลักษณะดังนี้:

-ถ้า
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
ปิด: -
ตอนนี้ == a
+0:07:00 == ข
+0:14:00 == ก
+0:21:00 == ข
+0:30:00 ปิด

สคริปต์ SBG สามารถผสมการประทับเวลาแบบสัมบูรณ์และแบบสัมพัทธ์ได้ หากสคริปต์ใช้อย่างใดอย่างหนึ่งเท่านั้น
การประทับเวลาแบบสัมบูรณ์ (รวมถึงเวลาเริ่มต้นของสคริปต์) หรือเวลาที่เกี่ยวข้องเท่านั้น ตามด้วย
เลย์เอาต์ได้รับการแก้ไขและการแปลงนั้นตรงไปตรงมา ในทางกลับกัน ถ้าสคริปต์
ผสมการประทับเวลาทั้งสองแบบ แล้ว NOW การอ้างอิงสำหรับการประทับเวลาสัมพัทธ์จะเป็น
นำมาจากเวลาปัจจุบันของวันที่อ่านสคริปต์และเค้าโครงสคริปต์
จะถูกแช่แข็งตามข้อมูลอ้างอิงนั้น นั่นก็หมายความว่าถ้าเป็นสคริปต์โดยตรง
ที่เล่น เวลาจริงจะตรงกับการประทับเวลาที่แน่นอนถึงตัวควบคุมเสียงของ
ความแม่นยำของนาฬิกา แต่ถ้าผู้ใช้หยุดเล่นชั่วคราวหรือค้นหาอย่างใด เวลาทั้งหมดจะเป็น
เลื่อนไปตามนั้น

คำบรรยายภาพ
คำบรรยาย JSON ใช้สำหรับhttp://www.ted.com/>.

TED ไม่มีลิงก์ไปยังคำอธิบายภาพ แต่สามารถเดาได้จากหน้า NS
ไฟล์ tools/bookmarklets.html จากแผนผังซอร์ส FFmpeg มี bookmarklet เพื่อเปิดเผย
พวกเขา

demuxer นี้ยอมรับตัวเลือกต่อไปนี้:

เวลาเริ่มต้น
ตั้งเวลาเริ่มต้นของการพูดคุย TED เป็นมิลลิวินาที ค่าเริ่มต้นคือ 15000 (15 วินาที) มันคือ
ใช้เพื่อซิงค์คำบรรยายกับวิดีโอที่ดาวน์โหลดได้ เพราะมี 15s
บทนำ

ตัวอย่าง: แปลงคำบรรยายเป็นรูปแบบที่ผู้เล่นส่วนใหญ่เข้าใจ:

ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-th.srt

เมตา


FFmpeg สามารถถ่ายโอนข้อมูลเมตาจากไฟล์สื่อไปยังข้อความที่เหมือน INI ที่เข้ารหัส UTF-8 อย่างง่าย
จากนั้นโหลดกลับโดยใช้ metadata muxer/demuxer

รูปแบบไฟล์มีดังนี้:

1. ไฟล์ประกอบด้วยส่วนหัวและแท็กข้อมูลเมตาจำนวนหนึ่งซึ่งแบ่งออกเป็นส่วนต่างๆ แต่ละส่วน
ในสายของตัวเอง

2. ส่วนหัวคือ a ;FFMETADATA string ตามด้วยหมายเลขเวอร์ชัน (ตอนนี้ 1)

3. แท็กข้อมูลเมตาอยู่ในรูปแบบ คีย์=ค่า

4. ทันทีหลังจากที่ส่วนหัวติดตามข้อมูลเมตาส่วนกลาง

5. หลังจากข้อมูลเมตาส่วนกลาง อาจมีส่วนที่มีข้อมูลเมตาต่อสตรีม/ต่อบท

6. ส่วนเริ่มต้นด้วยชื่อส่วนเป็นตัวพิมพ์ใหญ่ (เช่น STREAM หรือ CHAPTER) ใน
วงเล็บ ([, ]) และลงท้ายด้วยส่วนถัดไปหรือส่วนท้ายของไฟล์

7. ในตอนต้นของส่วนบท อาจมีฐานเวลาเสริมที่จะใช้สำหรับ
ค่าเริ่มต้น/สิ้นสุด ต้องอยู่ในรูปแบบ ไทม์เบส=NUM/วันที่นี่มี NUM และ วัน เป็นจำนวนเต็ม
หากไม่มีฐานเวลา เวลาเริ่มต้น/สิ้นสุดจะถือว่าอยู่ในหน่วยมิลลิวินาที

ถัดไป ส่วนของบทต้องมีเวลาเริ่มต้นและสิ้นสุดในแบบฟอร์ม start =NUM,
สิ้นสุด=NUMที่นี่มี NUM เป็นจำนวนเต็มบวก

8. บรรทัดว่างและบรรทัดที่ขึ้นต้นด้วย ; or # จะถูกละเว้น

9. คีย์ข้อมูลเมตาหรือค่าที่มีอักขระพิเศษ (=, ;, #, \ และขึ้นบรรทัดใหม่) ต้อง
หนีด้วยแบ็กสแลช \.

10. โปรดทราบว่าช่องว่างในข้อมูลเมตา (เช่น foo = บาร์) ถือว่าเป็นส่วนหนึ่งของ
แท็ก (ในตัวอย่างด้านบนคีย์คือ foo , ค่าคือ
บาร์).

ไฟล์ ffmetadata อาจมีลักษณะดังนี้:

;FFMETADATA1
title=จักรยาน\\เพิง
;นี่คือความคิดเห็น
ศิลปิน=FFmpeg โทรลล์ทีม

[บท]
ไทม์เบส=1/1000
เริ่มต้น=0
#บทสิ้นสุดเวลา 0:01:00 น.
จบ=60000
title=บท \#1
[ลำธาร]
ชื่อเรื่อง=หลาย\
เส้น

โดยใช้ ffmetadata muxer และ demuxer เป็นไปได้ที่จะแยกข้อมูลเมตาจากอินพุต
ไฟล์เป็นไฟล์ ffmetadata จากนั้นแปลงไฟล์เป็นไฟล์เอาต์พุตด้วย
แก้ไขไฟล์ ffmetadata

แตกไฟล์ ffmetadata ด้วย ffmpeg ไปดังนี้:

ffmpeg -i อินพุต -f ffmetadata FFMETADATAFILE

การแทรกข้อมูลเมตาดาต้าที่แก้ไขแล้วจากไฟล์ FFMETADATAFILE สามารถทำได้ดังนี้:

ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec คัดลอก OUTPUT

โปรโตคอล


โปรโตคอลมีการกำหนดค่าองค์ประกอบใน FFmpeg ที่เปิดใช้งานการเข้าถึงทรัพยากรที่ต้องการ
โปรโตคอลเฉพาะ

เมื่อคุณกำหนดค่าบิลด์ FFmpeg ของคุณ โปรโตคอลที่รองรับทั้งหมดจะถูกเปิดใช้งานตามค่าเริ่มต้น
คุณสามารถแสดงรายการที่มีอยู่ทั้งหมดโดยใช้ตัวเลือกการกำหนดค่า "--list-protocols"

คุณสามารถปิดใช้งานโปรโตคอลทั้งหมดได้โดยใช้ตัวเลือกการกำหนดค่า "--disable-protocols" และ
เลือกเปิดใช้งานโปรโตคอลโดยใช้ตัวเลือก "--enable-protocol=มาตรการ" หรือคุณสามารถ
ปิดใช้งานโปรโตคอลเฉพาะโดยใช้ตัวเลือก "--disable-protocol=มาตรการ".

ตัวเลือก "-โปรโตคอล" ของเครื่องมือ ff* จะแสดงรายการโปรโตคอลที่รองรับ

คำอธิบายของโปรโตคอลที่มีอยู่ในปัจจุบันมีดังต่อไปนี้

async
Wrapper เติมข้อมูลแบบอะซิงโครนัสสำหรับสตรีมอินพุต

กรอกข้อมูลในเธรดพื้นหลัง เพื่อแยกการทำงานของ I/O ออกจากเธรด demux

ไม่ตรงกัน:
ไม่ตรงกัน:http://host/resource
async:แคช:http://host/resource

บลูเรย์
อ่านเพลย์ลิสต์ BluRay

ตัวเลือกที่ยอมรับคือ:

มุม
มุมบลูเรย์

บท
เริ่มบท (1...N)

เพลย์ลิส
เพลย์ลิสต์ที่จะอ่าน (BDMV/PLAYLIST/?????.mpls)

ตัวอย่าง:

อ่านเพลย์ลิสต์ที่ยาวที่สุดจาก BluRay ที่ติดตั้งไปที่ /mnt/bluray:

bluray:/mnt/bluray

อ่านมุมที่ 2 ของเพลย์ลิสต์ 4 จาก BluRay ที่ติดตั้งไปที่ /mnt/bluray เริ่มตั้งแต่บทที่ 2:

-เพลย์ลิสต์ 4 -มุม 2 -บทที่ 2 bluray:/mnt/bluray

แคช
Wrapper แคชสำหรับสตรีมอินพุต

แคชสตรีมอินพุตไปยังไฟล์ชั่วคราว มันนำความสามารถในการแสวงหาการสตรีมสด

แคช:

เชื่อม
โปรโตคอลการเชื่อมต่อทางกายภาพ

อ่านและแสวงหาจากแหล่งข้อมูลต่างๆ ตามลำดับราวกับว่าเป็นแหล่งข้อมูลเฉพาะ

URL ที่โปรโตคอลนี้ยอมรับมีรูปแบบดังนี้

ติดต่อ: | |...|

ที่ไหน URL1, URL2, ... , URLN คือ URL ของทรัพยากรที่จะต่อกัน แต่ละอัน
อาจระบุโปรโตคอลที่ชัดเจน

เช่น การอ่านลำดับของไฟล์ split1.mpeg, split2.mpeg, split3.mpeg กับ ffplay
ใช้คำสั่ง:

ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg

โปรดทราบว่าคุณอาจต้องหลีกเลี่ยงอักขระ "|" ซึ่งเป็นแบบพิเศษสำหรับเปลือกหอยจำนวนมาก

การเข้ารหัสลับ
โปรโตคอลการอ่านสตรีมที่เข้ารหัส AES

ตัวเลือกที่ยอมรับคือ:

สำคัญ ตั้งค่าบล็อกไบนารีของคีย์ถอดรหัส AES จากการแสดงเลขฐานสิบหกที่กำหนด

iv ตั้งค่าบล็อกไบนารีเวกเตอร์เริ่มต้นการถอดรหัส AES จากเลขฐานสิบหกที่กำหนด
การเป็นตัวแทน

รูปแบบ URL ที่ยอมรับ:

การเข้ารหัสลับ:
การเข้ารหัสลับ+

ข้อมูล
ข้อมูลแบบอินไลน์ใน URI ดูhttp://en.wikipedia.org/wiki/Data_URI_scheme>.

ตัวอย่างเช่น การแปลงไฟล์ GIF ที่กำหนดแบบอินไลน์ด้วย ffmpeg:

ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png

ไฟล์
โปรโตคอลการเข้าถึงไฟล์

อ่านจากหรือเขียนไปยังไฟล์

URL ไฟล์สามารถมีรูปแบบ:

ไฟล์:

ที่ไหน ชื่อไฟล์ เป็นเส้นทางของไฟล์ที่จะอ่าน

URL ที่ไม่มีคำนำหน้าโปรโตคอลจะถือว่าเป็น URL ของไฟล์ ขึ้นอยู่กับ
บิลด์ URL ที่ดูเหมือนเส้นทาง Windows โดยมีอักษรระบุไดรฟ์อยู่ที่จุดเริ่มต้น
จะถูกสันนิษฐานว่าเป็น URL ของไฟล์ด้วย (โดยปกติไม่ใช่ใน builds สำหรับ unix-like
ระบบ)

เช่น อ่านจากไฟล์ อินพุต.mpeg กับ ffmpeg ใช้คำสั่ง:

ไฟล์ ffmpeg -i:input.mpeg output.mpeg

โปรโตคอลนี้ยอมรับตัวเลือกต่อไปนี้:

ตัด
ตัดทอนไฟล์ที่มีอยู่ขณะเขียน หากตั้งค่าเป็น 1 ค่า 0 จะป้องกันการตัดทอน
ค่าเริ่มต้นคือ 1

ขนาดบล็อก
ตั้งค่าขนาดบล็อกสูงสุดของการดำเนินการ I/O ในหน่วยไบต์ ค่าเริ่มต้นคือ "INT_MAX" ซึ่ง
ส่งผลให้ไม่จำกัดขนาดบล็อกที่ร้องขอ การตั้งค่านี้ต่ำพอสมควร
ปรับปรุงเวลาตอบสนองคำขอยกเลิกของผู้ใช้ ซึ่งมีค่าสำหรับไฟล์ที่ทำงานช้า
กลาง

FTP
FTP (โปรโตคอลการถ่ายโอนไฟล์)

อ่านจากหรือเขียนไปยังทรัพยากรระยะไกลโดยใช้โปรโตคอล FTP

ต้องใช้ไวยากรณ์ต่อไปนี้

ftp://[ผู้ใช้[:รหัสผ่าน]@]เซิร์ฟเวอร์[:พอร์ต]/path/to/remote/resource.mpeg

โปรโตคอลนี้ยอมรับตัวเลือกต่อไปนี้

การหยุดพักชั่วคราว
ตั้งค่าไทม์เอาต์เป็นไมโครวินาทีของการดำเนินการซ็อกเก็ต I/O ที่ใช้โดยระดับต่ำพื้นฐาน
การดำเนินการ. โดยค่าเริ่มต้น ระบบจะตั้งค่าเป็น -1 ซึ่งหมายความว่าไม่ได้ระบุระยะหมดเวลา

ftp-anonymous-รหัสผ่าน
รหัสผ่านที่ใช้เมื่อเข้าสู่ระบบในฐานะผู้ใช้ที่ไม่ระบุชื่อ โดยปกติที่อยู่อีเมลควรเป็น
มือสอง

ftp-write-seeable
ควบคุมการค้นหาการเชื่อมต่อระหว่างการเข้ารหัส หากตั้งค่าเป็น 1 ทรัพยากรคือ
ควรจะค้นหาได้ หากตั้งค่าเป็น 0 จะถือว่าไม่สามารถค้นหาได้ ค่าเริ่มต้น
คือ 0

หมายเหตุ: โปรโตคอลสามารถใช้เป็นเอาต์พุตได้ แต่ขอแนะนำว่าอย่าทำ ยกเว้นกรณีพิเศษ
มีการดูแล (การทดสอบ การกำหนดค่าเซิร์ฟเวอร์ที่กำหนดเอง ฯลฯ) เซิร์ฟเวอร์ FTP ที่ต่างกันทำงาน
ในลักษณะที่แตกต่างกันระหว่างการดำเนินการค้นหา เครื่องมือ ff* อาจสร้างเนื้อหาที่ไม่สมบูรณ์เนื่องจาก
ข้อจำกัดของเซิร์ฟเวอร์

หนูขนาดใหญ่
โปรโตคอลของโกเฟอร์

สวัสดี
อ่านสตรีมที่แบ่งส่วนตามการสตรีมสดของ Apple HTTP Live Streaming เป็นแบบชุดเดียวกัน M3U8
เพลย์ลิสต์ที่อธิบายส่วนต่างๆ สามารถเป็นทรัพยากร HTTP ระยะไกลหรือไฟล์ในเครื่อง เข้าถึงได้
โดยใช้โปรโตคอลไฟล์มาตรฐาน โปรโตคอลที่ซ้อนกันถูกประกาศโดยระบุ "+โปรโต"
หลังชื่อโครงการ hls URI โดยที่ โปรโต เป็น "ไฟล์" หรือ "http"

hls+http://host/path/to/remote/resource.m3u8
hls+ไฟล์://path/to/local/resource.m3u8

ไม่แนะนำให้ใช้โปรโตคอลนี้ - hls demuxer ควรทำงานได้ดีเช่นกัน (ถ้าไม่ใช่
กรุณารายงานปัญหา) และครบถ้วนมากขึ้น หากต้องการใช้ hls demuxer แทน เพียงแค่
ใช้ URL โดยตรงไปยังไฟล์ m3u8

ที่ http
HTTP (Hyper Text Transfer Protocol)

โปรโตคอลนี้ยอมรับตัวเลือกต่อไปนี้:

น่าค้นหา
ควบคุมการแสวงหาการเชื่อมต่อ หากตั้งค่าเป็น 1 ทรัพยากรควรจะเป็น
ค้นหาได้ หากตั้งค่าเป็น 0 จะถือว่าไม่สามารถค้นหาได้ หากตั้งค่าเป็น -1 ก็จะพยายาม
ตรวจหาอัตโนมัติหากสามารถค้นหาได้ ค่าเริ่มต้นคือ -1

chunked_post
หากตั้งค่าเป็น 1 ให้ใช้การเข้ารหัสการโอนแบบเป็นกลุ่มสำหรับโพสต์ ค่าเริ่มต้นคือ 1

ชนิดของเนื้อหา
กำหนดประเภทเนื้อหาเฉพาะสำหรับข้อความ POST

ส่วนหัว
ตั้งค่าส่วนหัว HTTP ที่กำหนดเอง แทนที่ส่วนหัวเริ่มต้นที่สร้างไว้ได้ ค่าต้องเป็น a
การเข้ารหัสสตริงที่ส่วนหัว

คำขอหลายรายการ
ใช้การเชื่อมต่อแบบถาวรหากตั้งค่าเป็น 1 ค่าเริ่มต้นคือ 0

โพสต์_ข้อมูล
ตั้งค่าข้อมูลโพสต์ HTTP ที่กำหนดเอง

user-agent
USER_AGENT
แทนที่ส่วนหัว User-Agent หากไม่ได้ระบุโปรโตคอลจะใช้สตริง
อธิบายการสร้าง libavformat ("ลาฟ/ ")

การหยุดพักชั่วคราว
ตั้งค่าไทม์เอาต์เป็นไมโครวินาทีของการดำเนินการซ็อกเก็ต I/O ที่ใช้โดยระดับต่ำพื้นฐาน
การดำเนินการ. โดยค่าเริ่มต้น ระบบจะตั้งค่าเป็น -1 ซึ่งหมายความว่าไม่ได้ระบุระยะหมดเวลา

mime_type
ส่งออกประเภท MIME

เย็นฉ่ำ หากตั้งค่าเป็น 1 ขอข้อมูลเมตา ICY (SHOUTcast) จากเซิร์ฟเวอร์ หากเซิร์ฟเวอร์รองรับ
สิ่งนี้จะต้องดึงข้อมูลเมตาโดยแอปพลิเคชันโดยการอ่าน
icy_metadata_headers และ icy_metadata_packet ตัวเลือก. ค่าเริ่มต้นคือ 1

icy_metadata_headers
หากเซิร์ฟเวอร์รองรับข้อมูลเมตาของ ICY จะมีข้อความตอบกลับ HTTP เฉพาะของ ICY
ส่วนหัวคั่นด้วยอักขระขึ้นบรรทัดใหม่

icy_metadata_packet
หากเซิร์ฟเวอร์รองรับข้อมูลเมตาของ ICY และ เย็นฉ่ำ ถูกตั้งค่าเป็น 1 ซึ่งรวมถึงรายการสุดท้ายที่ไม่ใช่
แพ็กเก็ตข้อมูลเมตาเปล่าที่ส่งโดยเซิร์ฟเวอร์ ควรสำรวจเป็นระยะโดย
แอปพลิเคชันที่สนใจการอัปเดตข้อมูลเมตากลางสตรีม

คุ้กกี้
ตั้งค่าคุกกี้ที่จะส่งในคำขอในอนาคต รูปแบบของคุกกี้แต่ละอันเหมือนกัน
เป็นค่าของฟิลด์ตอบกลับ Set-Cookie HTTP คุกกี้หลายตัวคั่นด้วย
อักขระขึ้นบรรทัดใหม่

ชดเชย
ตั้งค่าการชดเชยไบต์เริ่มต้น

end_offset
พยายามจำกัดการร้องขอเป็นไบต์ก่อนออฟเซ็ตนี้

วิธี
เมื่อใช้เป็นตัวเลือกไคลเอ็นต์ จะตั้งค่าวิธี HTTP สำหรับคำขอ

เมื่อใช้เป็นตัวเลือกเซิร์ฟเวอร์ จะตั้งค่าวิธี HTTP ที่คาดหวังจาก
ลูกค้า หากวิธีที่คาดไว้และวิธี HTTP ที่ได้รับไม่ตรงกับไคลเอนต์
จะได้รับการตอบสนองคำขอที่ไม่ดี เมื่อยกเลิกการตั้งค่าวิธี HTTP จะไม่ถูกตรวจสอบสำหรับ
ตอนนี้. สิ่งนี้จะถูกแทนที่ด้วยการตรวจหาอัตโนมัติในอนาคต

ฟัง
หากตั้งค่าเป็น 1 จะเปิดใช้งานเซิร์ฟเวอร์ HTTP รุ่นทดลอง สามารถใช้ส่งข้อมูลได้เมื่อใช้งาน
เป็นตัวเลือกเอาต์พุต หรืออ่านข้อมูลจากไคลเอนต์ด้วย HTTP POST เมื่อใช้เป็นอินพุต
ตัวเลือก. หากตั้งค่าเป็น 2 จะเปิดใช้งานเซิร์ฟเวอร์ HTTP หลายไคลเอนต์แบบทดลอง นี้มันยังไม่มา
นำไปใช้ใน ffmpeg.c หรือ ffserver.c ดังนั้นจึงไม่ควรใช้เป็นบรรทัดคำสั่ง
ตัวเลือก

# ฝั่งเซิร์ฟเวอร์ (กำลังส่ง):
ffmpeg -i somefile.ogg -c copy -listen 1 -f ogg http:// :

# ฝั่งลูกค้า (รับ):
ffmpeg -i http:// : -c คัดลอก somefile.ogg

# ลูกค้าสามารถทำได้ด้วย wget:
wget http:// : -O somefile.ogg

# ฝั่งเซิร์ฟเวอร์ (รับ):
ffmpeg - ฟัง 1 -i http:// : -c คัดลอก somefile.ogg

# ฝั่งลูกค้า (กำลังส่ง):
ffmpeg -i somefile.ogg -chunked_post 0 -c คัดลอก -f ogg http:// :

# ลูกค้าสามารถทำได้ด้วย wget:
wget --post-file=somefile.ogg http:// :

HTTP คุกกี้

คำขอ HTTP บางรายการจะถูกปฏิเสธเว้นแต่จะมีการส่งค่าคุกกี้ไปพร้อมกับคำขอ NS
คุ้กกี้ ตัวเลือกช่วยให้สามารถระบุคุกกี้เหล่านี้ได้ อย่างน้อยที่สุด คุกกี้แต่ละชิ้นจะต้อง
ระบุค่าพร้อมกับเส้นทางและโดเมน คำขอ HTTP ที่ตรงกับทั้งโดเมน
และเส้นทางจะรวมค่าคุกกี้ไว้ในฟิลด์ส่วนหัวของคุกกี้ HTTP โดยอัตโนมัติ
คุกกี้หลายตัวสามารถคั่นด้วยการขึ้นบรรทัดใหม่

ไวยากรณ์ที่จำเป็นในการเล่นสตรีมที่ระบุคุกกี้คือ:

ffplay -cookies "nlqptid=nltid=tsn; path=/; domain=somedomain.com;" http://somedomain.com/somestream.m3u8

ไอซ์คาสท์
โปรโตคอล Icecast (สตรีมไปยังเซิร์ฟเวอร์ Icecast)

โปรโตคอลนี้ยอมรับตัวเลือกต่อไปนี้:

น้ำแข็ง_ประเภท
กำหนดประเภทการสตรีม

น้ำแข็ง_ชื่อ
ตั้งชื่อสตรีม

น้ำแข็ง_คำอธิบาย
ตั้งค่าคำอธิบายสตรีม

น้ำแข็ง_url
ตั้งค่า URL เว็บไซต์สตรีม

น้ำแข็ง_สาธารณะ
ตั้งค่าว่าสตรีมควรเป็นสาธารณะหรือไม่ ค่าเริ่มต้นคือ 0 (ไม่ใช่สาธารณะ)

USER_AGENT
แทนที่ส่วนหัว User-Agent หากไม่ระบุสตริงในรูปแบบ "Lavf/ "
จะถูกนำไปใช้.

รหัสผ่าน
ตั้งรหัสผ่านจุดเมานต์ Icecast

ชนิดของเนื้อหา
ตั้งค่าประเภทเนื้อหาสตรีม ต้องตั้งค่านี้หากแตกต่างจากเสียง/mpeg

Legacy_icecast
ซึ่งช่วยให้รองรับ Icecast เวอร์ชัน < 2.4.0 ที่ไม่รองรับ HTTP PUT
เมธอด แต่เป็นเมธอด SOURCE

ไอซ์คาสท์: //[ [: ]@] : /

มมส
โปรโตคอล MMS (Microsoft Media Server) ผ่าน TCP

มม
โปรโตคอล MMS (Microsoft Media Server) ผ่าน HTTP

ไวยากรณ์ที่จำเป็นคือ:

mmsh: // [: ][/ ][/ ]

md5
โปรโตคอลเอาต์พุต MD5

คำนวณแฮช MD5 ของข้อมูลที่จะเขียน และเมื่อใกล้แล้วให้เขียนสิ่งนี้ไปยัง
เอาต์พุตที่กำหนดหรือ stdout หากไม่มีการระบุ สามารถใช้ทดสอบ muxers โดยไม่ต้อง
กำลังเขียนไฟล์จริง

ตัวอย่างบางส่วนติดตาม

# เขียนแฮช MD5 ของไฟล์ AVI ที่เข้ารหัสไปยังไฟล์ output.avi.md5
ffmpeg -i input.flv -f avi -y md5:output.avi.md5

# เขียนแฮช MD5 ของไฟล์ AVI ที่เข้ารหัสไปยัง stdout
ffmpeg -i input.flv -f avi -y md5:

โปรดทราบว่าบางรูปแบบ (โดยทั่วไปคือ MOV) ต้องใช้โปรโตคอลเอาต์พุตเพื่อให้สามารถค้นหาได้ ดังนั้น จึง
จะล้มเหลวด้วยโปรโตคอลเอาต์พุต MD5

ท่อ
โปรโตคอลการเข้าถึงท่อ UNIX

อ่านและเขียนจากไพพ์ UNIX

ไวยากรณ์ที่ยอมรับคือ:

ท่อ:[ ]

จำนวน เป็นตัวเลขที่สอดคล้องกับ file descriptor ของไพพ์ (เช่น 0 สำหรับ stdin, 1
สำหรับ stdout, 2 สำหรับ stderr) ถ้า จำนวน ไม่ได้ระบุ โดยค่าเริ่มต้น stdout file
descriptor จะใช้สำหรับการเขียน stdin สำหรับการอ่าน

เช่น อ่านจาก stdin ด้วย ffmpeg:

cat test.wav | ffmpeg -i ท่อ:0
# ...นี้ก็เหมือนกับ...
cat test.wav | ท่อ ffmpeg -i:

สำหรับเขียนถึง stdout ด้วย ffmpeg:

ffmpeg -i test.wav -f avi pipe:1 | แมว > test.avi
# ...นี้ก็เหมือนกับ...
ffmpeg -i test.wav -f ท่อ avi: | แมว > test.avi

โปรโตคอลนี้ยอมรับตัวเลือกต่อไปนี้:

ขนาดบล็อก
ตั้งค่าขนาดบล็อกสูงสุดของการดำเนินการ I/O ในหน่วยไบต์ ค่าเริ่มต้นคือ "INT_MAX" ซึ่ง
ส่งผลให้ไม่จำกัดขนาดบล็อกที่ร้องขอ การตั้งค่านี้ต่ำพอสมควร
ปรับปรุงเวลาตอบสนองคำขอยกเลิกของผู้ใช้ ซึ่งมีค่าถ้า data
การส่งสัญญาณช้า

โปรดทราบว่าบางรูปแบบ (โดยทั่วไปคือ MOV) ต้องใช้โปรโตคอลเอาต์พุตเพื่อให้สามารถค้นหาได้ ดังนั้น
พวกเขาจะล้มเหลวด้วยโปรโตคอลเอาต์พุตไปป์

rtmp
โปรโตคอลการส่งข้อความตามเวลาจริง

Real-Time Messaging Protocol (RTMP) ใช้สำหรับสตรีมเนื้อหามัลติมีเดียผ่าน a
เครือข่าย TCP/IP

ไวยากรณ์ที่จำเป็นคือ:

rtmp: //[ : @] [: ][/ ][/ ][/ ]

พารามิเตอร์ที่ยอมรับคือ:

ชื่อผู้ใช้
ชื่อผู้ใช้ที่ไม่บังคับ (ส่วนใหญ่สำหรับการเผยแพร่)

รหัสผ่าน
รหัสผ่านทางเลือก (ส่วนใหญ่สำหรับการเผยแพร่)

เซิร์ฟเวอร์
ที่อยู่ของเซิร์ฟเวอร์ RTMP

พอร์ต
จำนวนพอร์ต TCP ที่จะใช้ (โดยค่าเริ่มต้นคือ 1935)

app เป็นชื่อของแอปพลิเคชันที่จะเข้าถึง มักจะสอดคล้องกับเส้นทางที่
แอปพลิเคชันได้รับการติดตั้งบนเซิร์ฟเวอร์ RTMP (เช่น /ตามความต้องการ/, /แฟลช/สด/ฯลฯ )
คุณสามารถแทนที่ค่าที่แยกวิเคราะห์จาก URI ผ่านตัวเลือก "rtmp_app" ได้เช่นกัน

เพลย์พาธ
เป็นเส้นทางหรือชื่อของทรัพยากรที่จะเล่นโดยอ้างอิงถึงแอปพลิเคชัน
ระบุไว้ใน appอาจขึ้นต้นด้วย "mp4:" คุณสามารถแทนที่ค่าที่แยกวิเคราะห์จาก
URI ผ่านตัวเลือก "rtmp_playpath" ด้วย

ฟัง
ทำหน้าที่เป็นเซิร์ฟเวอร์ รับฟังการเชื่อมต่อขาเข้า

การหยุดพักชั่วคราว
เวลาสูงสุดในการรอการเชื่อมต่อขาเข้า แปลว่า ฟัง

นอกจากนี้ พารามิเตอร์ต่อไปนี้สามารถตั้งค่าได้ผ่านตัวเลือกบรรทัดคำสั่ง (หรือในโค้ด via
"AVOption" :

rtmp_app
ชื่อแอปพลิเคชันที่จะเชื่อมต่อบนเซิร์ฟเวอร์ RTMP ตัวเลือกนี้จะแทนที่พารามิเตอร์
ระบุไว้ใน URI

rtmp_buffer
ตั้งค่าเวลาบัฟเฟอร์ของไคลเอ็นต์เป็นมิลลิวินาที ค่าเริ่มต้นคือ 3000

rtmp_conn
พารามิเตอร์การเชื่อมต่อ AMF ที่กำหนดเองเป็นพิเศษ แยกวิเคราะห์จากสตริง เช่น "B:1
S:authMe O:1 NN:code:1.23 NS:flag:ok O:0" แต่ละค่านำหน้าด้วยค่าเดียว
อักขระที่แสดงถึงประเภท B สำหรับบูลีน N สำหรับตัวเลข S สำหรับสตริง O สำหรับวัตถุ
หรือ Z สำหรับ null ตามด้วยโคลอน สำหรับบูลีน ข้อมูลต้องเป็น 0 หรือ 1 สำหรับ
FALSE หรือ TRUE ตามลำดับ ในทำนองเดียวกันสำหรับ Objects ข้อมูลจะต้องเป็น 0 หรือ 1 เพื่อสิ้นสุดหรือ
เริ่มวัตถุตามลำดับ สามารถตั้งชื่อรายการข้อมูลในวัตถุย่อยได้โดยใช้คำนำหน้า
พิมพ์ด้วย 'N' และระบุชื่อก่อนค่า (เช่น "NB:myFlag:1") นี้
อาจใช้ตัวเลือกหลายครั้งเพื่อสร้างลำดับ AMF โดยพลการ

rtmp_flashver
เวอร์ชันของปลั๊กอิน Flash ที่ใช้เพื่อเรียกใช้โปรแกรมเล่น SWF ค่าเริ่มต้นคือ LNX 9,0,124,2
(เมื่อเผยแพร่ ค่าเริ่มต้นคือ FMLE/3.0 (เข้ากันได้ ))

rtmp_flush_interval
จำนวนแพ็กเก็ตที่ล้างในคำขอเดียวกัน (เฉพาะ RTMPT) ค่าเริ่มต้นคือ 10

rtmp_live
ระบุว่าสื่อเป็นสตรีมแบบสด ไม่มีการดำเนินการต่อหรือค้นหาในสตรีมสด
เป็นไปได้. ค่าเริ่มต้นคือ "ใดๆ" ซึ่งหมายความว่าผู้สมัครสมาชิกพยายามเล่นเป็นครั้งแรก
สตรีมสดที่ระบุในเส้นทางการเล่น หากไม่พบสตรีมสดของชื่อนั้น
มันเล่นสตรีมที่บันทึกไว้ ค่าอื่นๆ ที่เป็นไปได้ ได้แก่ "สด" และ "บันทึกไว้"

rtmp_pageurl
URL ของหน้าเว็บที่มีการฝังสื่อ โดยค่าเริ่มต้นจะไม่มีการส่งค่าใด ๆ

rtmp_playpath
ตัวระบุสตรีมเพื่อเล่นหรือเผยแพร่ ตัวเลือกนี้จะแทนที่พารามิเตอร์ที่ระบุ
ใน URI

rtmp_subscribe
ชื่อสตรีมสดที่จะสมัครรับข้อมูล โดยค่าเริ่มต้นจะไม่มีการส่งค่าใด ๆ มันก็เป็นเพียง
ส่งหากระบุตัวเลือกหรือหากตั้งค่า rtmp_live เป็น live

rtmp_swfhash
แฮช SHA256 ของไฟล์ SWF ที่คลายการบีบอัด (32 ไบต์)

rtmp_swfขนาด
ขนาดของไฟล์ SWF ที่คลายการบีบอัด ซึ่งจำเป็นสำหรับ SWFVerification

rtmp_swfurl
URL ของโปรแกรมเล่น SWF สำหรับสื่อ โดยค่าเริ่มต้นจะไม่มีการส่งค่าใด ๆ

rtmp_swfตรวจสอบ
URL ไปยังไฟล์ swf ของผู้เล่น คำนวณแฮช/ขนาดโดยอัตโนมัติ

rtmp_tcurl
URL ของสตรีมเป้าหมาย ค่าเริ่มต้นเป็น proto://host[:port]/app.

เช่น อ่านด้วย ffplay ทรัพยากรมัลติมีเดียชื่อ "ตัวอย่าง" จากแอปพลิเคชัน
"vod" จากเซิร์ฟเวอร์ RTMP "myserver":

ffplay rtmp://myserver/vod/sample

หากต้องการเผยแพร่ไปยังเซิร์ฟเวอร์ที่ป้องกันด้วยรหัสผ่าน ให้ส่ง playpath และชื่อแอปแยกกัน:

ffmpeg -re -i -f flv -rtmp_playpath some/long/path -rtmp_app long/app/name rtmp://username:password@myserver/

rtmpe
โปรโตคอลการส่งข้อความตามเวลาจริงที่เข้ารหัส

The Encrypted Real-Time Messaging Protocol (RTMPE) ใช้สำหรับสตรีมมัลติมีเดีย
เนื้อหาภายในการเข้ารหัสลับมาตรฐาน ซึ่งประกอบด้วยคีย์ Diffie-Hellman
exchange และ HMACSHA256 สร้างคู่ของคีย์ RC4

rtmps
Real-Time Messaging Protocol ผ่านการเชื่อมต่อ SSL ที่ปลอดภัย

Real-Time Messaging Protocol (RTMPS) ใช้สำหรับสตรีมเนื้อหามัลติมีเดียผ่าน
การเชื่อมต่อที่เข้ารหัส

rtmpt
Real-Time Messaging Protocol ผ่าน HTTP

Real-Time Messaging Protocol ที่เชื่อมต่อผ่าน HTTP (RTMPT) ใช้สำหรับสตรีมมิ่ง
เนื้อหามัลติมีเดียภายในคำขอ HTTP เพื่อข้ามผ่านไฟร์วอลล์

rtmpte
โปรโตคอลการรับส่งข้อความตามเวลาจริงที่เข้ารหัสซึ่งส่งผ่าน HTTP

ใช้โปรโตคอลการรับส่งข้อความตามเวลาจริงที่เข้ารหัสซึ่งส่งผ่าน HTTP (RTMPTE) สำหรับ
การสตรีมเนื้อหามัลติมีเดียภายในคำขอ HTTP เพื่อข้ามผ่านไฟร์วอลล์

rtmpts
Real-Time Messaging Protocol ที่ส่งผ่าน HTTPS

โปรโตคอลการรับส่งข้อความตามเวลาจริงที่ส่งผ่าน HTTPS (RTMPTS) ใช้สำหรับสตรีมมิง
เนื้อหามัลติมีเดียภายในคำขอ HTTPS เพื่อข้ามผ่านไฟร์วอลล์

libsmbclient
libsmbclient อนุญาตให้จัดการทรัพยากรเครือข่าย CIFS/SMB

ต้องใช้ไวยากรณ์ต่อไปนี้

smb://[[domain:]user[:password@]]เซิร์ฟเวอร์[/share[/path[/file]]]

โปรโตคอลนี้ยอมรับตัวเลือกต่อไปนี้

การหยุดพักชั่วคราว
ตั้งค่าการหมดเวลาเป็นมิลลิวินาทีของการดำเนินการซ็อกเก็ต I/O ที่ใช้โดยระดับต่ำพื้นฐาน
การดำเนินการ. โดยค่าเริ่มต้น ระบบจะตั้งค่าเป็น -1 ซึ่งหมายความว่าไม่ได้ระบุระยะหมดเวลา

ตัด
ตัดทอนไฟล์ที่มีอยู่ขณะเขียน หากตั้งค่าเป็น 1 ค่า 0 จะป้องกันการตัดทอน
ค่าเริ่มต้นคือ 1

เวิร์กกรุ๊ป
ตั้งค่าเวิร์กกรุ๊ปที่ใช้สำหรับการเชื่อมต่อ ไม่ได้ระบุเวิร์กกรุ๊ปตามค่าเริ่มต้น

ดูข้อมูลเพิ่มเติมได้ที่:http://www.samba.org/>.

libsh
โปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัยผ่านlibssh

อ่านจากหรือเขียนไปยังทรัพยากรระยะไกลโดยใช้โปรโตคอล SFTP

ต้องใช้ไวยากรณ์ต่อไปนี้

sftp://[ผู้ใช้[:รหัสผ่าน]@]เซิร์ฟเวอร์[:พอร์ต]/path/to/remote/resource.mpeg

โปรโตคอลนี้ยอมรับตัวเลือกต่อไปนี้

การหยุดพักชั่วคราว
ตั้งค่าการหมดเวลาของการดำเนินการซ็อกเก็ต I/O ที่ใช้โดยการดำเนินการระดับต่ำพื้นฐาน โดย
ค่าเริ่มต้นถูกตั้งค่าเป็น -1 ซึ่งหมายความว่าไม่ได้ระบุการหมดเวลา

ตัด
ตัดทอนไฟล์ที่มีอยู่ขณะเขียน หากตั้งค่าเป็น 1 ค่า 0 จะป้องกันการตัดทอน
ค่าเริ่มต้นคือ 1

คีย์ส่วนตัว
ระบุพาธของไฟล์ที่มีไพรเวตคีย์เพื่อใช้ในระหว่างการให้สิทธิ์ โดย
libssh เริ่มต้นค้นหาคีย์ใน ~ / .ssh / ไดเรกทอรี

ตัวอย่าง: เล่นไฟล์ที่เก็บไว้ในเซิร์ฟเวอร์ระยะไกล

ffplay เอสftp://user:password@server_address:22/home/user/resource.mpeg

librtmp อาร์ทีเอ็มพี, rtmpe, rtmps, rtmpt, rtmpte
Real-Time Messaging Protocol และตัวแปรที่รองรับผ่าน librtmp

ต้องการการมีอยู่ของส่วนหัว librtmp และไลบรารีระหว่างการกำหนดค่า คุณต้อง
กำหนดค่าบิลด์อย่างชัดเจนด้วย "--enable-librtmp" หากเปิดใช้งานสิ่งนี้จะแทนที่
โปรโตคอล RTMP ดั้งเดิม

โปรโตคอลนี้มีฟังก์ชันไคลเอ็นต์ส่วนใหญ่และฟังก์ชันเซิร์ฟเวอร์บางส่วนที่จำเป็นในการสนับสนุน
RTMP, RTMP tunneled ใน HTTP (RTMPT), RTMP ที่เข้ารหัส (RTMPE), RTMP ผ่าน SSL/TLS (RTMPS) และ
ตัวแปรทันเนลของประเภทที่เข้ารหัสเหล่านี้ (RTMPTE, RTMPTS)

ไวยากรณ์ที่จำเป็นคือ:

:// [: ][/ ][/ ]

ที่ไหน rtmp_proto เป็นหนึ่งในสตริง "rtmp", "rtmpt", "rtmpe", "rtmps", "rtmpte",
"rtmpts" ที่สอดคล้องกับแต่ละตัวแปร RTMP และ เซิร์ฟเวอร์, พอร์ต, app และ เพลย์พาธ มี
ความหมายเดียวกับที่ระบุไว้สำหรับโปรโตคอลดั้งเดิม RTMP ตัวเลือก มีรายการของพื้นที่-
ตัวเลือกที่แยกจากกันของแบบฟอร์ม สำคัญ=คลื่น.

ดูหน้าคู่มือ librtmp (man 3 librtmp) สำหรับข้อมูลเพิ่มเติม

ตัวอย่างเช่น ในการสตรีมไฟล์แบบเรียลไทม์ไปยังเซิร์ฟเวอร์ RTMP โดยใช้ ffmpeg:

ffmpeg -re -i myfile -f flv rtmp://myserver/live/mystream

ในการเล่นสตรีมเดียวกันโดยใช้ ffplay:

ffplay "rtmp://myserver/live/mystream live=1"

RTP
โปรโตคอลการขนส่งตามเวลาจริง

ไวยากรณ์ที่จำเป็นสำหรับ RTP URL คือ: rtp://ชื่อโฮสต์[:พอร์ต-ตัวเลือก=คลื่น... ]

พอร์ต ระบุพอร์ต RTP ที่จะใช้

รองรับตัวเลือก URL ต่อไปนี้:

ทีทีแอล=n
ตั้งค่า TTL (Time-To-Live) (สำหรับมัลติคาสต์เท่านั้น)

rtcpพอร์ต=n
ตั้งค่าพอร์ต RTCP ระยะไกลเป็น n.

localrtpport=n
ตั้งค่าพอร์ต RTP ในเครื่องเป็น n.

localrtcpport=n'
ตั้งค่าพอร์ต RTCP ในเครื่องเป็น n.

pkt_size=n
ตั้งค่าขนาดแพ็กเก็ตสูงสุด (เป็นไบต์) เป็น n.

เชื่อมต่อ=0|1
ทำ "connect()" บนซ็อกเก็ต UDP (หากตั้งค่าเป็น 1) หรือไม่ (หากตั้งค่าเป็น 0)

แหล่งที่มา=ip[,ip]
แสดงรายการที่อยู่ IP ต้นทางที่อนุญาต

บล็อค=ip[,ip]
แสดงรายการที่อยู่ IP ต้นทางที่ไม่ได้รับอนุญาต (ถูกบล็อก)

write_to_source=0|1
ส่งแพ็กเก็ตไปยังที่อยู่ต้นทางของแพ็กเก็ตที่ได้รับล่าสุด (หากตั้งค่าเป็น 1) หรือเป็น a
ที่อยู่ระยะไกลเริ่มต้น (หากตั้งค่าเป็น 0)

โลคัลพอร์ต=n
ตั้งค่าพอร์ต RTP ในเครื่องเป็น n.

นี่เป็นตัวเลือกที่เลิกใช้แล้ว แทนที่, localrtpport ควรใช้

หมายเหตุสำคัญ:

1 ถ้า rtcpพอร์ต ไม่ได้ตั้งค่าพอร์ต RTCP จะถูกตั้งค่าพอร์ต RTP บวก 1

2 ถ้า localrtpport (พอร์ต RTP ในเครื่อง) ไม่ได้ตั้งค่าพอร์ตใด ๆ ที่จะใช้สำหรับ
พอร์ต RTP และ RTCP ในพื้นที่

3 ถ้า localrtcpport (พอร์ต RTCP ภายในเครื่อง) ไม่ได้ตั้งค่าไว้ จะถูกตั้งค่าเป็นพอร์ต RTP ภายในเครื่อง
ค่าบวก 1

rtsp
โปรโตคอลการสตรีมแบบเรียลไทม์

RTSP ไม่ใช่ตัวจัดการโปรโตคอลในทางเทคนิคในรูปแบบ libavform แต่เป็น demuxer และ muxer ดิ
demuxer รองรับทั้ง RTSP ปกติ (ด้วยข้อมูลที่ถ่ายโอนผ่าน RTP ซึ่งใช้โดยเช่น
Apple และ Microsoft) และ Real-RTSP (พร้อมข้อมูลที่ถ่ายโอนผ่าน RDT)

สามารถใช้ muxer เพื่อส่งสตรีมโดยใช้ RTSP ANNOUNCE ไปยังเซิร์ฟเวอร์ที่รองรับได้
(ปัจจุบันคือ Darwin Streaming Server และ Mischa Spiegelmock's
<https://github.com/revmischa/rtsp-server>).

ไวยากรณ์ที่จำเป็นสำหรับ URL RTSP คือ:

rtsp:// [: ]/

ตัวเลือกสามารถตั้งค่าได้ที่ ffmpeg/ffplay บรรทัดคำสั่งหรือตั้งเป็นรหัสผ่าน "AVOption" หรือใน
"avformat_open_input".

รองรับตัวเลือกต่อไปนี้

Initial_pause
อย่าเริ่มเล่นสตรีมทันทีหากตั้งค่าเป็น 1 ค่าเริ่มต้นคือ 0

rtsp_transport
ตั้งค่าโปรโตคอลการขนส่ง RTSP

ยอมรับค่าต่อไปนี้:

UDP ใช้ UDP เป็นโปรโตคอลการขนส่งที่ต่ำกว่า

TCP ใช้ TCP (การสอดแทรกภายในช่องสัญญาณควบคุม RTSP) เป็นการขนส่งที่ต่ำกว่า
โปรโตคอล.

udp_multicast
ใช้ UDP multicast เป็นโปรโตคอลการขนส่งที่ต่ำกว่า

ที่ http
ใช้ช่องสัญญาณ HTTP เป็นโปรโตคอลการขนส่งที่ต่ำกว่า ซึ่งมีประโยชน์สำหรับการส่งผ่าน
ผู้รับมอบฉันทะ

อาจมีการระบุโปรโตคอลการขนส่งที่ต่ำกว่าหลายรายการ ในกรณีนี้จะลองใช้หนึ่งโปรโตคอล
ทีละครั้ง (หากการตั้งค่าล้มเหลว ให้ลองตั้งค่าครั้งต่อไป) สำหรับ muxer เท่านั้น
TCP และ UDP รองรับตัวเลือก

rtsp_flags
ตั้งค่าสถานะ RTSP

ค่าต่อไปนี้เป็นที่ยอมรับ:

filter_src
ยอมรับแพ็กเก็ตจากที่อยู่เพียร์และพอร์ตที่เจรจาไว้เท่านั้น

ฟัง
ทำหน้าที่เป็นเซิร์ฟเวอร์ รับฟังการเชื่อมต่อขาเข้า

ชอบ_tcp
ลองใช้ TCP สำหรับการขนส่ง RTP ก่อน ถ้า TCP พร้อมใช้งานเป็นการขนส่ง RTSP RTP

ค่าเริ่มต้นคือ ไม่มี.

ได้รับอนุญาต_media_types
ตั้งค่าประเภทสื่อที่จะยอมรับจากเซิร์ฟเวอร์

แฟล็กต่อไปนี้เป็นที่ยอมรับ:

วีดีโอ
เสียง
ข้อมูล

โดยค่าเริ่มต้น จะยอมรับสื่อทุกประเภท

min_port
ตั้งค่าพอร์ต UDP ขั้นต่ำในเครื่อง ค่าเริ่มต้นคือ 5000

max_port
ตั้งค่าพอร์ต UDP ภายในเครื่องสูงสุด ค่าเริ่มต้นคือ 65000

การหยุดพักชั่วคราว
ตั้งค่าการหมดเวลาสูงสุด (เป็นวินาที) เพื่อรอการเชื่อมต่อขาเข้า

ค่า -1 หมายถึงอนันต์ (ค่าเริ่มต้น) ตัวเลือกนี้หมายถึง rtsp_flags ตั้งค่าให้
ฟัง.

จัดลำดับใหม่_queue_size
ตั้งค่าจำนวนแพ็กเก็ตเป็นบัฟเฟอร์สำหรับจัดการแพ็กเก็ตที่จัดลำดับใหม่

หมดเวลา
ตั้งค่าการหมดเวลา TCP I/O ของซ็อกเก็ตเป็นไมโครวินาที

user-agent
แทนที่ส่วนหัว User-Agent หากไม่ได้ระบุไว้ ค่าเริ่มต้นจะเป็นlibavformat
สตริงตัวระบุ

เมื่อรับข้อมูลผ่าน UDP โปรแกรมดีลักซ์จะพยายามจัดลำดับแพ็กเก็ตที่ได้รับใหม่ (เนื่องจากพวกมัน
อาจมาถึงไม่เป็นระเบียบหรือแพ็คเก็ตอาจสูญหายโดยสิ้นเชิง) สามารถปิดใช้งานได้โดยการตั้งค่า
ดีลักซ์การดีลักซ์สูงสุดเป็นศูนย์ (ผ่านฟิลด์ "max_delay" ของ AVFormatContext)

เมื่อดูสตรีม Real-RTSP แบบหลายบิตเรตด้วย ffplay, สตรีมที่จะแสดงได้
เลือกด้วย "-vst" n และ "-ast" n สำหรับภาพและเสียงตามลำดับและสามารถเปิดได้
บินโดยกด "v" และ "a"

ตัวอย่าง

ตัวอย่างต่อไปนี้ทั้งหมดใช้ประโยชน์จาก ffplay และ ffmpeg tools.

· ดูสตรีมผ่าน UDP ด้วยความล่าช้าในการจัดลำดับใหม่สูงสุด 0.5 วินาที:

ffplay -max_delay 500000 -rtsp_transport udp rtsp: // เซิร์ฟเวอร์/video.mp4

· ดูสตรีมอุโมงค์ผ่าน HTTP:

ffplay -rtsp_transport http rtsp://server/video.mp4

· ส่งสตรีมแบบเรียลไทม์ไปยังเซิร์ฟเวอร์ RTSP เพื่อให้ผู้อื่นดู:

ffmpeg -re -i -f rtsp -muxdelay 0.1 rtsp://server/live.sdp

· รับสตรีมแบบเรียลไทม์:

ffmpeg -rtsp_flags ฟัง -i rtsp://ownaddress/live.sdp

สนามเพลาะ
โปรโตคอลประกาศเซสชัน (RFC 2974) นี่ไม่ใช่ทางเทคนิคตัวจัดการโปรโตคอลใน
libavformat มันคือ muxer และ demuxer ใช้สำหรับส่งสัญญาณของสตรีม RTP โดย
ประกาศ SDP สำหรับสตรีมอย่างสม่ำเสมอบนพอร์ตแยกต่างหาก

ผู้หญิง

ไวยากรณ์สำหรับ URL ของ SAP ที่กำหนดให้กับ muxer คือ:

ทรัพย์: // [: ][? ]

แพ็กเก็ต RTP จะถูกส่งไปยัง ปลายทาง บนท่าเรือ พอร์ต, หรือพอร์ต 5004 หากไม่มีพอร์ต is
ระบุไว้ ตัวเลือก เป็นรายการที่คั่นด้วย "&" รองรับตัวเลือกต่อไปนี้:

ประกาศ_addr=ที่อยู่
ระบุที่อยู่ IP ปลายทางสำหรับส่งประกาศไปยัง หากละเว้น
ประกาศจะถูกส่งไปยังที่อยู่ multicast ประกาศของ SAP ที่ใช้กันทั่วไป
224.2.127.254 (sap.mcast.net) หรือ ff0e::2:7ffe if ปลายทาง คือที่อยู่ IPv6

ประกาศ_port=พอร์ต
ระบุพอร์ตที่ต้องการส่งประกาศ ค่าเริ่มต้นคือ 9875 หากไม่ได้ระบุไว้

ทีทีแอล=TTL
ระบุค่า time to live สำหรับประกาศและแพ็กเก็ต RTP ค่าเริ่มต้นคือ 255

พอร์ตเดียวกัน =0 | 1
หากตั้งค่าเป็น 1 ให้ส่งสตรีม RTP ทั้งหมดในคู่พอร์ตเดียวกัน หากเป็นศูนย์ (ค่าเริ่มต้น) all
สตรีมถูกส่งไปยังพอร์ตที่ไม่ซ้ำกัน โดยแต่ละสตรีมบนพอร์ต 2 หมายเลขที่สูงกว่า
ก่อนหน้า. VLC/Live555 ต้องตั้งค่านี้เป็น 1 จึงจะสามารถรับสตรีมได้
สแต็ก RTP ในรูปแบบ libavform สำหรับการรับต้องการให้สตรีมทั้งหมดส่งแบบไม่ซ้ำกัน
พอร์ต

ตัวอย่างบรรทัดคำสั่งตาม

ในการออกอากาศสตรีมบนเครือข่ายย่อยในเครื่องสำหรับการรับชมใน VLC:

ffmpeg -re -i -f ทรัพย์ทรัพย์://224.0.0.255?same_port=1

ในทำนองเดียวกันสำหรับการรับชมใน ffplay:

ffmpeg -re -i -f ทรัพย์ทรัพย์://224.0.0.255

และสำหรับการรับชมใน ffplay, ผ่าน IPv6:

ffmpeg -re -i -f ทรัพย์ทรัพย์: //[ff0e::1:2:3:4]

ดีมูเซอร์

ไวยากรณ์สำหรับ URL ของ SAP ที่กำหนดให้กับ demuxer คือ:

ทรัพย์: //[ ][: ]

ที่อยู่ เป็นที่อยู่มัลติคาสต์เพื่อฟังการประกาศหากละเว้นค่าเริ่มต้น
ใช้ 224.2.127.254 (sap.mcast.net) พอร์ต คือพอร์ตที่ฟังอยู่ 9875 if
ละเว้น

demuxers ฟังประกาศเกี่ยวกับที่อยู่และพอร์ตที่ระบุ กาลครั้งหนึ่ง
ได้รับการประกาศก็พยายามรับสตรีมนั้น ๆ

ตัวอย่างบรรทัดคำสั่งตาม

ในการเล่นสตรีมแรกที่ประกาศบน SAP multicast address ปกติ:

ffplay ทรัพย์: //

ในการเล่นสตรีมแรกที่ประกาศบนที่อยู่ IPv6 SAP multicast เริ่มต้น:

ffplay ซับ: //[ff0e::2:7ffe]

สคป
สตรีมควบคุมการส่งโปรโตคอล

ไวยากรณ์ URL ที่ยอมรับคือ:

sctp:// : [? ]

โปรโตคอลยอมรับตัวเลือกต่อไปนี้:

ฟัง
หากตั้งค่าเป็นค่าใดๆ ให้ฟังการเชื่อมต่อขาเข้า การเชื่อมต่อขาออกทำได้โดย
ค่าเริ่มต้น.

max_streams
กำหนดจำนวนสตรีมสูงสุด โดยค่าเริ่มต้น ไม่ได้กำหนดขีดจำกัดไว้

ร.ร
โปรโตคอลการขนส่งแบบเรียลไทม์ที่ปลอดภัย

ตัวเลือกที่ยอมรับคือ:

srtp_in_suite
srtp_out_suite
เลือกชุดการเข้ารหัสอินพุตและเอาต์พุต

ค่าที่รองรับ:

AES_CM_128_HMAC_SHA1_80
SRTP_AES128_CM_HMAC_SHA1_80
AES_CM_128_HMAC_SHA1_32
SRTP_AES128_CM_HMAC_SHA1_32
srtp_in_params
srtp_out_params
ตั้งค่าพารามิเตอร์การเข้ารหัสอินพุตและเอาต์พุต ซึ่งแสดงโดย base64-encoded
การเป็นตัวแทนของบล็อกไบนารี 16 ไบต์แรกของบล็อกไบนารีนี้ถูกใช้เป็น
มาสเตอร์คีย์ 14 ไบต์ต่อไปนี้ใช้เป็นมาสเตอร์ซอลต์

ไฟล์ย่อย
แยกส่วนของไฟล์หรือสตรีมอื่นแบบเสมือน กระแสที่แฝงอยู่จะต้อง
น่าค้นหา

ตัวเลือกที่ยอมรับ:

เริ่มต้น
เริ่มออฟเซ็ตของเซ็กเมนต์ที่แยกออกมาเป็นไบต์

ปลาย สิ้นสุดออฟเซ็ตของเซ็กเมนต์ที่แยกออกมา เป็นไบต์

ตัวอย่าง:

แยกตอนจากไฟล์ DVD VOB (ภาคเริ่มต้นและสิ้นสุดที่ได้รับจากภายนอกและ
คูณด้วย 2048):

ไฟล์ย่อย,,start,153391104,end,268142592,,:/media/dvd/VIDEO_TS/VTS_08_1.VOB

เล่นไฟล์ AVI ได้โดยตรงจากไฟล์ TAR:

ไฟล์ย่อย,,start,183241728,end,366490624,,:archive.tar

TCP
โปรโตคอลควบคุมการส่ง

ไวยากรณ์ที่จำเป็นสำหรับ TCP url คือ:

tcp:// : [? ]

ตัวเลือก มีรายการของ &-แยกตัวเลือกของแบบฟอร์ม สำคัญ=คลื่น.

รายการตัวเลือกที่รองรับมีดังนี้

ฟัง=1 | 0
ฟังการเชื่อมต่อขาเข้า ค่าเริ่มต้นคือ 0

หมดเวลา =ไมโครวินาที
ตั้งค่าการหมดเวลาของข้อผิดพลาดในการเพิ่ม แสดงเป็นไมโครวินาที

ตัวเลือกนี้เกี่ยวข้องเฉพาะในโหมดอ่าน: หากไม่มีข้อมูลเข้ามาเกินเวลานี้
ช่วงเวลาทำให้เกิดข้อผิดพลาด

Listen_timeout=มิลลิวินาที
ตั้งค่าการหมดเวลาฟัง แสดงเป็นมิลลิวินาที

ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าการเชื่อมต่อ TCP ฟังด้วย ffmpegซึ่งเป็น
แล้วเข้าถึงด้วย ffplay:

ffmpeg -i -f tcp:// : ?ฟัง
ffplay tcp:// :

TLS
Transport Layer Security (TLS) / Secure Sockets Layer (SSL)

ไวยากรณ์ที่จำเป็นสำหรับ URL ของ TLS/SSL คือ:

tls:// : [? ]

พารามิเตอร์ต่อไปนี้สามารถตั้งค่าได้ผ่านตัวเลือกบรรทัดคำสั่ง (หรือในโค้ดผ่าน "AVOption"):

ca_file, คาไฟล์=ชื่อไฟล์
ไฟล์ที่มีใบรับรอง root ของผู้ออกใบรับรอง (CA) เพื่อถือว่าเชื่อถือได้ ถ้า
ไลบรารี TLS ที่เชื่อมโยงมีค่าเริ่มต้นซึ่งอาจไม่จำเป็นต้องระบุสำหรับ
การยืนยันเพื่อใช้งานได้ แต่ไม่ใช่ทุกไลบรารีและการตั้งค่าที่มีค่าเริ่มต้นในตัว The
ไฟล์ต้องอยู่ในรูปแบบ OpenSSL PEM

tls_verify=1 | 0
หากเปิดใช้งาน ให้ลองตรวจสอบเพียร์ที่เรากำลังสื่อสารด้วย หมายเหตุ หากใช้
OpenSSL ซึ่งขณะนี้ทำให้แน่ใจว่าใบรับรองเพียร์นั้นลงนามโดยหนึ่งใน
ใบรับรองหลักในฐานข้อมูล CA แต่ไม่ได้ตรวจสอบว่า
ใบรับรองตรงกับชื่อโฮสต์ที่เราพยายามจะเชื่อมต่อจริง ๆ (ด้วย GnuTLS
ชื่อโฮสต์ได้รับการตรวจสอบเช่นกัน)

สิ่งนี้ถูกปิดใช้งานโดยค่าเริ่มต้นเนื่องจากต้องมีฐานข้อมูล CA ที่จะให้โดย
ผู้โทรในหลายกรณี

ใบรับรองไฟล์ ใบรับรอง=ชื่อไฟล์
ไฟล์ที่มีใบรับรองเพื่อใช้ในการจับมือกับเพียร์ (เมื่อไหร่
ทำงานเป็นเซิร์ฟเวอร์ ในโหมดฟัง เพียร์ต้องการสิ่งนี้บ่อยกว่าในขณะที่
ใบรับรองไคลเอ็นต์ได้รับคำสั่งในการตั้งค่าบางอย่างเท่านั้น)

คีย์_ไฟล์, คีย์ =ชื่อไฟล์
ไฟล์ที่มีคีย์ส่วนตัวสำหรับใบรับรอง

ฟัง=1 | 0
หากเปิดใช้งาน ให้ฟังการเชื่อมต่อบนพอร์ตที่ให้มา และถือว่ามีบทบาทเซิร์ฟเวอร์ใน
การจับมือกันแทนบทบาทลูกค้า

ตัวอย่างบรรทัดคำสั่ง:

เพื่อสร้างเซิร์ฟเวอร์ TLS/SSL ที่ให้บริการสตรีมอินพุต

ffmpeg -i -f tls:// : ?listen&cert= &คีย์=

ในการเล่นสตรีมจากเซิร์ฟเวอร์ TLS/SSL โดยใช้ ffplay:

ffplay tls:// :

UDP
โปรโตคอลดาตาแกรมของผู้ใช้

ไวยากรณ์ที่จำเป็นสำหรับ UDP URL คือ:

udp:// : [? ]

ตัวเลือก มีรายการของ &-แยกตัวเลือกของแบบฟอร์ม สำคัญ=คลื่น.

ในกรณีที่เปิดใช้งานเธรดบนระบบ จะใช้บัฟเฟอร์แบบวงกลมเพื่อจัดเก็บ
ข้อมูลขาเข้า ซึ่งช่วยลดการสูญเสียข้อมูลเนื่องจากการโอเวอร์รันบัฟเฟอร์ซ็อกเก็ต UDP
พื้นที่ fifo_size และ overrun_nonfatal ตัวเลือกเกี่ยวข้องกับบัฟเฟอร์นี้

รายการตัวเลือกที่รองรับมีดังนี้

buffer_size=ขนาด
ตั้งค่าขนาดบัฟเฟอร์ซ็อกเก็ตสูงสุดของ UDP เป็นไบต์ ใช้เพื่อตั้งค่า
รับหรือส่งขนาดบัฟเฟอร์ ขึ้นอยู่กับซ็อกเก็ตที่ใช้สำหรับ ค่าเริ่มต้นคือ
64KB. ดูสิ่งนี้ด้วย fifo_size.

โลคัลพอร์ต=พอร์ต
แทนที่พอร์ต UDP ในเครื่องที่จะผูกด้วย

localaddr=addr
เลือกที่อยู่ IP ท้องถิ่น สิ่งนี้มีประโยชน์ เช่น หากส่งมัลติคาสต์และโฮสต์มี
อินเทอร์เฟซหลายแบบ ซึ่งผู้ใช้สามารถเลือกอินเทอร์เฟซที่จะส่งโดย
การระบุที่อยู่ IP ของอินเทอร์เฟซนั้น

pkt_size=ขนาด
กำหนดขนาดเป็นไบต์ของแพ็กเก็ต UDP

ใช้ซ้ำ=1 | 0
อนุญาตหรือไม่อนุญาตให้ใช้ซ็อกเก็ต UDP ซ้ำโดยชัดแจ้ง

ทีทีแอล=TTL
ตั้งเวลาเป็นค่าสด (สำหรับมัลติคาสต์เท่านั้น)

เชื่อมต่อ=1 | 0
เริ่มต้นซ็อกเก็ต UDP ด้วย "connect()" ในกรณีนี้ที่อยู่ปลายทาง
ไม่สามารถเปลี่ยนแปลงได้ด้วย ff_udp_set_remote_url ในภายหลัง หากที่อยู่ปลายทางไม่ใช่
รู้จักเมื่อเริ่มต้น ตัวเลือกนี้สามารถระบุใน ff_udp_set_remote_url ได้เช่นกัน นี้
อนุญาตให้ค้นหาที่อยู่ต้นทางสำหรับแพ็กเก็ตที่มี getsockname และทำให้
ส่งคืนการเขียนด้วย AVERROR(ECONNREFUSED) หากได้รับ "ปลายทางที่ไม่สามารถเข้าถึงได้"
สำหรับการรับ ให้ประโยชน์เฉพาะการรับแพ็กเก็ตจากที่ระบุเท่านั้น
ที่อยู่เพียร์/พอร์ต

แหล่งที่มา=ที่อยู่[,ที่อยู่]
รับเฉพาะแพ็กเก็ตที่ส่งไปยังกลุ่มมัลติคาสต์จากหนึ่งในผู้ส่งที่ระบุ IP
ที่อยู่

บล็อค=ที่อยู่[,ที่อยู่]
ละเว้นแพ็กเก็ตที่ส่งไปยังกลุ่มมัลติคาสต์จากที่อยู่ IP ของผู้ส่งที่ระบุ

fifo_size=หน่วย
ตั้งค่า UDP ที่ได้รับขนาดบัฟเฟอร์แบบวงกลม แสดงเป็นจำนวนแพ็คเก็ตที่มี size
จาก 188 ไบต์ หากไม่ระบุค่าเริ่มต้นเป็น 7*4096

overrun_nonfatal=1 | 0
เอาตัวรอดในกรณีที่ UDP ได้รับการโอเวอร์รันบัฟเฟอร์แบบวงกลม ค่าเริ่มต้นคือ 0

หมดเวลา =ไมโครวินาที
ตั้งค่าการหมดเวลาของข้อผิดพลาดในการเพิ่ม แสดงเป็นไมโครวินาที

ตัวเลือกนี้เกี่ยวข้องเฉพาะในโหมดอ่าน: หากไม่มีข้อมูลเข้ามาเกินเวลานี้
ช่วงเวลาทำให้เกิดข้อผิดพลาด

ออกอากาศ=1 | 0
อนุญาตหรือไม่อนุญาตการแพร่ภาพ UDP โดยชัดแจ้ง

โปรดทราบว่าการออกอากาศอาจทำงานไม่ถูกต้องบนเครือข่ายที่มีพายุกระจายเสียง
การป้องกัน

ตัวอย่าง

· ใช้ ffmpeg เพื่อสตรีมผ่าน UDP ไปยังปลายทางระยะไกล:

ffmpeg -i -f udp:// :

· ใช้ ffmpeg เพื่อสตรีมในรูปแบบ mpegts บน UDP โดยใช้แพ็กเก็ต UDP ขนาด 188 ขนาด โดยใช้a
บัฟเฟอร์อินพุตขนาดใหญ่:

ffmpeg -i -f mpegts udp:// : ?pkt_size=188&buffer_size=65535

· ใช้ ffmpeg เพื่อรับ UDP จากปลายทางระยะไกล:

ffmpeg -i udp://[ ]: ...

ยูนิกซ์
ซ็อกเก็ตท้องถิ่น Unix

ไวยากรณ์ที่จำเป็นสำหรับ URL ซ็อกเก็ต Unix คือ:

ยูนิกซ์: //

พารามิเตอร์ต่อไปนี้สามารถตั้งค่าได้ผ่านตัวเลือกบรรทัดคำสั่ง (หรือในโค้ดผ่าน "AVOption"):

การหยุดพักชั่วคราว
หมดเวลาในหน่วยมิลลิวินาที

ฟัง
สร้างซ็อกเก็ต Unix ในโหมดฟัง

อุปกรณ์ OPTIONS


ไลบรารี libavdevice มีอินเทอร์เฟซเดียวกันกับ libavformat กล่าวคืออินพุต
อุปกรณ์ถือเป็น demuxer และอุปกรณ์ส่งออกเช่น muxer และอินเทอร์เฟซ
และตัวเลือกอุปกรณ์ทั่วไปเหมือนกันโดย libavformat (ดู ffmpeg-formats
คู่มือ).

นอกจากนี้ แต่ละอุปกรณ์อินพุตหรือเอาต์พุตอาจรองรับตัวเลือกส่วนตัวที่เรียกว่า
เฉพาะสำหรับองค์ประกอบนั้น

สามารถกำหนดตัวเลือกได้โดยระบุ -ตัวเลือก ความคุ้มค่า ในเครื่องมือ FFmpeg หรือโดยการตั้งค่า
ค่าอย่างชัดเจนในตัวเลือก "AVFormatContext" ของอุปกรณ์หรือใช้ libavutil/opt.h API
สำหรับการใช้งานแบบเป็นโปรแกรม

INPUT อุปกรณ์


อุปกรณ์อินพุตได้รับการกำหนดค่าองค์ประกอบใน FFmpeg ซึ่งช่วยให้สามารถเข้าถึงข้อมูลที่กำลังมา
จากอุปกรณ์มัลติมีเดียที่ต่ออยู่กับระบบของคุณ

เมื่อคุณกำหนดค่าบิลด์ FFmpeg อุปกรณ์อินพุตที่รองรับทั้งหมดจะเปิดใช้งานโดย
ค่าเริ่มต้น. คุณสามารถแสดงรายการที่มีอยู่ทั้งหมดโดยใช้ตัวเลือกการกำหนดค่า "--list-indevs"

คุณสามารถปิดใช้งานอุปกรณ์อินพุตทั้งหมดได้โดยใช้ตัวเลือกการกำหนดค่า "--disable-indevs" และ
เลือกเปิดใช้งานอุปกรณ์อินพุตโดยใช้ตัวเลือก "--enable-indev=อินเดฟ" หรือคุณสามารถ
ปิดการใช้งานอุปกรณ์อินพุตเฉพาะโดยใช้ตัวเลือก "--disable-indev=อินเดฟ".

ตัวเลือก "-devices" ของเครื่องมือ ff* จะแสดงรายการอุปกรณ์อินพุตที่รองรับ

คำอธิบายของอุปกรณ์อินพุตที่มีอยู่ในปัจจุบันมีดังนี้

อัลซ่า
อุปกรณ์อินพุต ALSA (สถาปัตยกรรมเสียง Linux ขั้นสูง)

ในการเปิดใช้งานอุปกรณ์อินพุตนี้ระหว่างการกำหนดค่า คุณต้องติดตั้ง libasound บน your
ระบบ

อุปกรณ์นี้อนุญาตให้จับภาพจากอุปกรณ์ ALSA ต้องระบุชื่อเครื่องที่จะจับ
เป็นตัวระบุบัตร ALSA

ตัวระบุ ALSA มีไวยากรณ์:

หว: [, [, ]]

ที่ เดฟ และ การพัฒนาย่อย ส่วนประกอบเป็นตัวเลือก

อาร์กิวเมนต์ทั้งสาม (ตามลำดับ: CARD,เดฟ,การพัฒนาย่อย) ระบุหมายเลขบัตรหรือตัวระบุเครื่อง
หมายเลขและหมายเลขอุปกรณ์ย่อย (-1 หมายถึงใดๆ)

หากต้องการดูรายการการ์ดที่ระบบของคุณรู้จักในปัจจุบัน ให้ตรวจสอบไฟล์
/ proc / asound / การ์ด และ /proc/asound/อุปกรณ์.

เช่น จับภาพด้วย ffmpeg จากอุปกรณ์ ALSA ที่มีรหัสบัตร 0 คุณสามารถเรียกใช้
คำสั่ง:

ffmpeg -f alsa -i hw:0 alsaout.wav

ดูข้อมูลเพิ่มเติมได้ที่:http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html>

Options

อัตราการสุ่มตัวอย่าง
ตั้งค่าอัตราการสุ่มตัวอย่างเป็น Hz ค่าเริ่มต้นคือ 48000

ช่อง
กำหนดจำนวนช่อง ค่าเริ่มต้นคือ 2

มูลนิธิ
AVFoundation อุปกรณ์อินพุต

AVFoundation เป็นเฟรมเวิร์กที่แนะนำในปัจจุบันโดย Apple สำหรับการสตรีมบน OSX >=
10.7 เช่นเดียวกับบน iOS กรอบงาน QTKit ที่เก่ากว่าถูกทำเครื่องหมายว่าเลิกใช้ตั้งแต่ OSX
รุ่น 10.7

ต้องระบุชื่อไฟล์อินพุตในรูปแบบต่อไปนี้:

-i "[[วิดีโอ]:[เสียง]]"

รายการแรกเลือกอินพุตวิดีโอในขณะที่รายการหลังเลือกอินพุตเสียง NS
ต้องระบุสตรีมด้วยชื่ออุปกรณ์หรือดัชนีอุปกรณ์ตามที่อุปกรณ์แสดง
รายการ. หรือสามารถเลือกอุปกรณ์วิดีโอและ/หรือสัญญาณเสียงโดยใช้ดัชนีโดยใช้ปุ่ม

B<-video_device_index E ดัชนี >

และ / หรือ

B<-audio_device_index E ดัชนี >

แทนที่ชื่ออุปกรณ์หรือดัชนีที่ระบุในชื่อไฟล์อินพุต

อุปกรณ์ที่มีอยู่ทั้งหมดสามารถระบุได้โดยใช้ -list_devices จริง, รายการอุปกรณ์ทั้งหมด
ชื่อและดัชนีที่เกี่ยวข้อง

มีนามแฝงชื่ออุปกรณ์สองชื่อ:

"ค่าเริ่มต้น"
เลือกอุปกรณ์เริ่มต้น AVFoundation ของประเภทที่เกี่ยวข้อง

"ไม่มี"
อย่าบันทึกประเภทสื่อที่เกี่ยวข้อง ซึ่งเทียบเท่ากับการระบุค่าว่าง
ชื่ออุปกรณ์หรือดัชนี

Options

AVFoundation รองรับตัวเลือกต่อไปนี้:

-list_devices
หากตั้งค่าเป็น true รายการอุปกรณ์อินพุตที่มีทั้งหมดจะแสดงรายการอุปกรณ์ทั้งหมด
ชื่อและดัชนี

-video_device_index
ระบุอุปกรณ์วิดีโอตามดัชนี แทนที่ทุกอย่างที่ระบุในชื่อไฟล์อินพุต

-audio_device_index
ระบุอุปกรณ์เสียงตามดัชนี แทนที่ทุกอย่างที่ระบุในชื่อไฟล์อินพุต

-pixel_format
ขอให้อุปกรณ์วิดีโอใช้รูปแบบพิกเซลเฉพาะ หากรูปแบบที่ระบุคือ
ไม่รองรับ รายการรูปแบบที่มีให้และรายการแรกในรายการนี้คือ
ใช้แทน รูปแบบพิกเซลที่ใช้ได้คือ: "monob, rgb555be, rgb555le, rgb565be,
RGB565LE, RGB24, BGR24, 0RGB, BGR0, 0BGR, RGB0,
bgr48be, uyvy422, yuva444p, yuva444p16le, yuv444p, yuv422p16, yuv422p10, yuv444p10,
yuv420p, nv12, yuyv422, สีเทา"

-เฟรมเรท
กำหนดอัตราเฟรมโลภ ค่าเริ่มต้นคือ "ntsc" ซึ่งสอดคล้องกับอัตราเฟรมของ
"30000/1001"

-วิดีโอ_ขนาด
กำหนดขนาดเฟรมวิดีโอ

-capture_cursor
จับตัวชี้เมาส์ ค่าเริ่มต้นคือ 0

-capture_mouse_clicks
จับภาพการคลิกเมาส์บนหน้าจอ ค่าเริ่มต้นคือ 0

ตัวอย่าง

· พิมพ์รายการอุปกรณ์ที่รองรับ AVFoundation และออก:

$ ffmpeg -f avfoundation -list_devices true -i ""

· บันทึกวิดีโอจากอุปกรณ์วิดีโอ 0 และเสียงจากอุปกรณ์เสียง 0 ลงใน out.avi:

$ ffmpeg -f avfoundation -i "0:0" out.avi

· บันทึกวิดีโอจากอุปกรณ์วิดีโอ 2 และเสียงจากอุปกรณ์เสียง 1 ลงใน out.avi:

$ ffmpeg -f avfoundation -video_device_index 2 -i ":1" out.avi

· บันทึกวิดีโอจากอุปกรณ์วิดีโอเริ่มต้นของระบบโดยใช้รูปแบบพิกเซล bgr0 และ do
ไม่บันทึกเสียงใด ๆ ลงใน out.avi:

$ ffmpeg -f avfoundation -pixel_format bgr0 -i "ค่าเริ่มต้น: ไม่มี" out.avi

จขกท
อุปกรณ์อินพุตวิดีโอ BSD

Options

เฟรม
กำหนดอัตราเฟรม

วิดีโอ_ขนาด
กำหนดขนาดเฟรมวิดีโอ ค่าเริ่มต้นคือ "vga"

มาตรฐาน
ค่าที่ใช้ได้คือ:

เพื่อน
NTSC
แห้ง
เพื่อน
ปาล์ม
ntscj

Decklink
อุปกรณ์อินพุต Decklink ให้ความสามารถในการจับภาพสำหรับอุปกรณ์ Blackmagic DeckLink

ในการเปิดใช้งานอุปกรณ์อินพุตนี้ คุณต้องมี Blackmagic DeckLink SDK และคุณต้อง
กำหนดค่าด้วย "--extra-cflags" และ "--extra-ldflags" ที่เหมาะสม บน Windows คุณ
ต้องเรียกใช้ไฟล์ IDL ผ่าน วิด.

DeckLink นั้นจู้จี้จุกจิกมากเกี่ยวกับรูปแบบที่รองรับ รูปแบบพิกเซลคือ uyvy422 หรือ v210
ต้องกำหนดอัตราเฟรมและขนาดวิดีโอสำหรับอุปกรณ์ของคุณด้วย -list_formats 1. เครื่องเสียง
อัตราการสุ่มตัวอย่างคือ 48 kHz เสมอ และจำนวนช่องสัญญาณสามารถเป็น 2, 8 หรือ 16

Options

รายการ_อุปกรณ์
หากตั้งค่าเป็น จริงให้พิมพ์รายการอุปกรณ์และออก ค่าเริ่มต้นเป็น เท็จ.

รายการ_รูปแบบ
หากตั้งค่าเป็น จริงให้พิมพ์รายการรูปแบบที่รองรับและออก ค่าเริ่มต้นเป็น เท็จ.

bm_v210
หากตั้งค่าเป็น 1, วิดีโอถูกบันทึกใน 10 บิต v210 แทน uyvy422 ไม่ใช่ Blackmagic ทั้งหมด
อุปกรณ์รองรับตัวเลือกนี้

ตัวอย่าง

· รายการอุปกรณ์อินพุต:

ffmpeg -f decklink -list_devices 1 -i ดัมมี่

· รายการรูปแบบที่รองรับ:

ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'

· ถ่ายคลิปวิดีโอที่ 1080i50 (รูปแบบ 11):

ffmpeg -f decklink -i 'Intensity Pro@11' -acodec copy -vcodec คัดลอก output.avi

· ถ่ายคลิปวิดีโอที่ 1080i50 10 บิต:

ffmpeg -bm_v210 1 -f decklink -i 'UltraStudio Mini Recorder@11' -acodec copy -vcodec คัดลอก output.avi

แสดง
อุปกรณ์อินพุต Windows DirectShow

รองรับ DirectShow เมื่อสร้าง FFmpeg ด้วยโปรเจ็กต์ mingw-w64 ปัจจุบัน
รองรับเฉพาะอุปกรณ์เสียงและวิดีโอเท่านั้น

อาจเปิดอุปกรณ์หลายเครื่องเป็นอินพุตแยกกัน แต่อาจเปิดบนอุปกรณ์เดียวกันได้
อินพุตซึ่งควรปรับปรุงการซิงโครไนซ์ระหว่างกัน

ชื่ออินพุตควรอยู่ในรูปแบบ:

= [: = ]

ที่ไหน ประเภท สามารถเป็นได้ทั้ง เสียง or วีดีโอและ ชื่อ เป็นชื่อเครื่องหรือทางเลือก
ชื่อ..

Options

หากไม่ได้ระบุตัวเลือกไว้ ระบบจะใช้ค่าเริ่มต้นของอุปกรณ์ ถ้าเครื่องไม่
รองรับตัวเลือกที่ร้องขอจะไม่สามารถเปิดได้

วิดีโอ_ขนาด
กำหนดขนาดวิดีโอในวิดีโอที่ถ่าย

เฟรม
กำหนดอัตราเฟรมในวิดีโอที่ถ่าย

อัตราการสุ่มตัวอย่าง
ตั้งค่าอัตราสุ่ม (เป็น Hz) ของเสียงที่บันทึก

ขนาดตัวอย่าง
กำหนดขนาดตัวอย่าง (เป็นบิต) ของเสียงที่บันทึก

ช่อง
กำหนดจำนวนช่องสัญญาณในเสียงที่บันทึก

รายการ_อุปกรณ์
หากตั้งค่าเป็น จริง, พิมพ์รายการอุปกรณ์และออก

list_options
หากตั้งค่าเป็น จริงให้พิมพ์รายการตัวเลือกของอุปกรณ์ที่เลือกและออก

วิดีโอ_อุปกรณ์_หมายเลข
ตั้งค่าหมายเลขอุปกรณ์วิดีโอสำหรับอุปกรณ์ที่มีชื่อเดียวกัน (เริ่มต้นที่ 0 ค่าเริ่มต้นคือ 0)

เสียง_อุปกรณ์_หมายเลข
ตั้งค่าหมายเลขอุปกรณ์เสียงสำหรับอุปกรณ์ที่มีชื่อเดียวกัน (เริ่มต้นที่ 0 ค่าเริ่มต้นคือ 0)

pixel_format
เลือกรูปแบบพิกเซลที่จะใช้โดย DirectShow สามารถตั้งค่าได้เฉพาะเมื่อวิดีโอ
ตัวแปลงสัญญาณไม่ได้ถูกตั้งค่าหรือตั้งค่าเป็น rawvideo

เสียง_บัฟเฟอร์_ขนาด
ตั้งค่าขนาดบัฟเฟอร์ของอุปกรณ์เสียงเป็นมิลลิวินาที (ซึ่งอาจส่งผลกระทบโดยตรงต่อเวลาแฝง
ขึ้นอยู่กับอุปกรณ์) ค่าเริ่มต้นคือการใช้ขนาดบัฟเฟอร์เริ่มต้นของอุปกรณ์เสียง
(โดยทั่วไปแล้วจะเป็นทวีคูณของ 500ms) การตั้งค่านี้ต่ำเกินไปสามารถลดลงได้
ประสิทธิภาพ. ดูสิ่งนี้ด้วย
<http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v=vs.85).aspx>

video_pin_name
เลือกพินการจับภาพวิดีโอเพื่อใช้ตามชื่อหรือชื่ออื่น

audio_pin_name
เลือกพินการบันทึกเสียงเพื่อใช้ตามชื่อหรือชื่ออื่น

crossbar_video_input_pin_number
เลือกหมายเลขพินอินพุตวิดีโอสำหรับอุปกรณ์คานประตู สิ่งนี้จะถูกส่งไปยังคานประตู
พินเอาต์พุตตัวถอดรหัสวิดีโอของอุปกรณ์ โปรดทราบว่าการเปลี่ยนแปลงค่านี้อาจส่งผลต่ออนาคต
การเรียกใช้ (ตั้งค่าเริ่มต้นใหม่) จนกว่าระบบจะรีบูต

crossbar_audio_input_pin_number
เลือกหมายเลขพินอินพุตเสียงสำหรับอุปกรณ์คานประตู สิ่งนี้จะถูกส่งไปยังคานประตู
พินเอาต์พุตตัวถอดรหัสเสียงของอุปกรณ์ โปรดทราบว่าการเปลี่ยนแปลงค่านี้อาจส่งผลต่ออนาคต
การเรียกใช้ (ตั้งค่าเริ่มต้นใหม่) จนกว่าระบบจะรีบูต

show_video_device_dialog
หากตั้งค่าเป็น จริงก่อนที่การจับภาพจะเริ่มขึ้น ให้ป๊อปอัปกล่องโต้ตอบแสดงผลไปยังผู้ใช้ปลายทาง
อนุญาตให้เปลี่ยนคุณสมบัติและการกำหนดค่าตัวกรองวิดีโอด้วยตนเอง บันทึก
สำหรับอุปกรณ์คานประตู อาจจำเป็นต้องปรับค่าในกล่องโต้ตอบนี้ในบางครั้งเพื่อ
สลับระหว่างอัตราเฟรมอินพุต PAL (25 fps) และ NTSC (29.97) ขนาด การอินเทอร์เลซ
เป็นต้น การเปลี่ยนค่าเหล่านี้สามารถเปิดใช้งานอัตราการสแกน/อัตราเฟรมที่แตกต่างกันและหลีกเลี่ยงได้
แถบสีเขียวที่ด้านล่าง เส้นสแกนริบหรี่ ฯลฯ โปรดทราบว่าสำหรับบางอุปกรณ์
การเปลี่ยนแปลงคุณสมบัติเหล่านี้อาจส่งผลต่อการเรียกใช้ในอนาคต (ตั้งค่าเริ่มต้นใหม่) จนถึง
รีบูตระบบเกิดขึ้น

show_audio_device_dialog
หากตั้งค่าเป็น จริงก่อนที่การจับภาพจะเริ่มขึ้น ให้ป๊อปอัปกล่องโต้ตอบแสดงผลไปยังผู้ใช้ปลายทาง
อนุญาตให้เปลี่ยนคุณสมบัติและการกำหนดค่าตัวกรองเสียงด้วยตนเอง

show_video_crossbar_connection_dialog
หากตั้งค่าเป็น จริงก่อนที่การจับภาพจะเริ่มขึ้น ให้ป๊อปอัปกล่องโต้ตอบแสดงผลไปยังผู้ใช้ปลายทาง
อนุญาตให้แก้ไขการกำหนดเส้นทางพินของ crossbar ด้วยตนเองเมื่อเปิดอุปกรณ์วิดีโอ

show_audio_crossbar_connection_dialog
หากตั้งค่าเป็น จริงก่อนที่การจับภาพจะเริ่มขึ้น ให้ป๊อปอัปกล่องโต้ตอบแสดงผลไปยังผู้ใช้ปลายทาง
อนุญาตให้แก้ไขการกำหนดเส้นทางพินของคานประตูด้วยตนเอง เมื่อเปิดอุปกรณ์เสียง

show_analog_tv_tuner_dialog
หากตั้งค่าเป็น จริงก่อนที่การจับภาพจะเริ่มขึ้น ให้ป๊อปอัปกล่องโต้ตอบแสดงผลไปยังผู้ใช้ปลายทาง
อนุญาตให้แก้ไขช่องทีวีและความถี่ด้วยตนเอง

show_analog_tv_tuner_audio_dialog
หากตั้งค่าเป็น จริงก่อนที่การจับภาพจะเริ่มขึ้น ให้ป๊อปอัปกล่องโต้ตอบแสดงผลไปยังผู้ใช้ปลายทาง
อนุญาตให้แก้ไขเสียงทีวีด้วยตนเอง (เช่น โมโนกับสเตอริโอ ภาษา A, B หรือ C)

เสียง_อุปกรณ์_โหลด
โหลดอุปกรณ์กรองเสียงจากไฟล์แทนที่จะค้นหาโดยใช้ชื่อ มันอาจ
โหลดพารามิเตอร์เพิ่มเติมด้วย หากตัวกรองรองรับการทำให้เป็นอนุกรมของ
คุณสมบัติในการ หากต้องการใช้สิ่งนี้ จะต้องระบุแหล่งที่มาของการบันทึกเสียงไว้ แต่สามารถระบุได้
อะไรก็ตามแม้แต่ของปลอม

เสียง_อุปกรณ์_บันทึก
บันทึกอุปกรณ์ตัวกรองการดักจับเสียงที่ใช้อยู่ในปัจจุบันและพารามิเตอร์ของอุปกรณ์ (หากตัวกรอง
รองรับ) เป็นไฟล์. หากมีไฟล์ที่มีชื่อเดียวกัน ไฟล์นั้นจะถูกเขียนทับ

วิดีโอ_อุปกรณ์_โหลด
โหลดอุปกรณ์กรองการจับภาพวิดีโอจากไฟล์แทนที่จะค้นหาโดยใช้ชื่อ มันอาจ
โหลดพารามิเตอร์เพิ่มเติมด้วย หากตัวกรองรองรับการทำให้เป็นอนุกรมของ
คุณสมบัติในการ ในการใช้สิ่งนี้ต้องระบุแหล่งการจับภาพวิดีโอ แต่สามารถ
อะไรก็ตามแม้แต่ของปลอม

video_device_save
บันทึกอุปกรณ์ตัวกรองการจับภาพวิดีโอที่ใช้อยู่ในปัจจุบันและพารามิเตอร์ของอุปกรณ์ (หากตัวกรอง
รองรับ) เป็นไฟล์. หากมีไฟล์ที่มีชื่อเดียวกัน ไฟล์นั้นจะถูกเขียนทับ

ตัวอย่าง

· พิมพ์รายการอุปกรณ์ที่รองรับ DirectShow และออก:

$ ffmpeg -list_devices จริง -f dshow -i dummy

· เปิดอุปกรณ์วิดีโอ กล้อง:

$ ffmpeg -f dshow -i video="กล้อง"

·เปิดอุปกรณ์วิดีโอที่สองด้วยชื่อ กล้อง:

$ ffmpeg -f dshow -video_device_number 1 -i video="Camera"

· เปิดอุปกรณ์วิดีโอ กล้อง และอุปกรณ์เครื่องเสียง ไมโครโฟน:

$ ffmpeg -f dshow -i video="Camera":audio="ไมโครโฟน"

· พิมพ์รายการตัวเลือกที่รองรับในอุปกรณ์ที่เลือกและออก:

$ ffmpeg -list_options true -f dshow -i video="Camera"

· ระบุชื่อพินที่จะจับตามชื่อหรือชื่ออื่น ระบุอุปกรณ์สำรอง
ชื่อ:

$ ffmpeg -f dshow -audio_pin_name "Audio Out" -video_pin_name 2 -i video=video="@device_pnp_\\?\pci#ven_1a0a&dev_6200&subsys_62021461&rev_01#4&e2c7dd6&0&00e1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{ca465100-deb0-4d59-818f-8c477184adf6}":audio="Microphone"

· กำหนดค่าอุปกรณ์คานขวาง ระบุหมุดคานขวาง อนุญาตให้ผู้ใช้ปรับวิดีโอ
จับภาพคุณสมบัติเมื่อเริ่มต้น:

$ ffmpeg -f dshow -show_video_device_dialog จริง -crossbar_video_input_pin_number 0
-crossbar_audio_input_pin_number 3 -i video="AVerMedia BDA Analog Capture":audio="AVerMedia BDA Analog Capture"

dv1394
อุปกรณ์อินพุต Linux DV 1394

Options

เฟรม
กำหนดอัตราเฟรม ค่าเริ่มต้นคือ 25

มาตรฐาน
ค่าที่ใช้ได้คือ:

เพื่อน
NTSC

ค่าเริ่มต้นคือ "ntsc"

fbdev
อุปกรณ์อินพุต Linux framebuffer

Linux framebuffer เป็นเลเยอร์นามธรรมที่ไม่ขึ้นกับฮาร์ดแวร์กราฟิกเพื่อแสดงกราฟิก
บนหน้าจอคอมพิวเตอร์ โดยทั่วไปจะอยู่บนคอนโซล เข้าถึงได้ผ่านอุปกรณ์ไฟล์
โหนด โดยปกติ /dev/fb0.

สำหรับข้อมูลเพิ่มเติม โปรดอ่านไฟล์ Documentation/fb/framebuffer.txt ที่รวมอยู่ใน
ต้นไม้ต้นทางของลินุกซ์

ดูสิ่งนี้ด้วยhttp://linux-fbdev.sourceforge.net/>, และ fbset(1)

เพื่อบันทึกจากอุปกรณ์เฟรมบัฟเฟอร์ /dev/fb0 กับ ffmpeg:

ffmpeg -f fbdev -framerate 10 -i /dev/fb0 out.avi

คุณสามารถถ่ายภาพหน้าจอเดียวด้วยคำสั่ง:

ffmpeg -f fbdev -framerate 1 -i /dev/fb0 -frames:v 1 ภาพหน้าจอ.jpeg

Options

เฟรม
กำหนดอัตราเฟรม ค่าเริ่มต้นคือ 25

กดิแกรบ
อุปกรณ์จับภาพหน้าจอที่ใช้ Win32 GDI

อุปกรณ์นี้ช่วยให้คุณจับภาพพื้นที่ของจอแสดงผลบน Windows

มีสองตัวเลือกสำหรับชื่อไฟล์อินพุต:

เดสก์ท็อป

or

ชื่อเรื่อง=

ตัวเลือกแรกจะจับภาพเดสก์ท็อปทั้งหมดหรือพื้นที่คงที่ของเดสก์ท็อป NS
ตัวเลือกที่สองจะจับภาพเนื้อหาของหน้าต่างเดียวแทนโดยไม่คำนึงถึง
ตำแหน่งบนหน้าจอ

ตัวอย่างเช่น ในการคว้าเดสก์ท็อปทั้งหมดโดยใช้ ffmpeg:

ffmpeg -f gdigrab -framerate 6 -i เดสก์ท็อป out.mpg

คว้าพื้นที่ 640x480 ที่ตำแหน่ง "10,20":

ffmpeg -f gdigrab -framerate 6 -offset_x 10 -offset_y 20 -video_size vga -i เดสก์ท็อป out.mpg

หยิบเนื้อหาของหน้าต่างชื่อ "เครื่องคิดเลข"

ffmpeg -f gdigrab -framerate 6 -i title=เครื่องคิดเลข out.mpg

Options

Draw_mouse
ระบุว่าจะวาดตัวชี้เมาส์หรือไม่ ใช้ค่า 0 เพื่อไม่วาดตัวชี้
ค่าเริ่มต้นคือ 1

เฟรม
กำหนดอัตราเฟรมโลภ ค่าเริ่มต้นคือ "ntsc" ซึ่งสอดคล้องกับอัตราเฟรมของ
"30000/1001"

show_ภูมิภาค
แสดงภูมิภาคที่คว้าบนหน้าจอ

If show_ภูมิภาค ระบุด้วย 1 จากนั้นบริเวณที่จับจะถูกระบุบน
หน้าจอ. ด้วยตัวเลือกนี้ มันง่ายที่จะรู้ว่าสิ่งที่ถูกคว้าไปถ้าเพียงบางส่วนเท่านั้น
ของหน้าจอถูกจับ

โปรดทราบว่า show_ภูมิภาค เข้ากันไม่ได้กับการดึงเนื้อหาของหน้าต่างเดียว

ตัวอย่างเช่น:

ffmpeg -f gdigrab -show_region 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i เดสก์ท็อป out.mpg

วิดีโอ_ขนาด
กำหนดขนาดเฟรมวิดีโอ ค่าเริ่มต้นคือการจับภาพเต็มหน้าจอถ้า เดสก์ท็อป is
เลือกหรือขนาดเต็มหน้าต่างถ้า หัวเรื่อง=window_title จะถูกเลือก

offset_x
เมื่อจับภาพพื้นที่ด้วย วิดีโอ_ขนาด, กำหนดระยะห่างจากขอบด้านซ้ายของ
หน้าจอหรือเดสก์ท็อป

โปรดทราบว่าการคำนวณออฟเซ็ตมาจากมุมบนซ้ายของจอภาพหลักบน
วินโดว์. หากคุณมีจอภาพอยู่ทางด้านซ้ายของจอภาพหลัก คุณ
จะต้องใช้เครื่องหมายลบ offset_x ค่าเพื่อย้ายภูมิภาคไปยังจอภาพนั้น

offset_y
เมื่อจับภาพพื้นที่ด้วย วิดีโอ_ขนาด, กำหนดระยะห่างจากขอบบนของ
หน้าจอหรือเดสก์ท็อป

โปรดทราบว่าการคำนวณออฟเซ็ตมาจากมุมบนซ้ายของจอภาพหลักบน
วินโดว์. หากคุณมีจอภาพอยู่เหนือจอภาพหลัก คุณจะต้อง
ใช้เครื่องหมายลบ offset_y ค่าเพื่อย้ายภูมิภาคไปยังจอภาพนั้น

ใช่61883
อุปกรณ์อินพุต FireWire DV/HDV โดยใช้ libiec61883

ในการเปิดใช้งานอุปกรณ์อินพุตนี้ คุณต้องติดตั้ง libiec61883, libraw1394 และ libavc1394
ระบบของคุณ ใช้ตัวเลือกการกำหนดค่า "--enable-libiec61883" เพื่อคอมไพล์กับอุปกรณ์
เปิดการใช้งาน

อุปกรณ์จับภาพ iec61883 รองรับการบันทึกจากอุปกรณ์วิดีโอที่เชื่อมต่อผ่าน IEEE1394
(FireWire) โดยใช้ libiec61883 และ Linux FireWire stack (juju) ใหม่ นี่คือค่าเริ่มต้น
วิธีการป้อนข้อมูล DV/HDV ใน Linux Kernel 2.6.37 และใหม่กว่า เนื่องจาก FireWire stack แบบเก่าเป็น
ลบออก

ระบุพอร์ต FireWire ที่จะใช้เป็นไฟล์อินพุต หรือ "อัตโนมัติ" เพื่อเลือกพอร์ตแรก
เกี่ยวข้อง

Options

dvประเภท
แทนที่การตรวจจับอัตโนมัติของ DV/HDV ควรใช้เฉพาะในกรณีที่การตรวจจับอัตโนมัติไม่
ทำงานหรือหากห้ามใช้งานอุปกรณ์ประเภทอื่น การรักษา DV
อุปกรณ์ที่เป็น HDV (หรือกลับกัน) จะไม่ทำงานและส่งผลให้เกิดพฤติกรรมที่ไม่ได้กำหนดไว้ NS
ค่า รถยนต์, dv และ เอชดีวี ได้รับการสนับสนุน

บัฟเฟอร์
ตั้งค่าขนาดบัฟเฟอร์สูงสุดสำหรับข้อมูลขาเข้าในเฟรม สำหรับ DV นี่คือค่าที่แน่นอน
ค่า. สำหรับ HDV จะไม่มีขนาดเฟรมที่แน่นอน เนื่องจาก HDV ไม่มีขนาดเฟรมคงที่

ดีวีดี
เลือกอุปกรณ์จับภาพโดยระบุว่าเป็น GUID จับภาพได้เท่านั้น
จากอุปกรณ์ที่ระบุ และจะล้มเหลวหากไม่พบอุปกรณ์ที่มี GUID ที่ระบุ นี่คือ
มีประโยชน์ในการเลือกอินพุตหากเชื่อมต่ออุปกรณ์หลายเครื่องพร้อมกัน ดู
ที่ /sys/bus/firewire/devices เพื่อค้นหา GUID

ตัวอย่าง

· หยิบและแสดงอินพุตของอุปกรณ์ FireWire DV/HDV

ffplay -f iec61883 -i อัตโนมัติ

· หยิบและบันทึกอินพุตของอุปกรณ์ FireWire DV/HDV โดยใช้แพ็กเก็ตบัฟเฟอร์ 100000
แพ็กเก็ตหากแหล่งที่มาเป็น HDV

ffmpeg -f iec61883 -i อัตโนมัติ -hdvbuffer 100000 out.mpg

แม่แรง
อุปกรณ์อินพุตแจ็ค

ในการเปิดใช้งานอุปกรณ์อินพุตนี้ระหว่างการกำหนดค่า คุณต้องติดตั้ง libjack บน your
ระบบ

อุปกรณ์อินพุต JACK สร้างไคลเอ็นต์ที่เขียนได้ของ JACK หนึ่งเครื่องขึ้นไป หนึ่งเครื่องสำหรับแต่ละช่องสัญญาณเสียง
ด้วยชื่อ ชื่อลูกค้า:ป้อนข้อมูล_Nที่นี่มี ชื่อลูกค้า เป็นชื่อที่แอปพลิเคชันระบุ
และ N เป็นตัวเลขระบุช่อง ลูกค้าที่เขียนได้แต่ละคนจะส่ง
ข้อมูลที่ได้รับไปยังอุปกรณ์อินพุต FFmpeg

เมื่อคุณสร้างไคลเอนต์ที่อ่านได้ของ JACK ได้ตั้งแต่หนึ่งตัวขึ้นไป คุณต้องเชื่อมต่อเข้ากับไคลเอ็นต์หนึ่งตัว
หรือไคลเอนต์ที่เขียนได้ของ JACK มากกว่า

ในการเชื่อมต่อหรือยกเลิกการเชื่อมต่อไคลเอนต์ JACK คุณสามารถใช้ แจ็ค_เชื่อมต่อ และ jack_disconnect
โปรแกรมหรือทำผ่านส่วนต่อประสานกราฟิกเช่นกับ qjackctl.

ในการแสดงรายการไคลเอ็นต์ JACK และคุณสมบัติของไคลเอ็นต์ คุณสามารถเรียกใช้คำสั่ง แจ็ค_lsp.

ทำตามตัวอย่างที่แสดงวิธีการจับภาพไคลเอนต์ที่อ่านได้ของ JACK ด้วย ffmpeg.

# สร้างไคลเอนต์ที่เขียนได้ของ JACK ด้วยชื่อ "ffmpeg"
$ ffmpeg -f แจ็ค -i ffmpeg -y out.wav

# เริ่มไคลเอนต์ที่อ่านได้ jack_metro ตัวอย่าง
$ แจ็ค_เมโทร -b 120 -d 0.2 -f 4000

# แสดงรายการไคลเอนต์ JACK ปัจจุบัน
$jack_lsp -ค
ระบบ:capture_1
ระบบ:capture_2
ระบบ:playback_1
ระบบ:playback_2
ffmpeg:input_1
รถไฟใต้ดิน:120_bpm

# เชื่อมต่อเมโทรกับไคลเอนต์ที่เขียนได้ ffmpeg
$ jack_connect เมโทร:120_bpm ffmpeg:input_1

อ่านข้อมูลเพิ่มเติม:http://jackaudio.org/>

Options

ช่อง
กำหนดจำนวนช่อง ค่าเริ่มต้นคือ 2

ลาฟฟี่
Libavfilter อินพุตอุปกรณ์เสมือน

อุปกรณ์อินพุตนี้อ่านข้อมูลจากแพดเอาต์พุตที่เปิดอยู่ของกราฟตัวกรอง libavfilter

สำหรับแต่ละเอาต์พุตที่เปิดของ filtergraph อุปกรณ์อินพุตจะสร้างสตรีมที่สอดคล้องกัน
ซึ่งถูกแมปกับผลลัพธ์ที่สร้างขึ้น ปัจจุบันรองรับเฉพาะข้อมูลวิดีโอเท่านั้น NS
filtergraph ถูกระบุผ่านตัวเลือก กราฟ.

Options

กราฟ
ระบุตัวกรองเพื่อใช้เป็นอินพุต เอาต์พุตที่เปิดวิดีโอแต่ละรายการต้องมีป้ายกำกับโดย a
สตริงเฉพาะของรูปแบบ "outN"ที่ไหน N เป็นตัวเลขที่เริ่มต้นจาก 0 ซึ่งสอดคล้องกับ
สตรีมอินพุตที่แมปที่สร้างโดยอุปกรณ์ เอาต์พุตที่ไม่มีป้ายกำกับแรกคือ
กำหนดโดยอัตโนมัติให้กับป้ายกำกับ "out0" แต่จำเป็นต้องระบุส่วนอื่นๆ ทั้งหมด
อย่างชัดเจน

คำต่อท้าย "+subcc" สามารถต่อท้ายป้ายกำกับเอาต์พุตเพื่อสร้างสตรีมพิเศษด้วย
แพ็กเก็ตคำบรรยายใต้ภาพที่แนบมากับเอาต์พุตนั้น (ทดลอง เฉพาะ EIA-608 /
CEA-708 สำหรับตอนนี้) สตรีมย่อยถูกสร้างขึ้นหลังจากสตรีมปกติทั้งหมดใน
ลำดับของกระแสน้ำที่สอดคล้องกัน ตัวอย่างเช่น ถ้ามี "out19+subcc"
"out7+subcc" และสูงสุด "out42" สตรีม #43 เป็น subcc สำหรับสตรีม #7 และสตรีม #44
เป็น subcc สำหรับสตรีม #19

หากไม่ได้ระบุค่าเริ่มต้นเป็นชื่อไฟล์ที่ระบุสำหรับอุปกรณ์อินพุต

กราฟ_ไฟล์
ตั้งชื่อไฟล์ของกราฟตัวกรองที่จะอ่านและส่งไปยังตัวกรองอื่นๆ ไวยากรณ์
ของ filtergraph เหมือนกับที่ระบุโดย option กราฟ.

Dumpgraph
ถ่ายโอนกราฟไปที่ stderr

ตัวอย่าง

·สร้างสตรีมวิดีโอสีและเล่นด้วย ffplay:

ffplay -f lavfi -graph "color=c=pink [out0]" ดัมมี่

· ตามตัวอย่างที่แล้ว แต่ใช้ชื่อไฟล์เพื่อระบุคำอธิบายกราฟ และ
ละเว้นป้ายกำกับ "out0":

ffplay -f lavfi color=c=pink

· สร้างแหล่งกรองการทดสอบวิดีโอที่แตกต่างกันสามแหล่งและเล่น:

ffplay -f lavfi -graph "testsrc [out0]; testsrc,hflip [out1]; testsrc,negate [out2]" test3

· อ่านสตรีมเสียงจากไฟล์โดยใช้แหล่งภาพยนตร์และเล่นด้วย ffplay:

ffplay -f lavfi "movie=test.wav"

·อ่านสตรีมเสียงและสตรีมวิดีโอแล้วเล่นด้วย ffplay:

ffplay -f lavfi "movie=test.avi[out0];movie=test.wav[out1]"

· ดัมพ์เฟรมที่ถอดรหัสไปยังรูปภาพและคำบรรยายแบบปิดไปยังไฟล์ (ทดลอง):

ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map v frame%08d.png -map s -c copy -f rawvideo subcc.bin

libcdio
อุปกรณ์อินพุต Audio-CD ที่ใช้ libcdio

ในการเปิดใช้งานอุปกรณ์อินพุตนี้ระหว่างการกำหนดค่า คุณต้องติดตั้ง libcdio บน your
ระบบ. ต้องใช้ตัวเลือกการกำหนดค่า "--enable-libcdio"

อุปกรณ์นี้อนุญาตให้เล่นและหยิบจากซีดีเพลงได้

ตัวอย่างเช่นการคัดลอกด้วย ffmpeg ซีดีเพลงทั้งหมดใน / dev / sr0คุณสามารถรันคำสั่ง:

ffmpeg -f libcdio -i /dev/sr0 cd.wav

Options

ความเร็ว
ตั้งค่าความเร็วในการอ่านไดรฟ์ ค่าเริ่มต้นคือ 0

ความเร็วถูกระบุหน่วยความเร็วของซีดีรอม ความเร็วถูกกำหนดผ่าน libcdio
ฟังก์ชัน "cdio_cddap_speed_set" ในไดรฟ์ซีดีรอมจำนวนมาก โดยระบุค่าที่มากเกินไป
จะส่งผลให้ใช้ความเร็วที่เร็วที่สุด

หวาดระแวง_โหมด
ตั้งค่าสถานะโหมดการกู้คืนหวาดระแวง ยอมรับค่าใดค่าหนึ่งต่อไปนี้:

ปิดการใช้งาน
ตรวจสอบ
คาบเกี่ยวกัน
ไม่เคยข้าม
เต็ม

ค่าเริ่มต้นคือ ปิดการใช้งาน.

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโหมดการกู้คืนที่มีอยู่ ปรึกษาโครงการหวาดระแวง
เอกสาร

libdc1394
อุปกรณ์อินพุต IIDC1394 ตาม libdc1394 และ libraw1394

ต้องการตัวเลือกการกำหนดค่า "--enable-libdc1394"

เปิด
อุปกรณ์อินพุต OpenAL ให้การดักจับเสียงในทุกระบบด้วย OpenAL 1.1 . ที่ใช้งานได้
การดำเนินงาน

ในการเปิดใช้งานอุปกรณ์อินพุตนี้ระหว่างการกำหนดค่า คุณต้องมีส่วนหัวและไลบรารี OpenAL
ติดตั้งบนระบบของคุณและจำเป็นต้องกำหนดค่า FFmpeg ด้วย "--enable-openal"

ควรจัดเตรียมส่วนหัวและไลบรารี OpenAL ให้เป็นส่วนหนึ่งของการใช้งาน OpenAL ของคุณ หรือ
เป็นการดาวน์โหลดเพิ่มเติม (SDK) ขึ้นอยู่กับการติดตั้งของคุณ คุณอาจต้องระบุ
แฟล็กเพิ่มเติมผ่าน "--extra-cflags" และ "--extra-ldflags" เพื่ออนุญาตให้สร้าง
ระบบเพื่อค้นหาส่วนหัวและไลบรารี OpenAL

รายการการใช้งาน OpenAL ที่ไม่สมบูรณ์มีดังนี้:

ความคิดสร้างสรรค์
การใช้งาน Windows อย่างเป็นทางการโดยให้การเร่งฮาร์ดแวร์ด้วยการสนับสนุน
อุปกรณ์และซอฟต์แวร์สำรอง ดูhttp://openal.org/>.

โอเพนอัล อ่อน
การติดตั้งซอฟต์แวร์โอเพ่นซอร์ส (LGPL) แบบพกพา รวมแบ็กเอนด์ให้มากที่สุด
API เสียงทั่วไปบนระบบปฏิบัติการ Windows, Linux, Solaris และ BSD ดู
<http://kcat.strangesoft.net/openal.html>.

Apple
OpenAL เป็นส่วนหนึ่งของ Core Audio ซึ่งเป็นอินเทอร์เฟซ Mac OS X Audio อย่างเป็นทางการ ดู
<http://developer.apple.com/technologies/mac/audio-and-video.html>

อุปกรณ์นี้อนุญาตให้จับภาพจากอุปกรณ์อินพุตเสียงที่จัดการผ่าน OpenAL

คุณต้องระบุชื่ออุปกรณ์ที่จะบันทึกในชื่อไฟล์ที่ให้มา ถ้า
มีสตริงว่างไว้ อุปกรณ์จะเลือกอุปกรณ์เริ่มต้นโดยอัตโนมัติ คุณสามารถ
รับรายการอุปกรณ์ที่รองรับโดยใช้ตัวเลือก รายการ_อุปกรณ์.

Options

ช่อง
กำหนดจำนวนช่องสัญญาณในเสียงที่บันทึก เฉพาะค่า 1 (โมโน) และ 2
(สเตอริโอ) ได้รับการสนับสนุนในขณะนี้ ค่าเริ่มต้นเป็น 2.

ขนาดตัวอย่าง
กำหนดขนาดตัวอย่าง (เป็นบิต) ของเสียงที่บันทึก เฉพาะค่า 8 และ 16 เป็น
ปัจจุบันได้รับการสนับสนุน ค่าเริ่มต้นเป็น 16.

อัตราการสุ่มตัวอย่าง
ตั้งค่าอัตราการสุ่มตัวอย่าง (เป็น Hz) ของเสียงที่บันทึก ค่าเริ่มต้นเป็น 44.1k.

รายการ_อุปกรณ์
หากตั้งค่าเป็น จริงให้พิมพ์รายการอุปกรณ์และออก ค่าเริ่มต้นเป็น เท็จ.

ตัวอย่าง

พิมพ์รายการอุปกรณ์ที่รองรับ OpenAL และออก:

$ ffmpeg -list_devices จริง -f openal -i dummy out.ogg

จับภาพจากอุปกรณ์ OpenAL DR-BT101 ผ่านทาง PulseAudio:

$ ffmpeg -f openal -i 'DR-BT101 ผ่าน PulseAudio' out.ogg

จับภาพจากอุปกรณ์เริ่มต้น (สังเกตสตริงว่าง '' เป็นชื่อไฟล์):

$ ffmpeg -f openal -i '' out.ogg

จับภาพจากสองอุปกรณ์พร้อมกัน เขียนถึงสองไฟล์ที่ต่างกันภายในเครื่องเดียวกัน
ffmpeg คำสั่ง:

$ ffmpeg -f openal -i 'DR-BT101 ผ่าน PulseAudio' out1.ogg -f openal -i 'ALSA Default' out2.ogg

หมายเหตุ: การใช้งาน OpenAL ทั้งหมดนั้นไม่สนับสนุนการดักจับพร้อมกันหลายตัว - ลองใช้
OpenAL Soft ล่าสุดหากด้านบนใช้ไม่ได้

ศูนย์
เปิดอุปกรณ์อินพุตระบบเสียง

ชื่อไฟล์ที่จะระบุให้กับอุปกรณ์อินพุตคือโหนดอุปกรณ์ที่เป็นตัวแทนของอินพุต OSS
อุปกรณ์และมักจะตั้งค่าเป็น /dev/dsp.

ตัวอย่างเช่น คว้าจาก /dev/dsp การใช้ ffmpeg ใช้คำสั่ง:

ffmpeg -f oss -i /dev/dsp /tmp/oss.wav

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ OSS โปรดดู:http://manuals.opensound.com/usersguide/dsp.html>

Options

อัตราการสุ่มตัวอย่าง
ตั้งค่าอัตราการสุ่มตัวอย่างเป็น Hz ค่าเริ่มต้นคือ 48000

ช่อง
กำหนดจำนวนช่อง ค่าเริ่มต้นคือ 2

ชีพจร
อุปกรณ์อินพุต PulseAudio

ในการเปิดใช้งานอุปกรณ์ส่งออกนี้ คุณต้องกำหนดค่า FFmpeg ด้วย "--enable-libpulse"

ชื่อไฟล์ที่จะระบุให้กับอุปกรณ์อินพุตคืออุปกรณ์ต้นทางหรือสตริง "default"

ในการแสดงรายการอุปกรณ์ต้นทาง PulseAudio และคุณสมบัติของอุปกรณ์ คุณสามารถเรียกใช้คำสั่ง
แพ็คเติ้ล รายการ แหล่งที่มา.

ดูข้อมูลเพิ่มเติมเกี่ยวกับ PulseAudio ได้ที่http://www.pulseaudio.org>.

Options

เซิร์ฟเวอร์
เชื่อมต่อกับเซิร์ฟเวอร์ PulseAudio ที่ระบุโดยระบุที่อยู่ IP เซิร์ฟเวอร์เริ่มต้น
ใช้เมื่อไม่ได้ระบุ

ชื่อ
ระบุชื่อแอปพลิเคชันที่ PulseAudio จะใช้เมื่อแสดงไคลเอ็นต์ที่ใช้งานอยู่ โดย
ค่าเริ่มต้นคือสตริง "LIBAVFORMAT_IDENT"

stream_name
ระบุชื่อสตรีมที่ PulseAudio จะใช้เมื่อแสดงสตรีมที่ใช้งานอยู่ โดยค่าเริ่มต้นคือ
คือ "บันทึก"

อัตราการสุ่มตัวอย่าง
ระบุแซมเปิลเรทเป็น Hz โดยค่าเริ่มต้นจะใช้ 48kHz

ช่อง
ระบุช่องสัญญาณที่ใช้งานโดยค่าเริ่มต้น 2 (สเตอริโอ) จะถูกตั้งค่า

frame_size
ระบุจำนวนไบต์ต่อเฟรม โดยค่าเริ่มต้นจะตั้งไว้ที่ 1024

แฟรกเมนต์_ขนาด
ระบุแฟรกเมนต์บัฟเฟอร์ขั้นต่ำใน PulseAudio จะส่งผลต่อเสียง
เวลาแฝง โดยค่าเริ่มต้น จะไม่มีการตั้งค่า

นาฬิกาแขวน
ตั้งค่า PTS เริ่มต้นโดยใช้เวลาปัจจุบัน ค่าเริ่มต้นคือ 1

ตัวอย่าง

บันทึกสตรีมจากอุปกรณ์เริ่มต้น:

ffmpeg -f ชีพจร -i ค่าเริ่มต้น /tmp/pulse.wav

qtkit
อุปกรณ์อินพุต QTKit

ชื่อไฟล์ที่ส่งเป็นอินพุตจะถูกแยกวิเคราะห์เพื่อให้มีชื่ออุปกรณ์หรือดัชนี NS
ดัชนีอุปกรณ์สามารถกำหนดได้โดยใช้ -video_device_index ดัชนีอุปกรณ์ที่กำหนดจะ
แทนที่ชื่ออุปกรณ์ที่ระบุ หากอุปกรณ์ที่ต้องการมีเฉพาะตัวเลข ให้ใช้
-video_device_index เพื่อระบุ อุปกรณ์เริ่มต้นจะถูกเลือกถ้าสตริงว่าง
หรือชื่ออุปกรณ์เป็น "ค่าเริ่มต้น" อุปกรณ์ที่มีอยู่สามารถระบุได้โดยใช้
-list_devices

ffmpeg -f qtkit -i "0" out.mpg

ffmpeg -f qtkit -video_device_index 0 -i "" out.mpg

ffmpeg -f qtkit -i "ค่าเริ่มต้น" out.mpg

ffmpeg -f qtkit -list_devices จริง -i ""

Options

เฟรม_เรต
กำหนดอัตราเฟรม ค่าเริ่มต้นคือ 30

รายการ_อุปกรณ์
หากตั้งค่าเป็น "จริง" ให้พิมพ์รายการอุปกรณ์และออก ค่าเริ่มต้นคือ "เท็จ"

video_device_index
เลือกอุปกรณ์วิดีโอตามดัชนีสำหรับอุปกรณ์ที่มีชื่อเดียวกัน (เริ่มต้นที่ 0)

สน
อุปกรณ์อินพุต sndio

ในการเปิดใช้งานอุปกรณ์อินพุตนี้ระหว่างการกำหนดค่า คุณต้องติดตั้ง libsndio บน your
ระบบ

ชื่อไฟล์ที่จะระบุให้กับอุปกรณ์อินพุตคือโหนดอุปกรณ์ที่เป็นตัวแทนของ sndio
อุปกรณ์อินพุตและมักจะตั้งค่าเป็น /dev/audio0.

ตัวอย่างเช่น คว้าจาก /dev/audio0 การใช้ ffmpeg ใช้คำสั่ง:

ffmpeg -f sndio -i /dev/audio0 /tmp/oss.wav

Options

อัตราการสุ่มตัวอย่าง
ตั้งค่าอัตราการสุ่มตัวอย่างเป็น Hz ค่าเริ่มต้นคือ 48000

ช่อง
กำหนดจำนวนช่อง ค่าเริ่มต้นคือ 2

วิดีโอ4ลินุกซ์2, v4l2
อุปกรณ์วิดีโออินพุต Video4Linux2

"v4l2" สามารถใช้เป็นนามแฝงสำหรับ "video4linux2"

หาก FFmpeg ถูกสร้างขึ้นด้วยการสนับสนุน v4l-utils (โดยใช้การกำหนดค่า "--enable-libv4l2"
ตัวเลือก) สามารถใช้กับตัวเลือกอุปกรณ์อินพุต "-use_libv4l2"

ชื่ออุปกรณ์ที่จะคว้าคือไฟล์โหนดอุปกรณ์ซึ่งโดยปกติระบบ Linux มักจะ
สร้างโหนดดังกล่าวโดยอัตโนมัติเมื่ออุปกรณ์ (เช่นเว็บแคม USB) เสียบเข้ากับ
ระบบและมีชื่อแบบ /dev/videoNที่นี่มี N เป็นตัวเลขที่เกี่ยวข้องกับ
เครื่อง

อุปกรณ์ Video4Linux2 มักจะรองรับชุดของ ความกว้างxความสูง ขนาดและอัตราเฟรม
คุณสามารถตรวจสอบที่รองรับได้โดยใช้ -list_formats ทั้งหมด สำหรับอุปกรณ์ Video4Linux2 บาง
อุปกรณ์ เช่น การ์ดทีวี รองรับมาตรฐานตั้งแต่หนึ่งรายการขึ้นไป เป็นไปได้ที่จะแสดงรายการ .ทั้งหมด
รองรับมาตรฐานโดยใช้ -list_standards ทั้งหมด.

ฐานเวลาสำหรับการประทับเวลาคือ 1 ไมโครวินาที ขึ้นอยู่กับรุ่นเคอร์เนลและ
การกำหนดค่าการประทับเวลาอาจมาจากนาฬิกาตามเวลาจริง (ต้นกำเนิดที่ Unix
ยุค) หรือนาฬิกาแบบโมโนโทนิก (โดยปกติต้นกำเนิดอยู่ที่เวลาบูต ไม่ได้รับผลกระทบจาก NTP หรือ manual
เปลี่ยนนาฬิกา) NS -ประทับเวลา เอบีเอส or -ts เอบีเอส ออปชั่นใช้บังคับได้
แปลงเป็นนาฬิกาเรียลไทม์

ตัวอย่างการใช้งานอุปกรณ์ video4linux2 ด้วย ffmpeg และ ffplay:

· แสดงรายการรูปแบบที่รองรับสำหรับอุปกรณ์ video4linux2:

ffplay -f video4linux2 -list_formats ทั้งหมด /dev/video0

· หยิบและแสดงอินพุตของอุปกรณ์ video4linux2:

ffplay -f video4linux2 - อัตราเฟรม 30 -video_size hd720 /dev/video0

· หยิบและบันทึกอินพุตของอุปกรณ์ video4linux2 ปล่อยให้อัตราเฟรมและขนาดเป็น
ตั้งไว้ก่อนหน้านี้:

ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Video4Linux ตรวจสอบhttp://linuxtv.org/>.

Options

มาตรฐาน
กำหนดมาตรฐาน ต้องเป็นชื่อของมาตรฐานที่รองรับ เพื่อรับรายการของ
มาตรฐานที่รองรับให้ใช้ รายการ_มาตรฐาน ตัวเลือก

ช่อง
ตั้งค่าหมายเลขช่องสัญญาณเข้า ค่าเริ่มต้นเป็น -1 ซึ่งหมายถึงการใช้ตัวเลือกที่เลือกไว้ก่อนหน้านี้
ช่อง

วิดีโอ_ขนาด
กำหนดขนาดเฟรมวิดีโอ อาร์กิวเมนต์ต้องเป็นสตริงในรูปแบบ ความกว้างxความสูง หรือ
ตัวย่อขนาดที่ถูกต้อง

pixel_format
เลือกรูปแบบพิกเซล (ใช้ได้กับอินพุตวิดีโอดิบเท่านั้น)

input_format
ตั้งค่ารูปแบบพิกเซลที่ต้องการ (สำหรับวิดีโอดิบ) หรือชื่อตัวแปลงสัญญาณ ตัวเลือกนี้ช่วยให้
หนึ่งเพื่อเลือกรูปแบบการป้อนข้อมูลเมื่อมีหลายรูปแบบ

เฟรม
ตั้งค่าอัตราเฟรมวิดีโอที่ต้องการ

รายการ_รูปแบบ
แสดงรายการรูปแบบที่มี (รูปแบบพิกเซลที่รองรับ ตัวแปลงสัญญาณ และขนาดเฟรม) และออก

ค่าที่ใช้ได้คือ:

ทั้งหมด แสดงรูปแบบที่มีอยู่ทั้งหมด (บีบอัดและไม่บีบอัด)

ดิบ แสดงเฉพาะรูปแบบวิดีโอดิบ (ไม่บีบอัด)

ถูกอัด
แสดงเฉพาะรูปแบบที่บีบอัด

รายการ_มาตรฐาน
แสดงรายการมาตรฐานที่รองรับและทางออก

ค่าที่ใช้ได้คือ:

ทั้งหมด แสดงมาตรฐานที่รองรับทั้งหมด

การประทับเวลา, ts
ตั้งค่าประเภทการประทับเวลาสำหรับเฟรมที่คว้าไว้

ค่าที่ใช้ได้คือ:

ผิดนัด
ใช้การประทับเวลาจากเคอร์เนล

เอบีเอส ใช้การประทับเวลาแบบสัมบูรณ์ (นาฬิกาแขวน)

โมโนทูเอบีเอส
บังคับให้แปลงจากการประทับเวลาแบบโมโนโทนิกเป็นการประทับเวลาแบบสัมบูรณ์

ค่าเริ่มต้นคือ "ค่าเริ่มต้น"

use_libv4l2
ใช้ฟังก์ชันการแปลง libv4l2 (v4l-utils) ค่าเริ่มต้นคือ 0

vfwcap
VfW (วิดีโอสำหรับ Windows) จับภาพอุปกรณ์อินพุต

ชื่อไฟล์ที่ส่งเป็นอินพุตคือหมายเลขไดรเวอร์การจับภาพตั้งแต่ 0 ถึง 9 คุณอาจ
ใช้ "list" เป็นชื่อไฟล์เพื่อพิมพ์รายการไดรเวอร์ ชื่อไฟล์อื่น ๆ จะถูกตีความ
เป็นอุปกรณ์หมายเลข 0

Options

วิดีโอ_ขนาด
กำหนดขนาดเฟรมวิดีโอ

เฟรม
กำหนดอัตราเฟรมโลภ ค่าเริ่มต้นคือ "ntsc" ซึ่งสอดคล้องกับอัตราเฟรมของ
"30000/1001"

x11คว้า
อุปกรณ์อินพุตวิดีโอ X11

ในการเปิดใช้งานอุปกรณ์อินพุตนี้ระหว่างการกำหนดค่า คุณต้องติดตั้ง libxcb บนระบบของคุณ
จะถูกตรวจพบโดยอัตโนมัติระหว่างการกำหนดค่า

อีกทางหนึ่ง กำหนดค่าตัวเลือก --เปิดใช้งาน-x11grab มีอยู่สำหรับผู้ใช้ Xlib รุ่นเก่า

อุปกรณ์นี้ช่วยให้สามารถจับภาพพื้นที่ของจอแสดงผล X11

ชื่อไฟล์ที่ส่งเป็นอินพุตมีรูปแบบดังนี้

[ ]: . [+ , ]

ชื่อโฮสต์:display_number.screen_number ระบุชื่อที่แสดง X11 ของหน้าจอที่จะคว้า
จาก ชื่อโฮสต์ สามารถละเว้นและค่าเริ่มต้นเป็น "localhost" ตัวแปรสภาพแวดล้อม
การแสดงผล มีชื่อที่แสดงเริ่มต้น

x_offset และ y_offset ระบุออฟเซ็ตของพื้นที่ที่จับโดยสัมพันธ์กับมุมบนซ้าย
ขอบของหน้าจอ X11 มีค่าเริ่มต้นเป็น 0

ตรวจสอบเอกสาร X11 (เช่น มนุษย์ X) เพื่อดูรายละเอียดเพิ่มเติม

ใช้ xdpyinfo โปรแกรมรับข้อมูลพื้นฐานเกี่ยวกับคุณสมบัติของ X11 . ของคุณ
แสดง (เช่น grep สำหรับ "ชื่อ" หรือ "มิติ")

ตัวอย่างเช่น คว้าจาก : 0.0 การใช้ ffmpeg:

ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg

คว้าตำแหน่ง "10,20":

ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg

Options

Draw_mouse
ระบุว่าจะวาดตัวชี้เมาส์หรือไม่ ค่า 0 ระบุว่าไม่วาด
ตัวชี้ ค่าเริ่มต้นคือ 1

follow_mouse
ทำให้พื้นที่จับตามเมาส์ อาร์กิวเมนต์สามารถ "อยู่ตรงกลาง" หรือจำนวน
พิกเซล PIXELS.

เมื่อระบุด้วย "กึ่งกลาง" พื้นที่การจับจะเป็นไปตามตัวชี้เมาส์
และคงตัวชี้ไว้ที่ศูนย์กลางของภูมิภาค มิฉะนั้นภูมิภาคจะตามมาก็ต่อเมื่อ
ตัวชี้เมาส์ไปถึงภายใน PIXELS (มากกว่าศูนย์) ถึงขอบเขต

ตัวอย่างเช่น:

ffmpeg -f x11grab -follow_mouse กึ่งกลาง -framerate 25 -video_size cif -i :0.0 out.mpg

ในการปฏิบัติตามเฉพาะเมื่อตัวชี้เมาส์ถึงขอบภายใน 100 พิกเซล:

ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg

เฟรม
กำหนดอัตราเฟรมโลภ ค่าเริ่มต้นคือ "ntsc" ซึ่งสอดคล้องกับอัตราเฟรมของ
"30000/1001"

show_ภูมิภาค
แสดงภูมิภาคที่คว้าบนหน้าจอ

If show_ภูมิภาค ระบุด้วย 1 จากนั้นบริเวณที่จับจะถูกระบุบน
หน้าจอ. ด้วยตัวเลือกนี้ มันง่ายที่จะรู้ว่าสิ่งที่ถูกคว้าไปถ้าเพียงบางส่วนเท่านั้น
ของหน้าจอถูกจับ

ภูมิภาค_border
ตั้งค่าความหนาของเส้นขอบของภูมิภาค if -show_ภูมิภาค 1 ถูกนำมาใช้. ช่วงคือ 1 ถึง 128 และ
ค่าเริ่มต้นคือ 3 (x11grab ที่ใช้ XCB เท่านั้น)

ตัวอย่างเช่น:

ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg

กับ follow_mouse:

ffmpeg -f x11grab -follow_mouse กึ่งกลาง -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg

วิดีโอ_ขนาด
กำหนดขนาดเฟรมวิดีโอ ค่าเริ่มต้นคือ "vga"

use_shm
ใช้ส่วนขยาย MIT-SHM สำหรับหน่วยความจำที่ใช้ร่วมกัน ค่าเริ่มต้นคือ 1 อาจจำเป็น
เพื่อปิดการใช้งานสำหรับการแสดงผลระยะไกล (เฉพาะ x11grab เดิมเท่านั้น)

คว้า_x Grab_y AVOตัวเลือก

ไวยากรณ์คือ:

-grab_x -grab_y

ตั้งค่าพิกัดพื้นที่โลภ พวกมันจะแสดงเป็นออฟเซ็ตจากมุมบนซ้าย
ของหน้าต่าง X11 ค่าเริ่มต้นคือ 0

รีแซมเพลอร์ OPTIONS


ตัวจำลองเสียงสนับสนุนตัวเลือกที่มีชื่อต่อไปนี้

สามารถกำหนดตัวเลือกได้โดยระบุ -ตัวเลือก ความคุ้มค่า ในเครื่องมือ FFmpeg ตัวเลือก=ความคุ้มค่า สำหรับ
aresample filter โดยตั้งค่าให้ชัดเจนในตัวเลือก "SwrContext" หรือใช้
libavutil/opt.h API สำหรับการใช้งานแบบเป็นโปรแกรม

ไอ่, in_channel_count
กำหนดจำนวนช่องสัญญาณเข้า ค่าเริ่มต้นคือ 0 การตั้งค่านี้ไม่ใช่
บังคับถ้าเค้าโครงช่องที่สอดคล้องกัน in_channel_layout ถูกตั้งค่า

อ้อ out_channel_count
กำหนดจำนวนช่องสัญญาณออก ค่าเริ่มต้นคือ 0 การตั้งค่านี้ไม่ใช่
บังคับถ้าเค้าโครงช่องที่สอดคล้องกัน out_channel_layout ถูกตั้งค่า

เอ่อ used_channel_count
กำหนดจำนวนช่องสัญญาณเข้าที่ใช้ ค่าเริ่มต้นคือ 0 ใช้ตัวเลือกนี้เท่านั้น
สำหรับการรีแมปแบบพิเศษ

ไอเอสอาร์, ใน_ตัวอย่าง_อัตรา
ตั้งค่าอัตราการสุ่มตัวอย่างอินพุต ค่าเริ่มต้นคือ 0

ออสร out_sample_rate
ตั้งค่าอัตราการสุ่มตัวอย่างเอาต์พุต ค่าเริ่มต้นคือ 0

ไอเอสเอฟ, ใน_sample_fmt
ระบุรูปแบบตัวอย่างอินพุต มันถูกตั้งค่าโดยค่าเริ่มต้นเป็น "ไม่มี"

ออสเอฟ, out_sample_fmt
ระบุรูปแบบตัวอย่างผลลัพธ์ มันถูกตั้งค่าโดยค่าเริ่มต้นเป็น "ไม่มี"

ทีเอสเอฟ, Internal_sample_fmt
ตั้งค่ารูปแบบตัวอย่างภายใน ค่าเริ่มต้นคือ "ไม่มี" นี่จะเป็น .โดยอัตโนมัติ
เลือกเมื่อไม่ได้ตั้งค่าไว้อย่างชัดเจน

ไอซีแอล, in_channel_layout
โอซีแอล, out_channel_layout
ตั้งค่าเค้าโครงช่องสัญญาณเข้า/ออก

ดู ช่อง แบบ ส่วน in ffmpeg-ยูทิลิตี้(1) คู่มือ สำหรับไวยากรณ์ที่จำเป็น

เคลฟ, center_mix_level
ตั้งระดับส่วนผสมตรงกลาง เป็นค่าที่แสดงเป็นเดซิเบล และต้องอยู่ใน
ช่วง [-32,32].

สเลฟ, เซอร์ราวด์_มิกซ์_ระดับ
ตั้งค่าระดับมิกซ์เซอร์ราวด์ เป็นค่าที่แสดงเป็นเดซิเบล และต้องอยู่ใน
ช่วง [-32,32].

lfe_mix_level
ตั้งค่ามิกซ์ LFE เป็นระดับที่ไม่ใช่ LFE ใช้เมื่อมีอินพุต LFE แต่ไม่มี LFE
เอาท์พุท เป็นค่าที่แสดงเป็นเดซิเบล และต้องอยู่ในช่วง [-32,32]

รอมวอล, rematrix_volume
ตั้งค่าระดับเสียงรีเมทริกซ์ ค่าเริ่มต้นคือ 1.0

rematrix_maxval
ตั้งค่าเอาต์พุตสูงสุดสำหรับการรีเมทริกซ์ สามารถใช้เพื่อป้องกันการตัด
ป้องกันการลดปริมาตร A ค่า 1.0 ป้องกันการหนีบ

ธง swr_flags
ตั้งค่าสถานะที่ใช้โดยตัวแปลง ค่าเริ่มต้นคือ 0

รองรับแฟล็กแต่ละแฟล็กต่อไปนี้:

Res บังคับให้สุ่มตัวอย่าง ธงนี้บังคับให้ใช้การสุ่มตัวอย่างซ้ำแม้ในขณะที่อินพุตและ
อัตราตัวอย่างที่ส่งออกตรงกัน

dither_scale
ตั้งค่าสเกลไดเทอร์ ค่าเริ่มต้นคือ 1

dither_method
ตั้งค่าวิธี dither ค่าเริ่มต้นคือ 0

ค่าที่รองรับ:

เป็นมุมฉาก
เลือกไดเทอร์สี่เหลี่ยม

เป็นรูปสามเหลี่ยม
เลือก dither สามเหลี่ยม

สามเหลี่ยม_hp
เลือก dither สามเหลี่ยมที่มี pass สูง

ลิปซิตซ์
เลือก liphitz noise shaping dither

ชิบาตะ
เลือก shibata noise shaping dither

low_shibata
เลือกไดเธอร์สร้างเสียงชิบาตะต่ำ

สูง_shibata
เลือกตัวสร้างเสียงชิบาตะสูง

f_weighted
เลือกไดเธอร์สร้างเสียงรบกวนแบบถ่วงน้ำหนัก f

แก้ไขแล้ว_e_weighted
เลือกตัวสร้างเสียงรบกวนที่แก้ไขแล้ว e-weighted

ปรับปรุง_e_weighted
เลือกตัวสร้างเสียงรบกวนที่ปรับปรุงแล้ว e-weighted

เครื่องสุ่มตัวอย่าง
ตั้งค่าการสุ่มตัวอย่างเครื่องยนต์ ค่าเริ่มต้นคือ swr

ค่าที่รองรับ:

สว เลือก SW Resampler ดั้งเดิม; ตัวเลือกตัวกรองความแม่นยำและ cheby ไม่ใช่
ใช้บังคับได้ในกรณีนี้

ซอกเกอร์
เลือก Resampler SoX (ถ้ามี); การชดเชยและตัวเลือกตัวกรอง
filter_size, phase_shift, filter_type & kaiser_beta, ใช้ไม่ได้ในสิ่งนี้
กรณี.

filter_size
สำหรับ swr เท่านั้น ตั้งค่าขนาดตัวกรองการสุ่มตัวอย่าง ค่าเริ่มต้นคือ 32

เฟส_shift
สำหรับ swr เท่านั้น ตั้งค่าการเปลี่ยนเฟสการสุ่มตัวอย่าง ค่าเริ่มต้นคือ 10 และต้องอยู่ใน
ช่วงเวลา [0,30]

linear_interp
ใช้การประมาณค่าเชิงเส้นหากตั้งค่าเป็น 1 ค่าเริ่มต้นคือ 0

ตัด
ตั้งค่าความถี่ตัด (swr: 6dB point; soxr: 0dB point) อัตราส่วน; ต้องเป็นค่าลอยตัว
ระหว่าง 0 ถึง 1 ค่าเริ่มต้นคือ 0.97 พร้อม swr และ 0.91 พร้อม soxr (ซึ่งมี
อัตราการสุ่มตัวอย่าง 44100 รักษาย่านความถี่เสียงทั้งหมดไว้ที่ 20kHz)

ความแม่นยำ
สำหรับ soxr เท่านั้น ความแม่นยำเป็นบิตที่จะคำนวณสัญญาณที่สุ่มใหม่
ค่าเริ่มต้นคือ 20 (ซึ่งด้วยการปรับสีที่เหมาะสม จะเหมาะสมสำหรับa
ความลึกบิตปลายทางที่ 16) ให้ 'คุณภาพสูง' ของ SoX; ค่า 28 ให้ SoX's
'คุณภาพสูงมาก'

เชบี้
สำหรับ soxr เท่านั้น เลือก passband rolloff none (Chebyshev) & ความแม่นยำสูงกว่า
การประมาณอัตราส่วน 'ไม่ลงตัว' ค่าเริ่มต้นคือ 0

async
สำหรับ swr เท่านั้น การซิงค์เสียง 1 พารามิเตอร์อย่างง่ายกับการประทับเวลาโดยใช้การยืด การบีบ
เติมและตัดแต่ง การตั้งค่านี้เป็น 1 จะทำให้สามารถเติมและตัดแต่งให้ใหญ่ขึ้น
ค่าแสดงถึงปริมาณสูงสุดในตัวอย่างที่ข้อมูลอาจถูกขยายหรือ
บีบคั้นทุกวินาที ค่าเริ่มต้นคือ 0 ดังนั้นจึงไม่มีการชดเชยใด ๆ ในการทำ
ตัวอย่างตรงกับการประทับเวลาของเสียง

first_pts
สำหรับ swr เท่านั้น ถือว่า pts แรกควรเป็นค่านี้ หน่วยเวลาคือ 1 / ตัวอย่าง
ประเมินค่า. ซึ่งช่วยให้สามารถขยาย/ตัดแต่งเมื่อเริ่มสตรีมได้ โดยค่าเริ่มต้น no
มีการสันนิษฐานเกี่ยวกับ pts ที่คาดหวังของเฟรมแรก ดังนั้นจึงไม่มีช่องว่างภายในหรือตัดแต่ง
เสร็จแล้ว. ตัวอย่างเช่น สามารถตั้งค่านี้เป็น 0 เพื่อปิดจุดเริ่มต้นด้วยความเงียบหาก an
สตรีมเสียงเริ่มต้นหลังจากสตรีมวิดีโอหรือเพื่อตัดแต่งตัวอย่างด้วยคะแนนลบ
เนื่องจากตัวเข้ารหัสล่าช้า

min_comp
สำหรับ swr เท่านั้น ให้ตั้งค่าความแตกต่างขั้นต่ำระหว่างการประทับเวลาและข้อมูลเสียง (in
วินาที) เพื่อกระตุ้นการยืด/บีบ/เติมหรือตัดแต่งข้อมูลเพื่อทำ
ตรงกับการประทับเวลา ค่าเริ่มต้นคือการยืด/บีบ/เติมและตัดแต่งคือ
พิการ (min_comp = "FLT_MAX")

min_hard_comp
สำหรับ swr เท่านั้น ให้ตั้งค่าความแตกต่างขั้นต่ำระหว่างการประทับเวลาและข้อมูลเสียง (in
วินาที) เพื่อทริกเกอร์การเพิ่ม/ลดตัวอย่างเพื่อให้ตรงกับการประทับเวลา นี้
ตัวเลือกอย่างมีประสิทธิภาพคือเกณฑ์ในการเลือกระหว่างฮาร์ด (ตัดแต่ง/เติม) และ soft
(บีบ/ยืด) การชดเชย โปรดทราบว่าการชดเชยทั้งหมดถูกปิดใช้งานโดยค่าเริ่มต้น
ตลอด min_comp. ค่าเริ่มต้นคือ 0.1

comp_duration
สำหรับ swr เท่านั้น กำหนดระยะเวลา (เป็นวินาที) ที่ข้อมูลจะถูกขยาย/บีบอัดเพื่อสร้าง
มันตรงกับการประทับเวลา ต้องเป็นค่าทศนิยมคู่ที่ไม่เป็นลบ ค่าเริ่มต้นคือ
1.0.

max_soft_comp
สำหรับ swr เท่านั้น ให้ตั้งค่าปัจจัยสูงสุดที่ข้อมูลจะถูกขยาย/บีบอัดเพื่อให้ตรงกัน
การประทับเวลา ต้องเป็นค่า double float ที่ไม่เป็นลบ ค่าเริ่มต้นคือ 0

matrix_encoding
เลือกการเข้ารหัสสเตอริโอแบบเมทริกซ์

ยอมรับค่าต่อไปนี้:

ไม่มี
เลือกไม่มี

Dolby
เลือกDolby

dplii
เลือก Dolby Pro Logic II

ค่าเริ่มต้นคือ "ไม่มี"

filter_type
สำหรับ swr เท่านั้น เลือกประเภทตัวกรองการสุ่มตัวอย่าง สิ่งนี้มีผลกับการดำเนินการสุ่มตัวอย่างเท่านั้น

ยอมรับค่าต่อไปนี้:

เป็นลูกบาศก์
เลือกลูกบาศก์

blackman_nuttall
เลือก Blackman Nuttall Windowed Sinc

ไกเซอร์
เลือก Kaiser Windowed Sinc

ไคเซอร์_เบต้า
สำหรับ swr เท่านั้น ให้ตั้งค่า Kaiser Window Beta ต้องเป็นจำนวนเต็มในช่วง [2,16]
ค่าเริ่มต้นคือ 9

output_sample_bits
สำหรับ swr เท่านั้น ให้กำหนดจำนวนบิตตัวอย่างเอาต์พุตที่ใช้สำหรับการทำ dithering ต้องเป็นจำนวนเต็ม
ในช่วง [0,64] ค่าเริ่มต้นคือ 0 ซึ่งหมายความว่าไม่ได้ใช้งาน

เครื่องขูด OPTIONS


ตัวปรับขนาดวิดีโอรองรับตัวเลือกที่มีชื่อต่อไปนี้

สามารถกำหนดตัวเลือกได้โดยระบุ -ตัวเลือก ความคุ้มค่า ในเครื่องมือ FFmpeg สำหรับการใช้งานแบบเป็นโปรแกรม
สามารถตั้งค่าได้อย่างชัดเจนในตัวเลือก "SwsContext" หรือผ่านทาง libavutil/opt.h API

sws_flags
ตั้งค่าแฟล็ก scaler นอกจากนี้ยังใช้เพื่อตั้งค่าอัลกอริธึมการปรับขนาด ตัวเดียวเท่านั้น
ควรเลือกอัลกอริธึม

ยอมรับค่าต่อไปนี้:

fast_bilinear
เลือกอัลกอริธึมการปรับขนาดแบบไบลิเนียร์ที่รวดเร็ว

ทวิ
เลือกอัลกอริธึมการปรับขนาดแบบ bilinear

บิคิวบิก
เลือกอัลกอริธึมการปรับขนาด bicubic

การทดลอง
เลือกอัลกอริธึมการปรับขนาดทดลอง

เพื่อนบ้าน
เลือกอัลกอริทึมการปรับขนาดเพื่อนบ้านที่ใกล้ที่สุด

พื้นที่
เลือกอัลกอริทึมการปรับขนาดพื้นที่โดยเฉลี่ย

ไบคิวบลิน
เลือกอัลกอริธึมการปรับขนาดแบบ bicubic สำหรับส่วนประกอบ luma, bilinear สำหรับ chroma
ส่วนประกอบ

เกาส์
เลือกอัลกอริธึมการปรับขนาดแบบเกาส์เซียน

บาป
เลือกอัลกอริธึมการปรับขนาดซิงก์

แลนซอส
เลือกอัลกอริธึมการปรับขนาด lanczos

เส้นโค้ง
เลือกอัลกอริธึมการปรับขนาด spline bicubic ธรรมชาติ

print_info
เปิดใช้งานการพิมพ์/การบันทึกการแก้ไขจุดบกพร่อง

ถูกต้อง_rnd
เปิดใช้งานการปัดเศษที่แม่นยำ

full_chroma_int
เปิดใช้งานการแก้ไขโครมาเต็มรูปแบบ

full_chroma_inp
เลือกอินพุตโครมาแบบเต็ม

ไบเทค
เปิดใช้งานเอาต์พุต bitexact

srcw
กำหนดความกว้างของแหล่งที่มา

สช
ตั้งค่าความสูงของต้นทาง

วัน
กำหนดความกว้างปลายทาง

วันที่
กำหนดความสูงของปลายทาง

src_format
ตั้งค่ารูปแบบพิกเซลต้นทาง (ต้องแสดงเป็นจำนวนเต็ม)

dst_format
กำหนดรูปแบบพิกเซลปลายทาง (ต้องแสดงเป็นจำนวนเต็ม)

src_range
เลือกช่วงแหล่งที่มา

dst_range
เลือกช่วงปลายทาง

พารามิเตอร์ 0 พารา 1
ตั้งค่าพารามิเตอร์อัลกอริทึมการปรับขนาด ค่าที่ระบุเป็นค่าเฉพาะของการปรับขนาดบางส่วน
อัลกอริธึมและถูกละเลยโดยผู้อื่น ค่าที่ระบุเป็นเลขทศนิยม
ค่า

sws_dether
ตั้งค่าอัลกอริธึมการฟอกสี ยอมรับค่าใดค่าหนึ่งต่อไปนี้ ค่าเริ่มต้นคือ
รถยนต์.

รถยนต์
ตัวเลือกอัตโนมัติ

ไม่มี
ไม่บิดเบี้ยว

ไบเออร์
ไบเออร์ dither

ed ข้อผิดพลาดการแพร่กระจาย dither

a_dither
dither เลขคณิตโดยใช้การบวก

x_dither
dither เลขคณิตโดยใช้ xor (รูปแบบที่สุ่มมากขึ้น / ชัดเจนน้อยกว่าที่
a_dither)

ตัวอักษร
ตั้งค่าการผสมอัลฟาเพื่อใช้เมื่ออินพุตมีอัลฟา แต่เอาต์พุตไม่มี
ค่าเริ่มต้นคือ ไม่มี.

ชุดยูนิฟอร์ม_สี
เกลี่ยลงบนสีพื้นหลังที่สม่ำเสมอ

กระดานหมากรุก
ผสมผสานเข้ากับกระดานหมากรุก

ไม่มี
ไม่มีการผสม

การกรอง บทนำ


การกรองใน FFmpeg เปิดใช้งานผ่านไลบรารี libavfilter

ใน libavfilter ตัวกรองสามารถมีได้หลายอินพุตและหลายเอาต์พุต เพื่อแสดงให้เห็นถึง
สิ่งต่าง ๆ ที่เป็นไปได้ เราพิจารณาตัวกรองต่อไปนี้

[หลัก]
อินพุต -> แยก ---------------------> โอเวอร์เลย์ -> เอาต์พุต
- -
|[tmp] [พลิก]|
+ -----> ครอบตัด --> vflip --------+

กราฟตัวกรองนี้แยกสตรีมอินพุตออกเป็นสองสตรีม จากนั้นส่งหนึ่งสตรีมผ่าน
ตัวกรองการครอบตัดและตัวกรอง vflip ก่อนที่จะรวมกลับกับสตรีมอื่นโดย
ซ้อนทับไว้ด้านบน คุณสามารถใช้คำสั่งต่อไปนี้เพื่อทำสิ่งนี้:

ffmpeg -i INPUT -vf "split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] โอเวอร์เลย์=0:H/2" OUTPUT

ผลลัพธ์จะเป็นครึ่งบนของวิดีโอสะท้อนไปยังครึ่งล่างของ
วิดีโอเอาต์พุต

ตัวกรองในสายโซ่เชิงเส้นเดียวกันคั่นด้วยเครื่องหมายจุลภาค และสายโซ่เชิงเส้นที่แตกต่างกันของ
ตัวกรองคั่นด้วยเครื่องหมายอัฒภาค ในตัวอย่างของเรา ครอบตัด,vflip อยู่ในห่วงโซ่เชิงเส้นเดียว
แยก และ วางซ้อน แยกกันอยู่ในอีก จุดที่โซ่เชิงเส้นเชื่อมต่อคือ
ติดป้ายชื่อในวงเล็บเหลี่ยม ในตัวอย่าง ตัวกรองแยกสร้าง
สองเอาต์พุตที่เกี่ยวข้องกับฉลาก [หลัก] และ [ทีเอ็มพี].

สตรีมที่ส่งไปยังเอาต์พุตที่สองของ แยก, มีข้อความว่า [ทีเอ็มพี], ถูกประมวลผลผ่าน
พืชผล ฟิลเตอร์ ซึ่งจะครอบตัดครึ่งล่างของวิดีโอออก แล้วจึงตัดในแนวตั้ง
พลิก NS วางซ้อน ตัวกรองรับอินพุตเอาต์พุตที่ไม่เปลี่ยนแปลงครั้งแรกของตัวกรองแยก
(ซึ่งมีข้อความว่า [หลัก]) และซ้อนทับบนครึ่งล่างของเอาต์พุตที่สร้างโดย
ครอบตัด,vflip กรองโซ่

ตัวกรองบางตัวใช้รายการพารามิเตอร์ที่ป้อนเข้ามา: ระบุหลังจากชื่อตัวกรอง
และเครื่องหมายเท่ากับ และคั่นด้วยเครื่องหมายทวิภาค

มีสิ่งที่เรียกว่า แหล่ง ฟิลเตอร์ ที่ไม่มีอินพุตเสียง/วิดีโอ และ จม
ฟิลเตอร์ ที่จะไม่มีเอาต์พุตเสียง/วิดีโอ

กราฟ


พื้นที่ กราฟ2จุด โปรแกรมที่รวมอยู่ในFFmpeg เครื่องมือ ไดเร็กทอรีสามารถใช้เพื่อแยกวิเคราะห์ a
คำอธิบาย filtergraph และแสดงข้อความที่เกี่ยวข้องใน dot
ภาษา.

เรียกใช้คำสั่ง:

กราฟ 2 จุด -h

เพื่อดูวิธีการใช้ กราฟ2จุด.

จากนั้นคุณสามารถส่งคำอธิบายจุดไปที่ จุด โปรแกรม (จากชุด graphviz ของ
โปรแกรม) และรับการแสดงกราฟิกของ filtergraph

ตัวอย่างเช่น ลำดับของคำสั่ง:

เสียงก้อง | \
tools/graph2dot -o graph.tmp && \
dot -Tpng graph.tmp -o graph.png && \
แสดงกราฟ.png

สามารถใช้เพื่อสร้างและแสดงภาพที่แสดงถึงกราฟที่อธิบายโดย
GRAPH_DESCRIPTION สตริง โปรดทราบว่าสตริงนี้ต้องเป็นกราฟที่สมบูรณ์ในตัวเอง
ด้วยอินพุตและเอาต์พุตที่กำหนดไว้อย่างชัดเจน ตัวอย่างเช่น หากบรรทัดคำสั่งของคุณคือ
แบบฟอร์ม:

ffmpeg -i infile -vf สเกล = 640:360 outfile

ธุรกิจ GRAPH_DESCRIPTION สตริงจะต้องอยู่ในรูปแบบ:

nullsrc, scale=640:360, nullsink

คุณอาจต้องตั้งค่า nullsrc พารามิเตอร์และเพิ่ม a รูป กรองเพื่อ
จำลองไฟล์อินพุตเฉพาะ

ตัวกรอง DESCRIPTION


กราฟตัวกรองคือกราฟกำกับของตัวกรองที่เชื่อมต่อ ประกอบด้วยวัฏจักร และนั่น
สามารถเชื่อมโยงได้หลายลิงก์ระหว่างตัวกรองคู่หนึ่ง แต่ละลิงค์จะมีแผ่นอินพุตอยู่ด้านเดียว
เชื่อมต่อกับตัวกรองหนึ่งตัวที่ใช้อินพุตและอีกแผ่นเอาต์พุตหนึ่งตัว
ด้านที่เชื่อมต่อกับตัวกรองเดียวที่รับเอาต์พุต

ตัวกรองแต่ละตัวในกราฟตัวกรองเป็นตัวอย่างของคลาสตัวกรองที่ลงทะเบียนใน
แอปพลิเคชั่นซึ่งกำหนดคุณสมบัติและจำนวนแผ่นอินพุตและเอาต์พุตของ
กรอง.

ตัวกรองที่ไม่มีแพดอินพุตเรียกว่า "ต้นทาง" และตัวกรองที่ไม่มีแพดเอาต์พุตคือ
เรียกว่า "อ่าง"

กราฟตัวกรอง วากยสัมพันธ์
กราฟกรองมีการแสดงข้อความซึ่งได้รับการยอมรับโดย -กรอง/-vf/-อัฟ และ
-filter_complex ตัวเลือกใน ffmpeg และ -vf/-อัฟ in ffplayและโดย
ฟังก์ชัน "avfilter_graph_parse_ptr()" ที่กำหนดไว้ใน libavfilter/avfilter.h.

filterchain ประกอบด้วยลำดับของตัวกรองที่เชื่อมต่อ แต่ละตัวเชื่อมต่อกับ
ก่อนหน้านี้ในลำดับ filterchain แสดงโดยรายการ ","-separated
คำอธิบายตัวกรอง

filtergraph ประกอบด้วยลำดับของ filterchains ลำดับของ filterchains คือ
แสดงโดยรายการ ";" - แยกคำอธิบาย filterchain

ตัวกรองแสดงด้วยสตริงของแบบฟอร์ม:
[ใน_link_1-ใน_link_N]ตัวกรอง_ชื่อ=ข้อโต้แย้ง[out_link_1-out_link_M]

ตัวกรอง_ชื่อ เป็นชื่อของคลาสตัวกรองซึ่งตัวกรองที่อธิบายคืออินสแตนซ์
ของและต้องเป็นชื่อของคลาสตัวกรองใดคลาสหนึ่งที่ลงทะเบียนในโปรแกรม NS
ชื่อของคลาสตัวกรองอาจตามด้วยสตริง "=ข้อโต้แย้ง".

ข้อโต้แย้ง เป็นสตริงที่มีพารามิเตอร์ที่ใช้ในการเริ่มต้นตัวกรอง
ตัวอย่าง. อาจมีหนึ่งในสองรูปแบบ:

· A ':'-แยกรายการของ คีย์=ค่า คู่

· A ':'-แยกรายการของ ความคุ้มค่า. ในกรณีนี้ คีย์จะถือว่าเป็นตัวเลือก
ชื่อตามลำดับการประกาศ เช่น ตัวกรอง "จาง" ประกาศสามตัวเลือกใน
คำสั่งนี้ -- ชนิด, start_frame และ nb_frames. จากนั้นรายการพารามิเตอร์ ใน:0:30 วิธี
ว่าค่า in ถูกกำหนดให้กับตัวเลือก ชนิด, 0 ไปยัง start_frame และ 30 ไปยัง
nb_frames.

· A ':' - รายการแบบผสมโดยตรงที่คั่นด้วย ':' ความคุ้มค่า และยาว คีย์=ค่า คู่ โดยตรง ความคุ้มค่า
ต้องมาก่อน คีย์=ค่า คู่และปฏิบัติตามคำสั่งข้อจำกัดเดียวกันของ
จุดก่อนหน้า ต่อไปนี้ คีย์=ค่า สามารถตั้งค่าคู่ในลำดับที่ต้องการได้

หากค่าตัวเลือกนั้นเป็นรายการของรายการ (เช่น ตัวกรอง "รูปแบบ" จะใช้รายการของ
รูปแบบพิกเซล) รายการในรายการมักจะคั่นด้วย |.

รายการอาร์กิวเมนต์สามารถอ้างอิงได้โดยใช้อักขระ ' เป็นเครื่องหมายเริ่มต้นและสิ้นสุดและ
บทบาท \ สำหรับการหลบหนีของตัวละครในข้อความที่ยกมา; มิฉะนั้นการโต้แย้ง
สตริงจะถือว่าสิ้นสุดเมื่อมีอักขระพิเศษตัวถัดไป (เป็นของ set
-) ถูกพบ

ชื่อและอาร์กิวเมนต์ของตัวกรองอยู่ข้างหน้าและตามด้วยรายการ
ป้ายลิงค์. ป้ายชื่อลิงก์อนุญาตให้ตั้งชื่อลิงก์และเชื่อมโยงกับผลลัพธ์ของตัวกรอง
หรือแผ่นอินพุต ป้ายก่อนหน้า ใน_link_1 ... ใน_link_Nเกี่ยวข้องกับตัวกรอง
ใส่แผ่นป้ายต่อไปนี้ out_link_1 ... out_link_Mเกี่ยวข้องกับผลลัพธ์
แผ่นรอง

เมื่อพบป้ายกำกับลิงก์สองป้ายที่มีชื่อเหมือนกันในกราฟตัวกรอง ลิงก์ระหว่าง
มีการสร้างแผ่นอินพุตและเอาต์พุตที่สอดคล้องกัน

หากแผงเอาต์พุตไม่ได้ติดป้ายกำกับ ระบบจะลิงก์ตามค่าเริ่มต้นกับอินพุตที่ไม่มีป้ายกำกับรายการแรก
แผ่นกรองถัดไปใน filterchain ตัวอย่างเช่นใน filterchain

nullsrc, แยก[L1], [L2]โอเวอร์เลย์, nullsink

อินสแตนซ์ตัวกรองแยกมีแผ่นเอาต์พุตสองแผ่น และอินสแตนซ์ตัวกรองซ้อนทับสองอินพุต
แผ่น แผ่นส่งออกแผ่นแรกของการแยกจะมีป้ายกำกับว่า "L1" แผ่นป้อนข้อมูลแผ่นแรกของการซ้อนทับคือ
ที่มีป้ายกำกับว่า "L2" และแผ่นเอาต์พุตที่สองของการแยกนั้นเชื่อมโยงกับแผ่นอินพุตที่สองของ
โอเวอร์เลย์ ซึ่งทั้งสองไม่มีป้ายกำกับ

ในคำอธิบายตัวกรอง หากไม่ได้ระบุป้ายกำกับอินพุตของตัวกรองแรก "ใน" คือ
สันนิษฐาน; หากไม่ได้ระบุเอาต์พุตเลเบลของตัวกรองสุดท้าย ระบบจะถือว่า "ออก"

ใน filterchain ที่สมบูรณ์ แผ่นกรองอินพุตและเอาต์พุตทั้งหมดที่ไม่มีป้ายกำกับจะต้องเป็น
เชื่อมต่อ กราฟตัวกรองจะถือว่าใช้ได้หากแผ่นกรองอินพุตและเอาต์พุตทั้งหมดของ
ห่วงโซ่กรองทั้งหมดเชื่อมต่อกัน

Libavfilter จะแทรกโดยอัตโนมัติ ขนาด ตัวกรองที่ต้องการการแปลงรูปแบบ
เป็นไปได้ที่จะระบุแฟล็ก swscale สำหรับ scalers ที่แทรกโดยอัตโนมัติเหล่านั้นโดย
นำหน้า "sws_flags=ธง;" ไปที่คำอธิบายตัวกรอง

นี่คือคำอธิบาย BNF ของไวยากรณ์ตัวกรองกราฟ:

::= ลำดับของตัวอักษรและตัวเลขและ '_'
::= "[" "]"
::= [ ]
::= ลำดับของตัวอักษร (อาจยกมา)
::= [ ] ["=" ] [ ]
::= [, ]
::= [sws_flags= ;] [; ]

หมายเหตุ / รายละเอียดเพิ่มเติม on ตัวกรองกราฟ การหลบหนี
องค์ประกอบคำอธิบายตัวกรองทำให้เกิดการหลบหนีหลายระดับ ดู “ใบเสนอราคา
และ หลบหนี" ส่วน in ffmpeg-ยูทิลิตี้(1) คู่มือ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ
ขั้นตอนการหลบหนีของลูกจ้าง

การหลบหนีระดับแรกมีผลต่อเนื้อหาของแต่ละค่าตัวเลือกตัวกรอง ซึ่งอาจประกอบด้วย
อักขระพิเศษ ":" ใช้เพื่อแยกค่า หรืออักขระหลีกตัวใดตัวหนึ่ง "\""

การหลบหนีระดับที่สองส่งผลต่อคำอธิบายตัวกรองทั้งหมด ซึ่งอาจประกอบด้วย
อักขระหลีก "\"" หรืออักขระพิเศษ "[],;" ใช้โดย filtergraph
ลักษณะ

สุดท้าย เมื่อคุณระบุ filtergraph บน commandline ของเชลล์ คุณต้องดำเนินการ a
การหลบหนีระดับที่สามสำหรับอักขระพิเศษของเชลล์ที่อยู่ภายในนั้น

ตัวอย่างเช่น ให้พิจารณาสตริงต่อไปนี้เพื่อฝังใน ข้อความวาด กรอง
ลักษณะ ข้อความ ราคา:

นี่คือ 'สตริง': อาจมีอักขระพิเศษตั้งแต่หนึ่งตัวขึ้นไป

สตริงนี้มีอักขระหลีกพิเศษ "'" และอักขระพิเศษ ":" ดังนั้น
จะต้องหลบหนีด้วยวิธีนี้:

text= this is a \'string\'\: อาจมีอักขระพิเศษอย่างน้อยหนึ่งตัว

จำเป็นต้องมีระดับที่สองของการหลบหนีเมื่อฝังคำอธิบายตัวกรองในa
คำอธิบาย filtergraph เพื่อหลีกเลี่ยงอักขระพิเศษ filtergraph ทั้งหมด ดังนั้น
ตัวอย่างข้างต้นจะกลายเป็น:

drawtext=text=นี่คือ \\\'string\\\'\\: อาจมีหนึ่ง\, หรือมากกว่า\, อักขระพิเศษ

(โปรดทราบว่านอกจาก "\"" ที่หนีอักขระพิเศษแล้ว "," ยังต้องเป็น
หลบหนี)

ขั้นสุดท้ายจำเป็นต้องมีระดับการหลบหนีเพิ่มเติมเมื่อเขียนคำอธิบายตัวกรอง
ในคำสั่งเชลล์ ซึ่งขึ้นอยู่กับกฎการหลบหนีของเชลล์ที่นำมาใช้ ตัวอย่างเช่น,
สมมติว่า "\" เป็นอักขระพิเศษและจำเป็นต้องหลีกด้วย "\" อื่น สตริงก่อนหน้า
ในที่สุดจะส่งผลให้:

-vf "drawtext=text=นี่คือ \\\\\\'string\\\\\\'\\\\: อาจมีหนึ่ง\\ หรือมากกว่า\\ อักขระพิเศษ"

ไทม์ไลน์ การแก้ไข


ตัวกรองบางตัวรองรับตัวกรองทั่วไป ทำให้สามารถ ตัวเลือก. สำหรับตัวกรองที่สนับสนุนการแก้ไขไทม์ไลน์
ตัวเลือกนี้สามารถตั้งค่าเป็นนิพจน์ที่ประเมินก่อนส่งเฟรมไปยัง
กรอง. หากการประเมินไม่เป็นศูนย์ ตัวกรองจะถูกเปิดใช้งาน มิฉะนั้น เฟรม
จะถูกส่งไปยังตัวกรองถัดไปในกราฟตัวกรองโดยไม่เปลี่ยนแปลง

นิพจน์ยอมรับค่าต่อไปนี้:

t การประทับเวลาแสดงเป็นวินาที NAN หากไม่ทราบการประทับเวลาอินพุต

n หมายเลขลำดับของเฟรมอินพุตเริ่มต้นจาก0

โพสต์ ตำแหน่งในไฟล์ของเฟรมอินพุต NAN ถ้าไม่ทราบ

w
h ความกว้างและความสูงของเฟรมอินพุตหากวิดีโอ

นอกจากนี้ ตัวกรองเหล่านี้ยังสนับสนุน an ทำให้สามารถ คำสั่งที่สามารถใช้กำหนด . ใหม่ได้
การแสดงออก

เช่นเดียวกับตัวเลือกการกรองอื่นๆ the ทำให้สามารถ ตัวเลือกเป็นไปตามกฎเดียวกัน

ตัวอย่างเช่น เพื่อเปิดใช้งานฟิลเตอร์เบลอ (สมาร์ทเบลอ) จาก 10 วินาที ถึง 3 นาที และ a
เส้นโค้ง ตัวกรองเริ่มต้นที่ 3 วินาที:

smartblur = enable='between(t,10,3*60)',
เส้นโค้ง = enable='gte(t,3)' : preset=cross_process

AUDIO กรอง


เมื่อคุณกำหนดค่าบิลด์ FFmpeg คุณสามารถปิดใช้งานตัวกรองที่มีอยู่โดยใช้
"--ปิดการใช้งาน-ตัวกรอง". เอาต์พุตกำหนดค่าจะแสดงตัวกรองเสียงที่รวมอยู่ใน .ของคุณ
สร้าง.

ด้านล่างนี้คือคำอธิบายของตัวกรองเสียงที่มีอยู่ในปัจจุบัน

ข้ามฟาด
ใช้การจางข้ามจากสตรีมเสียงอินพุตหนึ่งไปยังสตรีมเสียงอินพุตอื่น ไม้กางเขน
ใช้การเฟดตามระยะเวลาที่กำหนดเมื่อใกล้สิ้นสุดการสตรีมแรก

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

nb_ตัวอย่าง, ns
ระบุจำนวนตัวอย่างที่เอฟเฟกต์การเลือนข้ามจะต้องคงอยู่ ในตอนท้าย
ของเอฟเฟกต์ cross Fade เสียงอินพุตแรกจะเงียบสนิท ค่าเริ่มต้นคือ
44100.

ระยะเวลา, d
ระบุระยะเวลาของเอฟเฟกต์จางหาย ดู เวลา ระยะเวลา ส่วน in
ffmpeg-ยูทิลิตี้(1) คู่มือ สำหรับไวยากรณ์ที่ยอมรับ โดยค่าเริ่มต้น ระยะเวลาจะถูกกำหนด
by nb_samples. หากตั้งค่าตัวเลือกนี้จะใช้แทน nb_samples.

ทับซ้อนกัน o
ควรสิ้นสุดการสตรีมครั้งแรกทับซ้อนกับการเริ่มสตรีมครั้งที่สอง เปิดใช้งานค่าเริ่มต้น

เส้นโค้ง1
กำหนดเส้นโค้งสำหรับการเปลี่ยนจางข้ามสำหรับสตรีมแรก

เส้นโค้ง2
กำหนดเส้นโค้งสำหรับการเปลี่ยนจางข้ามสำหรับสตรีมที่สอง

สำหรับคำอธิบายประเภทเส้นโค้งที่ใช้ได้โปรดดู จาง คำอธิบายตัวกรอง

ตัวอย่าง

· Cross Fade จากอินพุตหนึ่งไปยังอีกรายการหนึ่ง:

ffmpeg -i first.flac -i วินาที.flac -filter_complex acrossfade=d=10:c1=exp:c2=exp output.flac

· Cross Fade จากอินพุตหนึ่งไปยังอีกอินพุตหนึ่ง แต่ไม่ทับซ้อนกัน:

ffmpeg -i first.flac -i วินาที.flac -filter_complex acrossfade=d=10:o=0:c1=exp:c2=exp output.flac

ดีเลย์
หน่วงเวลาช่องสัญญาณเสียงอย่างน้อยหนึ่งช่อง

ตัวอย่างในช่องที่ล่าช้าจะเต็มไปด้วยความเงียบ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความล่าช้า
ตั้งค่ารายการการหน่วงเวลาเป็นมิลลิวินาทีสำหรับแต่ละช่องโดยคั่นด้วย '|' อย่างน้อยหนึ่ง
ควรจัดให้มีการหน่วงเวลามากกว่า 0 ความล่าช้าที่ไม่ได้ใช้จะถูกละเว้นอย่างเงียบ ๆ ถ้า
จำนวนการหน่วงเวลาที่กำหนดจะน้อยกว่าจำนวนช่องช่องที่เหลืออยู่ทั้งหมด
ไม่ล่าช้า

ตัวอย่าง

· หน่วงเวลาช่องแรก 1.5 วินาที ช่องที่สาม 0.5 วินาที แล้วปล่อย
ช่องที่สอง (และช่องอื่นๆ ที่อาจมีอยู่) ไม่เปลี่ยนแปลง

อเดเลย์=1500|0|500

เสียงสะท้อน
ใช้เสียงสะท้อนกับเสียงอินพุต

เสียงสะท้อนเป็นเสียงสะท้อนและสามารถเกิดขึ้นได้ตามธรรมชาติท่ามกลางภูเขา (และบางครั้งก็มีขนาดใหญ่
อาคาร) เมื่อพูดหรือตะโกน; เอฟเฟกต์เสียงสะท้อนดิจิทัลเลียนแบบพฤติกรรมนี้และกำลัง
มักใช้เพื่อช่วยเติมเสียงเครื่องดนตรีเดี่ยวหรือเสียงร้อง ความแตกต่างของเวลา
ระหว่างสัญญาณเดิมกับการสะท้อนคือ "การหน่วงเวลา" และความดังของ
สัญญาณสะท้อนคือ "การสลายตัว" เสียงสะท้อนหลายครั้งอาจมีความล่าช้าและการสลายตัวต่างกัน

คำอธิบายของพารามิเตอร์ที่ยอมรับมีดังนี้

ใน_กำไร
ตั้งค่าเกนอินพุตของสัญญาณสะท้อน ค่าเริ่มต้นคือ 0.6

out_gain
ตั้งค่าเกนเอาท์พุตของสัญญาณสะท้อน ค่าเริ่มต้นคือ 0.3

ความล่าช้า
ตั้งค่ารายการช่วงเวลาเป็นมิลลิวินาทีระหว่างสัญญาณดั้งเดิมกับการสะท้อน
คั่นด้วย '|' ช่วงที่อนุญาตสำหรับ "การหน่วงเวลา" แต่ละรายการคือ "(0 - 90000.0]" ค่าเริ่มต้นคือ 1000

สลายตัว
ตั้งค่ารายการความดังของสัญญาณสะท้อนที่คั่นด้วย '|' ช่วงที่อนุญาตสำหรับแต่ละ
"การสลายตัว" คือ "(0 - 1.0]" ค่าเริ่มต้นคือ 0.5

ตัวอย่าง

· ทำให้เสียงราวกับว่ามีเครื่องดนตรีมากเป็นสองเท่าของที่เล่นจริง:

เสียงสะท้อน=0.8:0.88:60:0.4

· หากการดีเลย์สั้นมาก แสดงว่าเสียงเหมือนหุ่นยนต์ (โลหะ) กำลังเล่นเพลง:

เสียงสะท้อน=0.8:0.88:6:0.4

· การดีเลย์ที่นานขึ้นจะฟังดูเหมือนคอนเสิร์ตกลางแจ้งบนภูเขา:

เสียงสะท้อน=0.8:0.9:1000:0.3

· เหมือนข้างบน แต่มีภูเขาอีกลูกหนึ่ง:

aecho=0.8:0.9:1000|1800:0.3|0.25

ยกเลิก
แก้ไขสัญญาณเสียงตามนิพจน์ที่ระบุ

ตัวกรองนี้ยอมรับนิพจน์หนึ่งรายการขึ้นไป (หนึ่งรายการสำหรับแต่ละช่อง) ซึ่งได้รับการประเมิน
และใช้ในการปรับเปลี่ยนสัญญาณเสียงที่สอดคล้องกัน

ยอมรับพารามิเตอร์ต่อไปนี้:

ด่วน
ตั้งค่ารายการนิพจน์ที่คั่นด้วย '|' สำหรับแต่ละแชนเนลแยกกัน ถ้าจำนวน
ช่องสัญญาณเข้ามากกว่าจำนวนนิพจน์ที่ระบุล่าสุด
นิพจน์ใช้สำหรับช่องสัญญาณออกที่เหลือ

ช่อง_เค้าโครง, c
ตั้งค่าเค้าโครงช่องสัญญาณออก หากไม่ได้ระบุ เค้าโครงช่องจะถูกระบุโดย
จำนวนนิพจน์ หากตั้งค่าเป็น เดียวกัน, มันจะใช้ช่องอินพุตเดียวกันตามค่าเริ่มต้น
แบบ

แต่ละนิพจน์ใน ด่วน สามารถมีค่าคงที่และฟังก์ชันต่อไปนี้:

ch หมายเลขช่องของนิพจน์ปัจจุบัน

n จำนวนตัวอย่างที่ประเมิน เริ่มจาก 0

s อัตราตัวอย่าง

t เวลาของตัวอย่างประเมินที่แสดงเป็นวินาที

nb_in_channels
nb_out_channels
อินพุตและเอาต์พุตจำนวนช่อง

วาล (CH)
ค่าของช่องสัญญาณเข้าพร้อมตัวเลข CH

หมายเหตุ: ตัวกรองนี้ทำงานช้า เพื่อการประมวลผลที่เร็วขึ้น คุณควรใช้ตัวกรองเฉพาะ

ตัวอย่าง

· ครึ่งเสียง:

aeval=val(ch)/2:c=เหมือนกัน

· สลับเฟสของช่องที่สอง:

แอวัล=คลื่น(0)|-คลื่น(1)

จาง
ใช้เอฟเฟกต์เฟดอิน/เอาต์กับเสียงอินพุต

คำอธิบายของพารามิเตอร์ที่ยอมรับมีดังนี้

ประเภท, t
ระบุประเภทเอฟเฟกต์ อาจเป็น "เข้า" สำหรับการเฟดอินหรือ "ออก" สำหรับการเฟดเอาต์
ผล. ค่าเริ่มต้นคือ "ใน"

เริ่มต้น_ตัวอย่าง, ss
ระบุจำนวนตัวอย่างเริ่มต้นสำหรับการเริ่มต้นใช้เอฟเฟกต์จาง ค่าเริ่มต้น
คือ 0

nb_ตัวอย่าง, ns
ระบุจำนวนตัวอย่างที่เอฟเฟกต์จางหายไป ในตอนท้ายของ
เอฟเฟกต์เฟดอิน เสียงที่ส่งออกจะมีระดับเสียงเท่ากับเสียงอินพุตที่
สิ้นสุดการเปลี่ยนแบบเฟดเอาต์ เสียงที่ส่งออกจะเงียบ ค่าเริ่มต้นคือ 44100

เวลาเริ่มต้น, st
ระบุเวลาเริ่มต้นของเอฟเฟกต์จาง ค่าเริ่มต้นคือ 0 ต้องระบุค่า
เป็นระยะเวลา ดู เวลา ระยะเวลา ส่วน in ffmpeg-ยูทิลิตี้(1) คู่มือ for
ไวยากรณ์ที่ยอมรับ หากตั้งค่าตัวเลือกนี้จะใช้แทน start_sample.

ระยะเวลา, d
ระบุระยะเวลาของเอฟเฟกต์จาง ดู เวลา ระยะเวลา ส่วน in
ffmpeg-ยูทิลิตี้(1) คู่มือ สำหรับไวยากรณ์ที่ยอมรับ ในตอนท้ายของเอฟเฟกต์เฟดอิน the
เสียงเอาท์พุตจะมีระดับเสียงเท่ากันกับเสียงอินพุต ที่ส่วนท้ายของเฟดเอาท์
การเปลี่ยนเสียงที่ส่งออกจะเงียบ โดยค่าเริ่มต้น ระยะเวลาจะถูกกำหนดโดย
nb_samples. หากตั้งค่าตัวเลือกนี้จะใช้แทน nb_samples.

เส้นโค้ง
กำหนดเส้นโค้งสำหรับการเปลี่ยนสี

ยอมรับค่าต่อไปนี้:

ไตร เลือกสามเหลี่ยม ความชันเชิงเส้น (ค่าเริ่มต้น)

ชิน
เลือกไตรมาสของคลื่นไซน์

ซิน
เลือกครึ่งหนึ่งของคลื่นไซน์

แรงบันดาลใจ
เลือกคลื่นไซน์เลขชี้กำลัง

เข้าสู่ระบบ เลือกลอการิทึม

พี่เขย
เลือกพาราโบลาคว่ำ

ที่นี่ เลือกกำลังสอง

ลูกบาศก์ เลือกลูกบาศก์

ตร เลือกสแควร์รูท

cbr เลือกลูกบาศก์รูท

โดย เลือกพาราโบลา

ประสบการณ์ เลือกเลขชี้กำลัง

อิคซิน
เลือกไตรมาสกลับด้านของคลื่นไซน์

อิซซิน
เลือกครึ่งกลับของคลื่นไซน์

เดส
เลือกที่นั่งแบบเอกซ์โพเนนเชียลสองเท่า

desi
เลือก sigmoid เลขชี้กำลังสองเท่า

ตัวอย่าง

· จางหายไปใน 15 วินาทีแรกของเสียง:

afade=t=in:ss=0:d=15

· จางหายไป 25 วินาทีสุดท้ายของเสียง 900 วินาที:

จาง=t=ออก:st=875:d=25

รูปแบบ
ตั้งค่าข้อจำกัดของรูปแบบเอาต์พุตสำหรับเสียงอินพุต กรอบจะเจรจามากที่สุด
รูปแบบที่เหมาะสมเพื่อลดการแปลง

ยอมรับพารามิเตอร์ต่อไปนี้:

ตัวอย่าง_fmts
รายการที่คั่นด้วย '|' ของรูปแบบตัวอย่างที่ร้องขอ

อัตราตัวอย่าง
รายการที่คั่นด้วย '|' ของอัตราตัวอย่างที่ร้องขอ

channel_layouts
รายการเลย์เอาต์ของช่องที่ขอแยกจาก '|'

ดู ช่อง แบบ ส่วน in ffmpeg-ยูทิลิตี้(1) คู่มือ สำหรับไวยากรณ์ที่จำเป็น

หากละเว้นพารามิเตอร์ ค่าทั้งหมดจะได้รับอนุญาต

บังคับเอาท์พุตเป็นสเตอริโอ 8 บิตหรือสัญญาณ 16 บิตที่ไม่ได้ลงนาม

aformat=sample_fmts=u8|s16:channel_layouts=สเตอริโอ

ผ่านทั้งหมด
ใช้ตัวกรองแบบ all-pass แบบสองขั้วที่มีความถี่กลาง (เป็น Hz) ความถี่และกรอง-
ความกว้าง ความกว้าง. ตัวกรองแบบ all-pass เปลี่ยนความถี่ของเสียงเป็นความสัมพันธ์ของเฟส
โดยไม่เปลี่ยนความถี่เป็นความสัมพันธ์ของแอมพลิจูด

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความถี่, f
ตั้งค่าความถี่เป็น Hz

width_type
กำหนดวิธีการระบุแบนด์วิดธ์ของตัวกรอง

h Hz

q Q-ปัจจัย

o ระดับแปดเสียง

s ลาด

ความกว้าง w
ระบุแบนด์วิดธ์ของตัวกรองในหน่วย width_type

รวมกัน
รวมสตรีมเสียงตั้งแต่สองสตรีมขึ้นไปเป็นสตรีมแบบหลายช่องสัญญาณเดียว

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ปัจจัยการผลิต
กำหนดจำนวนอินพุต ค่าเริ่มต้นคือ 2

หากเลย์เอาต์ของช่องสัญญาณเข้าไม่ปะติดปะต่อและเข้ากันได้ ช่อง
เลย์เอาต์ของเอาต์พุตจะถูกตั้งค่าตามนั้น และแชนเนลจะถูกจัดลำดับใหม่เป็น
จำเป็น. หากเลย์เอาต์ช่องสัญญาณของอินพุตไม่แยกจากกัน เอาต์พุตจะมีทั้งหมด
แชนเนลของอินพุตแรก จากนั้นทุกแชนเนลของอินพุตที่สอง ตามลำดับ
และรูปแบบช่องสัญญาณของเอาต์พุตจะเป็นค่าเริ่มต้นที่สอดคล้องกับยอดรวม
จำนวนช่อง.

ตัวอย่างเช่น ถ้าอินพุตแรกอยู่ใน 2.1 (FL+FR+LF) และอินพุตที่สองคือ FC+BL+BR
จากนั้นเอาต์พุตจะเป็น 5.1 โดยมีช่องตามลำดับต่อไปนี้: a1, a2, b1, a3,
b2, b3 (a1 คือช่องแรกของอินพุตแรก b1 คือช่องแรกของช่องที่สอง
อินพุต)

ในทางกลับกัน หากอินพุตทั้งสองเป็นสเตอริโอ ช่องสัญญาณเอาต์พุตจะเป็นค่าเริ่มต้น
ลำดับ: a1, a2, b1, b2 และเลย์เอาต์ของช่องจะถูกตั้งค่าเป็น 4.0 โดยพลการ ซึ่งอาจหรือ
อาจไม่ใช่ค่าที่คาดหวัง

อินพุตทั้งหมดต้องมีอัตราการสุ่มตัวอย่างและรูปแบบเหมือนกัน

หากอินพุตไม่มีระยะเวลาเท่ากัน เอาต์พุตจะหยุดโดยใช้เวลาสั้นที่สุด

ตัวอย่าง

· รวมไฟล์โมโนสองไฟล์เป็นสตรีมสเตอริโอ:

หนัง=left.wav [l] ; หนัง=right.mp3 [r] ; [l] [r] รวมกัน

· การรวมหลาย ๆ ครั้งโดยสมมติว่าสตรีมวิดีโอ 1 รายการและสตรีมเสียง 6 รายการใน input.mkv:

ffmpeg -i input.mkv -filter_complex "[0:1][0:2][0:3][0:4][0:5][0:6] amerge=inputs=6" -c:a pcm_s16le output.mkv

ผสม
ผสมอินพุตเสียงหลายรายการเป็นเอาต์พุตเดียว

โปรดทราบว่าตัวกรองนี้รองรับเฉพาะตัวอย่างแบบลอย (the รวมกัน และ กะทะ ตัวกรองเสียง
รองรับหลายรูปแบบ) ถ้า ผสม อินพุตมีตัวอย่างจำนวนเต็มแล้ว ตัวอย่าง จะ
แทรกโดยอัตโนมัติเพื่อทำการแปลงตัวอย่างลอย

ตัวอย่างเช่น

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 เอาท์พุต

จะผสมสตรีมเสียงอินพุต 3 รายการเป็นเอาต์พุตเดียวโดยมีระยะเวลาเท่ากับครั้งแรก
อินพุตและเวลาในการเปลี่ยน dropout 3 วินาที

ยอมรับพารามิเตอร์ต่อไปนี้:

ปัจจัยการผลิต
จำนวนอินพุต หากไม่ระบุ จะมีค่าเริ่มต้นเป็น 2

ระยะเวลา
วิธีการกำหนดจุดสิ้นสุดของสตรีม

ยาวที่สุด
ระยะเวลาของอินพุตที่ยาวที่สุด (ค่าเริ่มต้น)

ที่สั้นที่สุด
ระยะเวลาของอินพุตที่สั้นที่สุด

เป็นครั้งแรก
ระยะเวลาของอินพุตแรก

dropout_transition
เวลาในการเปลี่ยน (หน่วยวินาที) สำหรับการปรับระดับเสียงปกติเมื่อสตรีมอินพุตสิ้นสุด
ค่าเริ่มต้นคือ 2 วินาที

เป็นโมฆะ
ส่งผ่านแหล่งเสียงที่ไม่เปลี่ยนแปลงไปยังเอาท์พุต

อะแพด
วางส่วนท้ายของสตรีมเสียงด้วยความเงียบ

สามารถใช้ร่วมกันได้กับ ffmpeg -สั้นที่สุด เพื่อขยายสตรีมเสียงให้มีความยาวเท่ากัน
เป็นสตรีมวิดีโอ

คำอธิบายของตัวเลือกที่ยอมรับมีดังนี้

แพ็คเก็ต_ขนาด
ตั้งค่าขนาดแพ็กเก็ตปิดเสียง ค่าเริ่มต้นคือ 4096

pad_len
กำหนดจำนวนตัวอย่างความเงียบที่จะเพิ่มต่อท้าย หลังจากได้ค่าแล้ว
สตรีมจะสิ้นสุดลง ตัวเลือกนี้ไม่เกิดร่วมกันกับ ทั้งหมด_len.

ทั้งหมด_len
ตั้งค่าจำนวนตัวอย่างขั้นต่ำในสตรีมเสียงที่ส่งออก ถ้าค่าเป็น
ยาวกว่าความยาวเสียงอินพุต ความเงียบจะถูกเพิ่มในตอนท้าย จนกระทั่งค่าเป็น
ถึง. ตัวเลือกนี้ไม่เกิดร่วมกันกับ pad_len.

ถ้าทั้ง pad_len หรือ ทั้งหมด_len ตั้งค่าตัวเลือกแล้ว ตัวกรองจะเพิ่มความเงียบให้กับ
สิ้นสุดกระแสอินพุตอย่างไม่มีกำหนด

ตัวอย่าง

· เพิ่ม 1024 ตัวอย่างความเงียบต่อท้ายอินพุต:

apad=pad_len=1024

· ตรวจสอบให้แน่ใจว่าเอาต์พุตเสียงจะมีตัวอย่างอย่างน้อย 10000 ตัวอย่าง เสียบอินพุตด้วย
เงียบถ้าจำเป็น:

apad=whole_len=10000

· ใช้ ffmpeg เพื่อใส่อินพุตเสียงด้วยความเงียบเพื่อให้การสตรีมวิดีโออยู่เสมอ
ส่งผลให้สั้นที่สุดและจะถูกแปลงไปจนสุดในไฟล์เอาท์พุตเมื่อใช้
ที่สั้นที่สุด ตัวเลือก:

ffmpeg -i VIDEO -i AUDIO -filter_complex "[1:0]apad" - เอาต์พุตที่สั้นที่สุด

เฟสเซอร์
เพิ่มเอฟเฟกต์เฟสให้กับเสียงอินพุต

ตัวกรองเฟสเซอร์สร้างชุดของพีคและรางในสเปกตรัมความถี่ NS
ตำแหน่งของยอดเขาและรางน้ำจะถูกปรับให้แปรผันไปตามกาลเวลา ทำให้เกิด a
ผลการกวาด

คำอธิบายของพารามิเตอร์ที่ยอมรับมีดังนี้

ใน_กำไร
ตั้งค่าการรับอินพุต ค่าเริ่มต้นคือ 0.4

out_gain
ตั้งค่าเกนเอาท์พุต ค่าเริ่มต้นคือ 0.74

ความล่าช้า
ตั้งค่าการหน่วงเวลาเป็นมิลลิวินาที ค่าเริ่มต้นคือ 3.0

ผุ
ตั้งค่าการสลายตัว ค่าเริ่มต้นคือ 0.4

ความเร็ว
ตั้งค่าความเร็วในการมอดูเลตเป็น Hz ค่าเริ่มต้นคือ 0.5

ชนิด
ตั้งค่าประเภทการมอดูเลต ค่าเริ่มต้นเป็นรูปสามเหลี่ยม

ยอมรับค่าต่อไปนี้:

สามเหลี่ยม t
ไซนัส, s

ตัวอย่าง
สุ่มตัวอย่างเสียงอินพุตใหม่เป็นพารามิเตอร์ที่ระบุ โดยใช้ไลบรารี libswresample ถ้า
ไม่มีการระบุตัวกรองจะแปลงระหว่างอินพุตและ .โดยอัตโนมัติ
เอาท์พุต

ตัวกรองนี้ยังสามารถขยาย/บีบข้อมูลเสียงเพื่อให้ตรงกับการประทับเวลา
หรือจะอัดเสียง/ตัดเสียงเพื่อให้ตรงกับการประทับเวลา ให้ผสมกัน
ทั้งสองอย่างหรือไม่ทำทั้งสองอย่าง

ตัวกรองยอมรับไวยากรณ์ [อัตราการสุ่มตัวอย่าง:]resampler_optionsที่นี่มี อัตราการสุ่มตัวอย่าง เป็นการแสดงออก
อัตราตัวอย่างและ resampler_options เป็นรายการของ สำคัญ=ความคุ้มค่า คู่ คั่นด้วย ":" ดู
คู่มือ ffmpeg-resampler สำหรับรายการตัวเลือกที่รองรับทั้งหมด

ตัวอย่าง

· สุ่มตัวอย่างเสียงอินพุตเป็น 44100Hz:

ตัวอย่าง=44100

· ยืด/บีบตัวอย่างไปยังการประทับเวลาที่กำหนด โดยมีตัวอย่างสูงสุด 1000 ตัวอย่างต่อ
ค่าตอบแทนที่สอง:

isample=async=1000

ตัวอย่างตัวอย่าง
กำหนดจำนวนตัวอย่างต่อเฟรมเสียงเอาต์พุตแต่ละเฟรม

แพ็กเก็ตเอาต์พุตสุดท้ายอาจมีจำนวนตัวอย่างต่างกัน เนื่องจากตัวกรองจะล้าง
ตัวอย่างที่เหลือทั้งหมดเมื่อสัญญาณเสียงอินพุตสิ้นสุด

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

nb_out_samples, n
กำหนดจำนวนเฟรมต่อเฟรมเสียงที่ส่งออกแต่ละเฟรม ตัวเลขนี้มีวัตถุประสงค์เพื่อเป็น
จำนวนตัวอย่าง ต่อ แต่ละ ช่อง. ค่าเริ่มต้นคือ 1024

แผ่น p
หากตั้งค่าเป็น 1 ตัวกรองจะวางเฟรมเสียงสุดท้ายด้วยศูนย์เพื่อให้ตัวสุดท้าย
เฟรมจะมีจำนวนตัวอย่างเท่าเดิม ค่าเริ่มต้นคือ
1.

ตัวอย่างเช่น ในการตั้งค่าจำนวนตัวอย่างต่อเฟรมเป็น 1234 และปิดใช้งานช่องว่างภายในสำหรับ
เฟรมสุดท้าย ใช้:

asetnsamples=n=1234:p=0

สินทรัพย์
ตั้งค่าอัตราตัวอย่างโดยไม่เปลี่ยนแปลงข้อมูล PCM ซึ่งจะส่งผลให้เกิดการเปลี่ยนแปลงของความเร็ว
และสนาม

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

อัตราการสุ่มตัวอย่าง r
ตั้งค่าอัตราการสุ่มตัวอย่างเอาต์พุต ค่าเริ่มต้นคือ 44100 Hz

แสดงข้อมูล
แสดงบรรทัดที่มีข้อมูลต่างๆ สำหรับแต่ละเฟรมเสียงอินพุต เสียงอินพุตคือ
ไม่ได้แก้ไข

บรรทัดที่แสดงมีลำดับของคู่คีย์/ค่าของรูปแบบ สำคัญ:ความคุ้มค่า.

ค่าต่อไปนี้จะแสดงในผลลัพธ์:

n หมายเลข (ตามลำดับ) ของเฟรมอินพุต เริ่มจาก 0

พีทีเอส การประทับเวลาการนำเสนอของเฟรมอินพุต ในหน่วยฐานเวลา ฐานเวลา
ขึ้นอยู่กับแผ่นกรองข้อมูล และมักจะเป็น 1/อัตราการสุ่มตัวอย่าง.

pts_time
การประทับเวลาการนำเสนอของเฟรมอินพุตเป็นวินาที

โพสต์ ตำแหน่งของเฟรมในสตรีมอินพุต -1 หากข้อมูลนี้ไม่พร้อมใช้งาน
และ/หรือไร้ความหมาย (เช่น กรณีเสียงสังเคราะห์)

เอฟเอ็มที รูปแบบตัวอย่าง.

เลย์เอาต์
การจัดวางช่อง.

อัตรา
อัตราตัวอย่างสำหรับเฟรมเสียง

nb_samples
จำนวนตัวอย่าง (ต่อช่อง) ในเฟรม

การตรวจสอบ
เช็คซัม Adler-32 (พิมพ์เป็นเลขฐานสิบหก) ของข้อมูลเสียง สำหรับเสียงระนาบ
ข้อมูลได้รับการปฏิบัติราวกับว่าระนาบทั้งหมดถูกต่อกัน

เครื่องบิน_checksums
รายการเช็คซัม Adler-32 สำหรับแต่ละระนาบข้อมูล

แอสต้าส
แสดงข้อมูลสถิติโดเมนเวลาเกี่ยวกับช่องสัญญาณเสียง สถิติคือ
คำนวณและแสดงสำหรับแต่ละช่องสัญญาณเสียงและตัวเลขโดยรวม (ถ้ามี)
ยังได้รับ

ยอมรับตัวเลือกต่อไปนี้:

ความยาว
ความยาวของช่องหน้าต่างสั้นเป็นวินาที ใช้สำหรับการวัดค่า RMS สูงสุดและค่าราง ค่าเริ่มต้นคือ
0.05 (50 มิลลิวินาที) ช่วงที่อนุญาตคือ "[0.1 - 10]"

เมตาดาต้า
ตั้งค่าการฉีดข้อมูลเมตา คีย์ข้อมูลเมตาทั้งหมดนำหน้าด้วย "lavfi.astats.X"
โดยที่ "X" คือหมายเลขช่องสัญญาณที่เริ่มต้นจาก 1 หรือสตริง "โดยรวม" ค่าเริ่มต้นถูกปิดใช้งาน

คีย์ที่ใช้ได้สำหรับแต่ละช่องคือ: DC_offset Min_level Max_level Min_difference
Max_difference Mean_difference สูงสุด_ระดับ RMS_peak RMS_trough Crest_factor Flat_factor
Peak_count Bit_ความลึก

และสำหรับโดยรวม: DC_offset Min_level Max_level Min_difference Max_difference
Mean_difference สูงสุด_ระดับ RMS_ระดับ RMS_peak RMS_trough Flat_factor Peak_count
Bit_deep Number_of_samples

ตัวอย่างเช่น คีย์เต็มมีลักษณะดังนี้ "lavfi.astats.1.DC_offset" หรือ this
"lavfi.astats.Overall.Peak_count"

สำหรับคำอธิบายความหมายของแต่ละคีย์ อ่านด้านล่าง

ตั้งใหม่
กำหนดจำนวนเฟรมหลังจากที่มีการคำนวณสถิติใหม่ ค่าเริ่มต้นคือ
พิการ

คำอธิบายของพารามิเตอร์ที่แสดงแต่ละรายการมีดังนี้:

DC ชดเชย
การกระจัดของแอมพลิจูดเฉลี่ยจากศูนย์

นาที ระดับ
ระดับตัวอย่างขั้นต่ำ

แม็กซ์ ระดับ
ระดับตัวอย่างสูงสุด

นาที ความแตกต่าง
ความแตกต่างน้อยที่สุดระหว่างสองตัวอย่างที่ต่อเนื่องกัน

แม็กซ์ ความแตกต่าง
ความแตกต่างสูงสุดระหว่างตัวอย่างสองตัวอย่างที่ต่อเนื่องกัน

หมายความ ความแตกต่าง
ค่าเฉลี่ยความแตกต่างระหว่างสองตัวอย่างที่ต่อเนื่องกัน ค่าเฉลี่ยของความแตกต่างแต่ละอย่าง
ระหว่างสองตัวอย่างต่อเนื่องกัน

จุดสูงสุด ระดับ dB
RMS ระดับ dB
ระดับสูงสุดมาตรฐานและ RMS วัดเป็น dBFS

RMS ยอด dB
RMS รางน้ำ dB
ค่าสูงสุดและค่าต่ำสุดสำหรับระดับ RMS ที่วัดผ่านหน้าต่างสั้น

ยอด ปัจจัย
อัตราส่วนมาตรฐานของระดับสูงสุดต่อ RMS (หมายเหตุ: ไม่อยู่ใน dB)

Flat ปัจจัย
ความเรียบ (เช่น ตัวอย่างต่อเนื่องที่มีค่าเท่ากัน) ของสัญญาณที่จุดสูงสุด
ระดับ (เช่น นาที ระดับ or แม็กซ์ ระดับ).

จุดสูงสุด นับ
จำนวนครั้ง (ไม่ใช่จำนวนตัวอย่าง) ที่สัญญาณได้รับเช่นกัน นาที
ระดับ or แม็กซ์ ระดับ.

บิต ความลึก
ความลึกบิตโดยรวมของเสียง จำนวนบิตที่ใช้สำหรับแต่ละตัวอย่าง

สตรีมซิงก์
ส่งต่อสตรีมเสียงสองรายการและควบคุมลำดับการส่งต่อบัฟเฟอร์

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ประสบการณ์, e
กำหนดนิพจน์ตัดสินใจว่าควรส่งต่อสตรีมใด: ถ้าผลลัพธ์เป็น
เชิงลบ สตรีมแรกจะถูกส่งต่อ ถ้าผลลัพธ์เป็นบวกหรือศูนย์ ตัวที่สอง
สตรีมจะถูกส่งต่อ สามารถใช้ตัวแปรต่อไปนี้:

b1 b2
จำนวนบัฟเฟอร์ที่ส่งต่อในแต่ละสตรีม

s1 s2
จำนวนตัวอย่างที่ส่งต่อในแต่ละสตรีม

t1 t2
เวลาปัจจุบันของแต่ละสตรีม

ค่าเริ่มต้นคือ "t1-t2" ซึ่งหมายถึงการส่งต่อสตรีมที่มี a . เสมอ
การประทับเวลาที่เล็กลง

ตัวอย่าง

ทดสอบความเค้น "รวม" โดยการสุ่มส่งบัฟเฟอร์บนอินพุตที่ไม่ถูกต้อง ในขณะที่หลีกเลี่ยงด้วย
การไม่ซิงโครไนซ์ส่วนใหญ่:

amovie=file.ogg [a] ; หนัง=file.mp3 [b] ;
[a] [b] astreamsync=(2*)สุ่ม(1))-1+tanh(5*(t1-t2)) [a2] [b2] ;
[a2] [b2] รวมกัน

ไม่ตรงกัน
ซิงโครไนซ์ข้อมูลเสียงกับการประทับเวลาโดยการบีบ/ยืดออกและ/หรือวาง
ตัวอย่าง/เพิ่มความเงียบเมื่อจำเป็น

ตัวกรองนี้ไม่ได้สร้างขึ้นโดยค่าเริ่มต้น โปรดใช้ ตัวอย่าง ทำการบีบ/ยืด

ยอมรับพารามิเตอร์ต่อไปนี้:

ทดแทน
เปิดใช้งานการยืด/บีบข้อมูลเพื่อให้ตรงกับการประทับเวลา พิการโดย
ค่าเริ่มต้น. เมื่อปิดใช้งาน ช่องว่างของเวลาจะถูกปิดด้วยความเงียบ

min_delta
ความแตกต่างขั้นต่ำระหว่างการประทับเวลาและข้อมูลเสียง (เป็นวินาที) ที่จะทริกเกอร์
เพิ่ม/วางตัวอย่าง ค่าเริ่มต้นคือ 0.1 หากคุณได้รับการซิงค์ที่ไม่สมบูรณ์กับ
ตัวกรองนี้ ลองตั้งค่าพารามิเตอร์นี้เป็น 0

max_comp
ค่าชดเชยสูงสุดในตัวอย่างต่อวินาที เกี่ยวข้องกับการชดเชยเท่านั้น=1 NS
ค่าเริ่มต้นคือ 500

first_pts
สมมติว่า PTS แรกควรเป็นค่านี้ ฐานเวลาคือ 1 / อัตราตัวอย่าง นี้
อนุญาตให้มีการขยาย/ตัดแต่งเมื่อเริ่มต้นสตรีม โดยค่าเริ่มต้น ไม่มีการสันนิษฐานใด ๆ is
ทำเกี่ยวกับ PTS ที่คาดไว้ของเฟรมแรก ดังนั้นจึงไม่มีการเติมหรือตัดแต่ง สำหรับ
ตัวอย่าง ค่านี้สามารถตั้งค่าเป็น 0 เพื่อปิดจุดเริ่มต้นด้วยความเงียบหากสตรีมเสียง
เริ่มหลังจากสตรีมวิดีโอหรือเพื่อตัดตัวอย่างใดๆ ที่มี PTS ติดลบเนื่องจาก
ตัวเข้ารหัสล่าช้า

จังหวะ
ปรับจังหวะเสียง

ตัวกรองยอมรับพารามิเตอร์เพียงตัวเดียว นั่นคือ จังหวะของเสียง หากไม่ระบุ
ตัวกรองจะถือว่าจังหวะ 1.0 เล็กน้อย Tempo ต้องอยู่ในช่วง [0.5, 2.0]

ตัวอย่าง

· ลดความเร็วเสียงเป็น 80% จังหวะ:

จังหวะ=0.8

· เพื่อเพิ่มความเร็วของเสียงเป็น 125% จังหวะ:

จังหวะ=1.25

เอทริม
ตัดอินพุตเพื่อให้เอาต์พุตมีส่วนย่อยต่อเนื่องของอินพุตหนึ่งส่วน

ยอมรับพารามิเตอร์ต่อไปนี้:

เริ่มต้น
เวลาประทับ (เป็นวินาที) ของการเริ่มต้นส่วนที่จะเก็บไว้ คือตัวอย่างเสียงด้วย
การประทับเวลา เริ่มต้น จะเป็นตัวอย่างแรกในผลลัพธ์

ปลาย ระบุเวลาของตัวอย่างเสียงแรกที่จะถูกลบคือตัวอย่างเสียง
นำหน้าด้วยการประทับเวลาทันที ปลาย จะเป็นตัวอย่างสุดท้ายใน
เอาท์พุต

start_pts
เหมือนกับ เริ่มต้นยกเว้นตัวเลือกนี้จะตั้งค่าการประทับเวลาเริ่มต้นในตัวอย่างแทน
วินาที

end_pts
เหมือนกับ ปลายยกเว้นตัวเลือกนี้จะตั้งค่าการประทับเวลาสิ้นสุดในตัวอย่างแทนที่จะเป็นวินาที

ระยะเวลา
ระยะเวลาสูงสุดของเอาต์พุตเป็นวินาที

start_sample
จำนวนตัวอย่างแรกที่ควรจะส่งออก

end_sample
จำนวนตัวอย่างแรกที่ควรทิ้ง

เริ่มต้น, ปลายและ ระยะเวลา แสดงเป็นข้อกำหนดระยะเวลา ดู เวลา
ระยะเวลา ส่วน in ffmpeg-ยูทิลิตี้(1) คู่มือ.

โปรดทราบว่าสองชุดแรกของตัวเลือกเริ่มต้น/สิ้นสุดและ ระยะเวลา ตัวเลือกดูที่
การประทับเวลาของเฟรมในขณะที่ตัวเลือก _sample เพียงนับตัวอย่างที่ผ่าน
กรอง. ดังนั้น start/end_pts และ start/end_sample จะให้ผลลัพธ์ที่แตกต่างกันเมื่อ
การประทับเวลาไม่ถูกต้อง ไม่แน่นอน หรือไม่เริ่มต้นที่ศูนย์ โปรดทราบว่าตัวกรองนี้ไม่ได้
แก้ไขการประทับเวลา หากคุณต้องการให้การประทับเวลาของเอาต์พุตเริ่มต้นที่ศูนย์ ให้ใส่
ตัวกรอง assetpts หลังตัวกรอง atrim

หากตั้งค่าตัวเลือกเริ่มต้นหรือสิ้นสุดหลายรายการ ตัวกรองนี้จะพยายามโลภและเก็บทั้งหมด
ตัวอย่างที่ตรงกับข้อจำกัดที่ระบุอย่างน้อยหนึ่งข้อ ให้เก็บเฉพาะส่วนที่
จับคู่ข้อ จำกัด ทั้งหมดพร้อมกัน เชื่อมโยงตัวกรอง atrim หลายตัว

ค่าดีฟอลต์เป็นเช่นนั้นอินพุตทั้งหมดจะถูกเก็บไว้ ดังนั้นจึงเป็นไปได้ที่จะตั้งค่าเช่นเพียงแค่
ค่าสิ้นสุดเพื่อให้ทุกอย่างก่อนเวลาที่กำหนด

ตัวอย่าง:

· ดรอปทุกอย่างยกเว้นนาทีที่สองของอินพุต:

ffmpeg -i อินพุต -af atrim=60:120

· เก็บตัวอย่าง 1000 ตัวอย่างแรกเท่านั้น:

ffmpeg -i อินพุต -af attrim=end_sample=1000

แบนด์พาส
ใช้ตัวกรองแบนด์พาส Butterworth แบบสองขั้วพร้อมความถี่กลาง ความถี่และ
(3dB-point) ความกว้างแบนด์วิดธ์ NS CSG ตัวเลือกเลือกกำไรกระโปรงคงที่ (กำไรสูงสุด =
Q) แทนที่จะเป็นค่าเริ่มต้น: เกนสูงสุด 0dB คงที่ ตัวกรองม้วนออกที่ 6dB ต่ออ็อกเทฟ
(20dB ต่อทศวรรษ)

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความถี่, f
ตั้งค่าความถี่กลางของตัวกรอง ค่าเริ่มต้นคือ 3000

CSG อัตราขยายของกระโปรงคงที่หากตั้งค่าเป็น 1 ค่าเริ่มต้นเป็น 0

width_type
กำหนดวิธีการระบุแบนด์วิดธ์ของตัวกรอง

h Hz

q Q-ปัจจัย

o ระดับแปดเสียง

s ลาด

ความกว้าง w
ระบุแบนด์วิดธ์ของตัวกรองในหน่วย width_type

แบนด์รีเจก
ใช้ฟิลเตอร์กรองแบนด์ Butterworth แบบสองขั้วพร้อมความถี่กลาง ความถี่และ
(3dB-point) แบนด์วิดธ์ ความกว้าง. ตัวกรองม้วนออกที่ 6dB ต่ออ็อกเทฟ (20dB ต่อทศวรรษ)

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความถี่, f
ตั้งค่าความถี่กลางของตัวกรอง ค่าเริ่มต้นคือ 3000

width_type
กำหนดวิธีการระบุแบนด์วิดธ์ของตัวกรอง

h Hz

q Q-ปัจจัย

o ระดับแปดเสียง

s ลาด

ความกว้าง w
ระบุแบนด์วิดธ์ของตัวกรองในหน่วย width_type

เสียงทุ้ม
เพิ่มหรือลดความถี่เสียงเบส (ต่ำลง) ของเสียงโดยใช้ฟิลเตอร์เก็บเข้าลิ้นชักแบบสองขั้ว
ด้วยการตอบสนองที่คล้ายกับการควบคุมโทนเสียงของไฮไฟมาตรฐาน นี้เรียกอีกอย่างว่า
การทำให้เท่าเทียมกันของชั้นวาง (EQ)

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ได้รับ, g
ให้เกนที่ 0 Hz ช่วงที่มีประโยชน์คือประมาณ -20 (สำหรับการตัดขนาดใหญ่) ถึง +20 (สำหรับ a
เพิ่มขนาดใหญ่) ระวังการตัดเมื่อใช้กำไรในเชิงบวก

ความถี่, f
ตั้งค่าความถี่กลางของตัวกรองเพื่อใช้ขยายหรือลดความถี่
ช่วงความถี่ที่จะเพิ่มหรือตัด ค่าเริ่มต้นคือ 100 Hz

width_type
กำหนดวิธีการระบุแบนด์วิดธ์ของตัวกรอง

h Hz

q Q-ปัจจัย

o ระดับแปดเสียง

s ลาด

ความกว้าง w
พิจารณาว่าการเปลี่ยนชั้นของแผ่นกรองมีความชันเพียงใด

ไบควอด
ใช้ตัวกรอง IIR แบบ biquad ด้วยค่าสัมประสิทธิ์ที่กำหนด ที่ไหน b0, b1, b2 และ a0, a1, a2
คือสัมประสิทธิ์ตัวเศษและตัวส่วนตามลำดับ

บีเอสทูบี
สเตอริโอ Bauer เป็นการแปลงแบบ binaural ซึ่งปรับปรุงการฟังหูฟังสเตอริโอ
บันทึกเสียง

ยอมรับพารามิเตอร์ต่อไปนี้:

โปรไฟล์
ระดับการป้อนข้ามที่กำหนดไว้ล่วงหน้า

ผิดนัด
ระดับเริ่มต้น (fcut=700, feed=50)

ซมอย
วงจร Chu Moy (fcut=700, feed=60)

เจไมเออร์
วงจร Jan Meier (fcut=650, feed=95)

ฟคัท
ความถี่ตัด (เป็น Hz)

อาหาร
ระดับการป้อน (เป็น Hz)

แผนที่ช่อง
ทำการแมปช่องสัญญาณเข้าใหม่ไปยังตำแหน่งใหม่

ยอมรับพารามิเตอร์ต่อไปนี้:

channel_layout
เค้าโครงช่องสัญญาณของสตรีมเอาต์พุต

แผนที่ แมปช่องสัญญาณจากอินพุตไปยังเอาต์พุต อาร์กิวเมนต์เป็นรายการการแมปที่คั่นด้วย '|'
ในแต่ละ "in_channel-out_channel" or ใน_ช่อง ฟอร์ม ใน_ช่อง สามารถเป็นได้ทั้ง
ชื่อของช่องสัญญาณเข้า (เช่น FL สำหรับด้านหน้าซ้าย) หรือดัชนีในช่องสัญญาณเข้า
แบบ ออก_ช่อง เป็นชื่อของช่องสัญญาณออกหรือดัชนีในช่องสัญญาณออก
เค้าโครงช่อง ถ้า ออก_ช่อง ไม่ได้กำหนดไว้เป็นดัชนีโดยปริยาย เริ่มต้น
โดยมีค่าศูนย์และเพิ่มขึ้นทีละรายการสำหรับการทำแผนที่แต่ละครั้ง

หากไม่มีการจับคู่ ตัวกรองจะจับคู่ช่องสัญญาณอินพุตกับเอาต์พุตโดยปริยาย
ช่องทางรักษาดัชนี

ตัวอย่างเช่น สมมติว่าไฟล์ MOV อินพุต 5.1+downmix

ffmpeg -i in.mov -กรอง 'channelmap=map=DL-FL|DR-FR' out.wav

จะสร้างไฟล์เอาต์พุต WAV ที่แท็กเป็นสเตอริโอจากช่องสัญญาณดาวน์มิกซ์ของอินพุต

วิธีแก้ไข 5.1 WAV ที่เข้ารหัสไม่ถูกต้องในลำดับช่องสัญญาณดั้งเดิมของ AAC

ffmpeg -i in.wav -filter 'channelmap=1|2|0|5|3|4:5.1' out.wav

ช่องแบ่ง
แยกแต่ละช่องสัญญาณออกจากสตรีมเสียงอินพุตเป็นสตรีมเอาต์พุตแยกกัน

ยอมรับพารามิเตอร์ต่อไปนี้:

channel_layout
เลย์เอาต์ช่องสัญญาณของสตรีมอินพุต ค่าเริ่มต้นคือ "สเตอริโอ"

ตัวอย่างเช่น สมมติว่าไฟล์ MP3 อินพุตสเตอริโอ

ffmpeg -i in.mp3 -filter_complex ช่องแยกออก mkv

จะสร้างไฟล์ Matroska เอาท์พุตที่มีออดิโอสตรีม XNUMX อัน ไฟล์หนึ่งมีเฉพาะด้านซ้าย
ช่องและช่องขวาอื่นๆ.

แบ่งไฟล์ 5.1 WAV เป็นไฟล์ต่อช่อง:

ffmpeg -i ใน.wav -filter_complex
'channelsplit=channel_layout=5.1[FL][FR][FC][LFE][SL][SR]'
-map '[FL]' front_left.wav -map '[FR]' front_right.wav -map '[FC]'
front_center.wav -map '[LFE]' lfe.wav -map '[SL]' side_left.wav -map '[SR]'
side_right.wav

การร้องพร้อมกัน
เพิ่มเอฟเฟกต์คอรัสให้กับเสียง

สามารถสร้างเสียงร้องเดียวเหมือนคอรัส แต่ยังสามารถนำไปใช้กับเครื่องมือวัดได้

คอรัสคล้ายกับเอฟเฟกต์เสียงสะท้อนที่มีการหน่วงเวลาสั้น ๆ แต่ในขณะที่เสียงสะท้อนนั้นดีเลย์คือ
คงที่ กับคอรัส มันแปรผันโดยใช้มอดูเลตไซน์หรือสามเหลี่ยม NS
ความลึกของการมอดูเลตกำหนดช่วงการหน่วงเวลาแบบมอดูเลตก่อนหรือหลัง
ล่าช้า. ดังนั้นเสียงดีเลย์จะฟังดูช้าหรือเร็ว นั่นคือเสียงดีเลย์
ปรับรอบเพลงต้นฉบับ เหมือนในคอรัสที่เสียงร้องบางเสียงผิดคีย์เล็กน้อย

ยอมรับพารามิเตอร์ต่อไปนี้:

ใน_กำไร
ตั้งค่าการรับอินพุต ค่าเริ่มต้นคือ 0.4

out_gain
ตั้งค่าเกนเอาท์พุต ค่าเริ่มต้นคือ 0.4

ความล่าช้า
ตั้งค่าการหน่วงเวลา ความล่าช้าโดยทั่วไปอยู่ที่ประมาณ 40ms ถึง 60ms

สลายตัว
ตั้งค่าการสลายตัว

ความเร็ว
ตั้งค่าความเร็ว

ระดับความลึก
ตั้งค่าความลึก

ตัวอย่าง

· ล่าช้าเพียงครั้งเดียว:

chorus=0.7:0.9:55:0.4:0.25:2

· สองความล่าช้า:

chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3

· คอรัสที่เปล่งเสียงฟูลเลอร์พร้อมการดีเลย์สามครั้ง:

chorus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3

บริษัท
บีบอัดหรือขยายช่วงไดนามิกของเสียง

ยอมรับพารามิเตอร์ต่อไปนี้:

การโจมตี
สลายตัว
รายการเวลาเป็นวินาทีสำหรับแต่ละช่องสัญญาณที่ระดับ
สัญญาณอินพุตจะถูกเฉลี่ยเพื่อกำหนดระดับเสียง การโจมตี หมายถึงการเพิ่มปริมาณ
และ สลายตัว หมายถึงปริมาณที่ลดลง สำหรับสถานการณ์ส่วนใหญ่ เวลาโจมตี
(ตอบสนองต่อเสียงที่ดังขึ้น) ควรจะสั้นกว่าเวลาที่สลายเพราะ
หูของมนุษย์มีความไวต่อเสียงที่ดังกระทันหันมากกว่าเสียงเบาอย่างกะทันหัน แบบฉบับ
ค่าของการโจมตีคือ 0.3 วินาที และค่าปกติของการสลายตัวคือ 0.8 วินาที ถ้า
กำหนดจำนวนโจมตี & สลายตัว ต่ำกว่าจำนวนช่องชุดสุดท้าย
การโจมตี/สลายจะใช้สำหรับช่องที่เหลือทั้งหมด

จุด
รายการคะแนนสำหรับฟังก์ชันการถ่ายโอนที่ระบุเป็น dB ที่สัมพันธ์กับค่าสูงสุด
ความกว้างของสัญญาณที่เป็นไปได้ รายการประเด็นสำคัญแต่ละรายการจะต้องกำหนดโดยใช้สิ่งต่อไปนี้
ไวยากรณ์: "x0/y0|x1/y1|x2/y2|...." หรือ "x0/y0 x1/y1 x2/y2 ...."

ค่าอินพุตต้องอยู่ในลำดับที่เพิ่มขึ้นอย่างเคร่งครัด แต่ฟังก์ชันการถ่ายโอนไม่
ไม่จำเป็นต้องเพิ่มขึ้นอย่างน่าเบื่อ ถือว่าจุด "0/0" แต่อาจถูกแทนที่
(โดย "0/out-dBn") ค่าทั่วไปสำหรับฟังก์ชันการถ่ายโอนคือ "-70/-70|-60/-20"

เข่าอ่อน
กำหนดรัศมีโค้งเป็น dB สำหรับข้อต่อทั้งหมด ค่าเริ่มต้นคือ 0.01

ได้รับ
ตั้งค่าเกนเพิ่มเติมเป็น dB ที่จะใช้ในทุกจุดบนฟังก์ชันการถ่ายโอน
ซึ่งช่วยให้ปรับเกนโดยรวมได้ง่าย มีค่าเริ่มต้นเป็น 0

ปริมาณ
ตั้งค่าระดับเสียงเริ่มต้นในหน่วย dB ที่จะใช้สำหรับแต่ละช่องสัญญาณเมื่อเริ่มการกรอง
อนุญาตให้ผู้ใช้ระบุระดับเริ่มต้น ตัวอย่างเช่น a
เกนขนาดใหญ่มากไม่ได้ใช้กับระดับสัญญาณเริ่มต้นก่อนที่จะมีการเปรียบเทียบ
เริ่มดำเนินการ ค่าปกติของเสียงที่เงียบในตอนแรกคือ -90 dB มัน
ค่าเริ่มต้นเป็น 0

ความล่าช้า
ตั้งค่าการหน่วงเวลาเป็นวินาที เสียงอินพุตจะถูกวิเคราะห์ทันที แต่เสียงล่าช้า
ก่อนป้อนเข้าสู่ตัวปรับระดับเสียง การระบุการหน่วงเวลาโดยประมาณเท่ากับ
เวลาโจมตี/สลายตัวช่วยให้ตัวกรองทำงานได้อย่างมีประสิทธิภาพในการคาดการณ์มากกว่า
โหมดปฏิกิริยา มีค่าเริ่มต้นเป็น 0

ตัวอย่าง

· ทำเพลงด้วยท่อนที่เบาและดังเหมาะสำหรับการฟังในที่ที่มีเสียงดัง
สภาพแวดล้อม:

compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2

อีกตัวอย่างหนึ่งของเสียงที่มีเสียงกระซิบและส่วนการระเบิด:

compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0

· ประตูกันเสียงเมื่อเสียงรบกวนอยู่ในระดับต่ำกว่าสัญญาณ:

compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1

· นี่เป็นประตูกันเสียงอีกบานหนึ่ง คราวนี้เมื่อเสียงรบกวนอยู่ในระดับที่สูงกว่า
สัญญาณ (ทำให้คล้ายกับ squelch ในบางวิธี):

compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1

ดีซีชิฟต์
ใช้ DC shift กับเสียง

สิ่งนี้มีประโยชน์ในการลบ DC offset (อาจเกิดจากปัญหาฮาร์ดแวร์ใน
ห่วงโซ่การบันทึก) จากเสียง ผลกระทบของ DC offset จะลดลง headroom และด้วยเหตุนี้
ปริมาณ. NS แอสต้าส สามารถใช้ตัวกรองเพื่อตรวจสอบว่าสัญญาณมี DC offset หรือไม่

เปลี่ยน
ตั้งค่า DC shift ช่วงที่อนุญาตคือ [-1, 1] มันบ่งชี้จำนวนเงินที่จะเลื่อน
เสียง

จำกัด
ไม่จำเป็น. ควรมีค่าน้อยกว่า 1 มาก (เช่น 0.05 หรือ 0.02) และใช้กับ
ป้องกันการหนีบ

แบบไดนามิก
ไดนามิกเสียง Normalizer

ตัวกรองนี้ใช้อัตราขยายจำนวนหนึ่งกับเสียงอินพุตเพื่อเพิ่มค่าสูงสุด
ขนาดถึงระดับเป้าหมาย (เช่น 0 dBFS) อย่างไรก็ตาม ตรงกันข้ามกับ "เรียบง่าย" มากกว่า
อัลกอริธึมการทำให้เป็นมาตรฐาน Dynamic Audio Normalizer * ไดนามิก * ปรับอัตราขยายใหม่
ปัจจัยของเสียงอินพุต ซึ่งช่วยให้สามารถใช้กำไรพิเศษกับส่วนที่ "เงียบ" ของ
เสียงในขณะที่หลีกเลี่ยงการบิดเบือนหรือตัดส่วนที่ "ดัง" กล่าวอีกนัยหนึ่ง: The
Dynamic Audio Normalizer จะ "ทำให้" ระดับเสียงของส่วนที่เงียบและดังใน
รู้สึกว่าปริมาณของแต่ละส่วนถูกนำไปยังระดับเป้าหมายเดียวกัน หมายเหตุ อย่างไรก็ตาม
ว่า Dynamic Audio Normalizer บรรลุเป้าหมายนี้ *โดยไม่ต้องใช้ "ช่วงไดนามิก
บีบอัด" มันจะรักษาช่วงไดนามิก 100% * ภายใน * แต่ละส่วนของเสียง
ไฟล์

f กำหนดความยาวเฟรมเป็นมิลลิวินาที ในช่วงตั้งแต่ 10 ถึง 8000 มิลลิวินาที ค่าเริ่มต้น
คือ 500 มิลลิวินาที Dynamic Audio Normalizer ประมวลผลเสียงอินพุตในขนาดเล็ก
ชิ้นที่เรียกว่าเฟรม นี่เป็นสิ่งจำเป็นเพราะขนาดสูงสุดไม่มี
หมายถึงค่าตัวอย่างเพียงค่าเดียว เราต้องกำหนดจุดสูงสุดแทน
ขนาดสำหรับลำดับค่าตัวอย่างที่ต่อเนื่องกัน ในขณะที่นอร์มัลไลเซอร์ "มาตรฐาน"
จะใช้ขนาดสูงสุดของไฟล์ที่สมบูรณ์ Dynamic Audio Normalizer
กำหนดขนาดสูงสุดแยกกันสำหรับแต่ละเฟรม ความยาวของกรอบคือ
ระบุเป็นมิลลิวินาที ตามค่าเริ่มต้น Dynamic Audio Normalizer จะใช้ frame
ความยาว 500 มิลลิวินาที ซึ่งพบว่าให้ผลลัพธ์ที่ดีกับไฟล์ส่วนใหญ่
โปรดทราบว่าความยาวเฟรมที่แน่นอนในจำนวนตัวอย่างจะถูกกำหนด
โดยอัตโนมัติตามอัตราการสุ่มตัวอย่างไฟล์เสียงอินพุตแต่ละไฟล์

g กำหนดขนาดหน้าต่างตัวกรองเกาส์เซียน ในช่วงตั้งแต่ 3 ถึง 301 ต้องเป็นเลขคี่
ค่าเริ่มต้นคือ 31 อาจเป็นพารามิเตอร์ที่สำคัญที่สุดของ Dynamic Audio Normalizer
คือ "ขนาดหน้าต่าง" ของฟิลเตอร์ปรับผิวเรียบแบบเกาส์เซียน ขนาดหน้าต่างของตัวกรองคือ
ระบุไว้ในเฟรม โดยให้อยู่กึ่งกลางรอบเฟรมปัจจุบัน เพื่อประโยชน์ของความเรียบง่าย,
นี่ต้องเป็นเลขคี่ ดังนั้นค่าเริ่มต้นของ 31 คำนึงถึง
เฟรมปัจจุบัน เช่นเดียวกับเฟรมก่อนหน้า 15 เฟรม และเฟรมถัดไป 15 เฟรม
การใช้หน้าต่างที่ใหญ่ขึ้นจะส่งผลให้เอฟเฟกต์เรียบขึ้นและทำให้ได้กำไรน้อยลง
การเปลี่ยนแปลง กล่าวคือ ปรับตัวได้ช้ากว่า ในทางกลับกัน การใช้หน้าต่างที่เล็กกว่าจะส่งผลให้
เอฟเฟกต์การปรับให้เรียบที่อ่อนแอกว่าและทำให้เกิดการเปลี่ยนแปลงที่มากขึ้น กล่าวคือ ได้กำไรเร็วขึ้น
การปรับตัว กล่าวอีกนัยหนึ่งยิ่งคุณเพิ่มค่านี้มากเท่าไหร่ Dynamic . ก็ยิ่งมากขึ้นเท่านั้น
Audio Normalizer จะทำงานเหมือนตัวกรองการทำให้เป็นมาตรฐาน "ดั้งเดิม" บน
ตรงกันข้าม ยิ่งลดค่านี้มากเท่าไหร่ Dynamic Audio Normalizer ก็จะยิ่งมากขึ้น
ทำตัวเหมือนคอมเพรสเซอร์ช่วงไดนามิก

p ตั้งค่าเป้าหมายสูงสุด ระบุระดับขนาดสูงสุดที่อนุญาตสำหรับ
อินพุตเสียงปกติ ตัวกรองนี้จะพยายามเข้าใกล้ขนาดสูงสุดของเป้าหมาย
ให้ใกล้เคียงที่สุด แต่ในขณะเดียวกันก็ทำให้แน่ใจได้ว่าค่าปกติ
สัญญาณจะไม่เกินขนาดสูงสุด ปัจจัยเกนสูงสุดของเฟรมคือ
กำหนดโดยตรงโดยขนาดสูงสุดของเป้าหมาย ค่าเริ่มต้นคือ 0.95 ดังนั้น
เหลือพื้นที่ว่างไว้ 5%* ไม่แนะนำให้เกินค่านี้

m ตั้งค่าปัจจัยเกนสูงสุด อยู่ในช่วง 1.0 ถึง 100.0 ค่าเริ่มต้นคือ 10.0 ไดนามิก
Audio Normalizer กำหนดปัจจัยเกนสูงสุดที่เป็นไปได้ (ในเครื่อง) สำหรับแต่ละอินพุต
เฟรมคือปัจจัยเกนสูงสุดที่ไม่ส่งผลให้เกิดการตัดหรือการบิดเบือน
ค่าเกนสูงสุดกำหนดโดยตัวอย่างที่มีขนาดสูงสุดของเฟรม
อย่างไรก็ตาม Dynamic Audio Normalizer ยัง จำกัด อัตราขยายสูงสุดของเฟรม
ปัจจัยโดยปัจจัยเกนสูงสุดที่กำหนดไว้ (ทั่วโลก) นี้ทำเพื่อหลีกเลี่ยง
ปัจจัยเกนที่มากเกินไปในเฟรม "เงียบ" หรือเกือบเงียบ โดยค่าเริ่มต้น ค่าสูงสุด
ปัจจัยที่ได้รับคือ 10.0 สำหรับอินพุตส่วนใหญ่ ค่าเริ่มต้นควรเพียงพอและมัน
มักจะไม่แนะนำให้เพิ่มค่านี้ แม้ว่าสำหรับการป้อนข้อมูลที่มีมาก
ระดับเสียงโดยรวมต่ำ อาจจำเป็นต้องยอมให้มีปัจจัยเกนที่สูงกว่า บันทึก,
อย่างไรก็ตาม Dynamic Audio Normalizer ไม่ได้เพียงแค่ใช้เกณฑ์ "ยาก" เท่านั้น
(เช่นตัดค่าที่สูงกว่าเกณฑ์) แทน ฟังก์ชันขีดจำกัด "sigmoid"
จะถูกนำไปใช้ ด้วยวิธีนี้ปัจจัยเกนจะเข้าใกล้เกณฑ์อย่างราบรื่น
มูลค่า แต่ไม่เกินค่านั้น

r ตั้งค่า RMS เป้าหมาย อยู่ในช่วง 0.0 ถึง 1.0 ค่าเริ่มต้นคือ 0.0 - ปิดใช้งาน โดยค่าเริ่มต้น,
Dynamic Audio Normalizer ทำการนอร์มัลไลซ์ "พีค" ซึ่งหมายความว่า
ปัจจัยเกนสูงสุดในพื้นที่สำหรับแต่ละเฟรมถูกกำหนด (เท่านั้น) โดยสูงสุดของเฟรม
ตัวอย่างขนาด ด้วยวิธีนี้ จะสามารถขยายตัวอย่างได้มากที่สุดโดยไม่ต้อง
เกินระดับสัญญาณสูงสุด กล่าวคือ ไม่มีการตัดทอน อย่างไรก็ตาม ทางเลือก
Dynamic Audio Normalizer ยังสามารถพิจารณาค่ากำลังสองรูตของเฟรมด้วย
RMS ย่อ ในทางวิศวกรรมไฟฟ้า RMS มักใช้เพื่อกำหนด
พลังของสัญญาณแปรผันตามเวลา จึงถือว่า RMS ดีกว่า
ค่าประมาณของ "ความดังที่รับรู้" มากกว่าแค่การมองที่จุดสูงสุดของสัญญาณ
ขนาด. ดังนั้นโดยการปรับเฟรมทั้งหมดให้เป็นค่า RMS คงที่ เครื่องแบบ
สามารถกำหนด "ความดังที่รับรู้" ได้ หากมีการระบุค่า RMS เป้าหมาย a
ปัจจัยที่ได้รับในพื้นที่ของเฟรมถูกกำหนดให้เป็นปัจจัยที่จะส่งผลให้สิ่งนั้น
ค่า RMS อย่างไรก็ตาม โปรดทราบว่าปัจจัยเกนสูงสุดในพื้นที่ยังคงถูกจำกัดโดย
ตัวอย่างขนาดสูงสุดของเฟรม เพื่อป้องกันการตัด

n เปิดใช้งานการเชื่อมต่อช่อง โดยค่าเริ่มต้นจะเปิดใช้งาน โดยค่าเริ่มต้น Dynamic Audio
Normalizer จะขยายช่องทั้งหมดด้วยจำนวนเท่ากัน นี้หมายถึงกำไรเดียวกัน
ปัจจัยจะถูกนำไปใช้กับทุกช่องทางคือปัจจัยที่ได้รับสูงสุดคือ
กำหนดโดยช่อง "ดังที่สุด" อย่างไรก็ตาม ในการบันทึกเสียงบางรายการ อาจเกิดขึ้นได้ว่า
ระดับเสียงของช่องต่าง ๆ ไม่เท่ากัน เช่น ช่องหนึ่งอาจ "เงียบกว่า" กว่า
อีกคนหนึ่ง ในกรณีนี้ สามารถใช้ตัวเลือกนี้เพื่อปิดใช้งานช่องสัญญาณได้
การมีเพศสัมพันธ์ ด้วยวิธีนี้ปัจจัยเกนจะถูกกำหนดอย่างอิสระสำหรับแต่ละช่อง
ขึ้นอยู่กับกลุ่มตัวอย่างที่มีขนาดสูงสุดของแต่ละแชนเนลเท่านั้น นี้ช่วยให้สำหรับ
ประสานเสียงของช่องต่างๆ

c เปิดใช้งานการแก้ไขอคติ DC โดยค่าเริ่มต้นจะถูกปิดการใช้งาน สัญญาณเสียง (ในเวลา
โดเมน) เป็นลำดับของค่าตัวอย่าง ใน Dynamic Audio Normalizer ตัวอย่างเหล่านี้
ค่าจะแสดงในช่วง -1.0 ถึง 1.0 โดยไม่คำนึงถึงอินพุตเดิม
รูปแบบ. โดยปกติสัญญาณเสียงหรือ "รูปคลื่น" ควรอยู่กึ่งกลางรอบศูนย์
จุด. นั่นหมายความว่าถ้าเราคำนวณค่าเฉลี่ยของกลุ่มตัวอย่างทั้งหมดในไฟล์หรือในa
เฟรมเดียว ผลลัพธ์ควรเป็น 0.0 หรืออย่างน้อยก็ใกล้เคียงกับค่านั้นมาก ถ้า,
อย่างไรก็ตาม มีการเบี่ยงเบนอย่างมีนัยสำคัญของค่าเฉลี่ยจาก 0.0 ในค่าใดค่าหนึ่ง
ทิศทางบวกหรือลบ นี่เรียกว่า DC bias หรือ DC offset ตั้งแต่
ความเอนเอียงของ DC นั้นไม่เป็นที่พึงปรารถนาอย่างชัดเจน Dynamic Audio Normalizer ให้ตัวเลือก DC แบบอคติ
การแก้ไข เมื่อเปิดใช้งานการแก้ไขอคติ DC Dynamic Audio Normalizer จะ
กำหนดค่าเฉลี่ยหรือชดเชย "การแก้ไข DC" ของแต่ละเฟรมอินพุตและการลบ
ค่านั้นจากค่าตัวอย่างทั้งหมดของเฟรมซึ่งทำให้แน่ใจได้ว่าตัวอย่างเหล่านั้นคือ
อยู่กึ่งกลางรอบ 0.0 อีกครั้ง นอกจากนี้ เพื่อหลีกเลี่ยง "ช่องว่าง" ที่ขอบเขตของเฟรม
ค่าออฟเซ็ตการแก้ไข DC จะถูกสอดแทรกอย่างราบรื่นระหว่างเฟรมที่อยู่ใกล้เคียง

b เปิดใช้งานโหมดขอบเขตทางเลือก โดยค่าเริ่มต้นจะถูกปิดการใช้งาน เสียงไดนามิก
Normalizer คำนึงถึงพื้นที่ใกล้เคียงรอบ ๆ แต่ละเฟรม ซึ่งรวมถึง
เฟรมก่อนหน้าและเฟรมถัดไป อย่างไรก็ตาม สำหรับ "ขอบเขต"
เฟรม ซึ่งอยู่ที่จุดเริ่มต้นและจุดสิ้นสุดของไฟล์เสียง ไม่ใช่ทั้งหมด
เฟรมที่อยู่ใกล้เคียงมีอยู่ โดยเฉพาะสำหรับสองสามเฟรมแรกใน
ไฟล์เสียง เฟรมก่อนหน้าไม่เป็นที่รู้จัก และในทำนองเดียวกัน สำหรับช่วงหลังๆ นี้
เฟรมในไฟล์เสียง เฟรมที่ตามมาไม่เป็นที่รู้จัก ดังนั้น คำถาม
เกิดขึ้นซึ่งปัจจัยเกนควรสันนิษฐานสำหรับเฟรมที่ขาดหายไปใน "ขอบเขต"
ภาค. Dynamic Audio Normalizer ใช้สองโหมดเพื่อจัดการกับสถานการณ์นี้
โหมดขอบเขตเริ่มต้นถือว่าปัจจัยเกนเป็น 1.0 สำหรับเฟรมที่ขาดหายไป
ส่งผลให้ "จางเข้า" และ "จางหายไป" อย่างราบรื่นในตอนต้นและตอนท้ายของ
อินพุตตามลำดับ

s ตั้งค่าตัวประกอบการบีบอัด อยู่ในช่วง 0.0 ถึง 30.0 ค่าเริ่มต้นคือ 0.0 โดยค่าเริ่มต้น the
Dynamic Audio Normalizer ไม่ใช้การบีบอัด "ดั้งเดิม" หมายความว่า
จุดสูงสุดของสัญญาณจะไม่ถูกตัดแต่งและทำให้ช่วงไดนามิกเต็มจะถูกเก็บไว้
ในแต่ละพื้นที่ใกล้เคียง อย่างไรก็ตาม ในบางกรณีอาจเป็นที่พึงปรารถนาที่จะรวม
อัลกอริธึมการทำให้เป็นมาตรฐานของ Dynamic Audio Normalizer ที่มี "ดั้งเดิม" มากกว่า
การบีบอัด เพื่อจุดประสงค์นี้ Dynamic Audio Normalizer มีตัวเลือก
ฟังก์ชั่นการบีบอัด (เกณฑ์) ถ้า (และก็ต่อเมื่อ) คุณลักษณะการบีบอัดคือ
เปิดใช้งาน เฟรมอินพุตทั้งหมดจะถูกประมวลผลโดยฟังก์ชันกำหนดข้อเข่าที่นุ่มนวลก่อน
สู่กระบวนการทำให้เป็นมาตรฐานที่แท้จริง พูดง่ายๆ คือ ฟังก์ชันขีดจำกัดกำลังไปที่
ตัดตัวอย่างทั้งหมดที่มีขนาดเกินค่าเกณฑ์ที่กำหนด อย่างไรก็ตาม
Dynamic Audio Normalizer ไม่เพียงแต่ใช้ค่าเกณฑ์คงที่ แทน
ค่าเกณฑ์จะถูกปรับสำหรับแต่ละเฟรม โดยทั่วไปเล็กกว่า
พารามิเตอร์ส่งผลให้มีการบีบอัดที่แข็งแกร่งขึ้น และในทางกลับกัน ค่าที่ต่ำกว่า 3.0 ไม่ใช่
แนะนํา เนื่องจากอาจเกิดความเพี้ยนของเสียง

ขี้หู
ทำให้การฟังเสียงบนหูฟังง่ายขึ้น

ตัวกรองนี้เพิ่ม `ตัวชี้นำ' ให้กับเสียงสเตอริโอ 44.1kHz (เช่น รูปแบบซีดีเพลง) เพื่อที่ว่าเมื่อ
ฟังบนหูฟัง ภาพสเตอริโอจะถูกย้ายจากในหัวของคุณ (มาตรฐานสำหรับ
หูฟัง) ไปด้านนอกและด้านหน้าผู้ฟัง (มาตรฐานสำหรับลำโพง)

ย้ายมาจาก SoX

ควอไลเซอร์
ใช้ตัวกรองอีควอไลเซอร์สองขั้ว (EQ) ด้วยตัวกรองนี้ ระดับสัญญาณที่
และรอบความถี่ที่เลือกสามารถเพิ่มขึ้นหรือลดลงได้ในขณะที่ (ต่างจากแบนด์พาสและ
ตัวกรองแบนด์รีเจกต์) ที่ความถี่อื่นไม่เปลี่ยนแปลง

เพื่อสร้างเส้นโค้งอีควอไลเซอร์ที่ซับซ้อน ตัวกรองนี้สามารถกำหนดได้หลายครั้ง
แต่ละตัวมีความถี่กลางต่างกัน

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความถี่, f
ตั้งค่าความถี่กลางของตัวกรองเป็น Hz

width_type
กำหนดวิธีการระบุแบนด์วิดธ์ของตัวกรอง

h Hz

q Q-ปัจจัย

o ระดับแปดเสียง

s ลาด

ความกว้าง w
ระบุแบนด์วิดธ์ของตัวกรองในหน่วย width_type

ได้รับ, g
ตั้งค่าเกนหรือการลดทอนที่ต้องการในหน่วย dB ระวังการตัดเมื่อใช้ค่าบวก
ได้รับ

ตัวอย่าง

· ลดทอน 10 dB ที่ 1000 Hz ด้วยแบนด์วิดท์ 200 Hz:

อีควอไลเซอร์=f=1000:width_type=h:width=200:g=-10

· ใช้เกน 2 dB ที่ 1000 Hz กับ Q 1 และลดทอน 5 dB ที่ 100 Hz ด้วย Q 2:

equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5

หน้าแปลน
ใช้เอฟเฟกต์การจับเจ่ากับเสียง

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความล่าช้า
ตั้งค่าการหน่วงเวลาฐานเป็นมิลลิวินาที ช่วงตั้งแต่ 0 ถึง 30 ค่าเริ่มต้นคือ 0

ความลึก
ตั้งค่าหน่วงเวลาการกวาดเพิ่มเป็นมิลลิวินาที ช่วงตั้งแต่ 0 ถึง 10 ค่าเริ่มต้นคือ 2

ฝนตก
ตั้งค่าเปอร์เซ็นต์การสร้างใหม่ (การตอบสนองสัญญาณล่าช้า) ช่วงตั้งแต่ -95 ถึง 95 Default
ค่าคือ 0

ความกว้าง
กำหนดเปอร์เซ็นต์ของสัญญาณล่าช้าผสมกับต้นฉบับ ช่วงตั้งแต่ 0 ถึง 100 Default
ค่าคือ 71

ความเร็ว
ตั้งค่าการกวาดต่อวินาที (Hz) ช่วงตั้งแต่ 0.1 ถึง 10 ค่าเริ่มต้นคือ 0.5

รูปร่าง
กำหนดรูปคลื่นกวาดได้ เป็นรูปสามเหลี่ยม or ไซนัส. ค่าเริ่มต้นคือ ไซนัส.

ระยะ
ตั้งค่าเปอร์เซ็นการเลื่อนของคลื่นกวาดสำหรับหลายช่องสัญญาณ ช่วงตั้งแต่ 0 ถึง 100 ค่าเริ่มต้น
คือ 25

ฝึกงาน
ตั้งค่าการแก้ไขสายล่าช้า เชิงเส้น or กำลังสอง. ค่าเริ่มต้นคือ เชิงเส้น.

ไฮพาส
ใช้ตัวกรองความถี่สูงผ่านที่มีความถี่จุด 3dB ตัวกรองสามารถเป็นขั้วเดียว
หรือสองขั้ว (ค่าเริ่มต้น) ตัวกรองม้วนออกที่ 6dB ต่อเสาต่ออ็อกเทฟ (20dB ต่อ
ต่อทศวรรษ)

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความถี่, f
ตั้งค่าความถี่เป็น Hz ค่าเริ่มต้นคือ 3000

เสา, p
กำหนดจำนวนเสา ค่าเริ่มต้นคือ 2

width_type
กำหนดวิธีการระบุแบนด์วิดธ์ของตัวกรอง

h Hz

q Q-ปัจจัย

o ระดับแปดเสียง

s ลาด

ความกว้าง w
ระบุแบนด์วิดธ์ของตัวกรองในหน่วย width_type ใช้เฉพาะกับขั้วสองขั้ว
กรอง. ค่าเริ่มต้นคือ 0.707q และให้การตอบสนอง Butterworth

ร่วม
รวมอินพุตสตรีมหลายช่องเป็นสตรีมหลายช่องสัญญาณเดียว

ยอมรับพารามิเตอร์ต่อไปนี้:

ปัจจัยการผลิต
จำนวนอินพุตสตรีม มีค่าเริ่มต้นเป็น 2

channel_layout
เค้าโครงช่องสัญญาณออกที่ต้องการ ค่าเริ่มต้นเป็นสเตอริโอ

แผนที่ แมปช่องสัญญาณจากอินพุตไปยังเอาต์พุต อาร์กิวเมนต์เป็นรายการการแมปที่คั่นด้วย '|'
ในแต่ละ "input_idx.in_channel-out_channel" ฟอร์ม input_idx เป็นดัชนีตาม 0 ของ
กระแสอินพุต ใน_ช่อง สามารถเป็นชื่อของช่องสัญญาณเข้า (เช่น FL for
ด้านหน้าซ้าย) หรือดัชนีในสตรีมอินพุตที่ระบุ ออก_ช่อง เป็นชื่อของ
ช่องสัญญาณออก

ตัวกรองจะพยายามเดาการแมปเมื่อไม่ได้ระบุอย่างชัดเจน มัน
ทำได้โดยพยายามค้นหาช่องสัญญาณเข้าที่ตรงกันที่ไม่ได้ใช้ก่อนและหากล้มเหลว
เลือกช่องสัญญาณอินพุตแรกที่ไม่ได้ใช้

เข้าร่วม 3 อินพุต (พร้อมเลย์เอาต์ของช่องที่ตั้งค่าไว้อย่างเหมาะสม):

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex เข้าร่วม=อินพุต=3 เอาต์พุต

สร้างเอาต์พุต 5.1 จากสตรีม 6 ช่องสัญญาณเดียว:

ffmpeg -i fl -i fr -i fc -i sl -i sr -i lfe -filter_complex
'join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-SL|4.0-SR|5.0-LFE'
ออก

ลัดสปา
โหลดปลั๊กอิน LADSPA (Linux Audio Developer's Simple Plugin API)

ในการเปิดใช้งานการรวบรวมตัวกรองนี้ คุณต้องกำหนดค่า FFmpeg ด้วย "--enable-ladspa"

ไฟล์, f
ระบุชื่อของไลบรารีปลั๊กอิน LADSPA ที่จะโหลด ถ้าตัวแปรสภาพแวดล้อม
LADSPA_PATH ถูกกำหนดไว้แล้ว ปลั๊กอิน LADSPA จะถูกค้นหาในแต่ละไดเร็กทอรี
ระบุโดยรายการคั่นทวิภาคใน LADSPA_PATHมิฉะนั้นตามมาตรฐาน LADSPA
เส้นทางซึ่งอยู่ในลำดับนี้: หน้าแรก/.ladspa/lib/, /usr/local/lib/ladspa/,
/usr/lib/ลาดสปา/.

ปลั๊กอิน, p
ระบุปลั๊กอินภายในไลบรารี ห้องสมุดบางแห่งมีปลั๊กอินเพียงตัวเดียว แต่
อื่น ๆ มีหลายคน หากไม่ได้ตั้งค่าตัวกรองจะแสดงรายการปลั๊กอินที่มีอยู่ทั้งหมด
ภายในห้องสมุดที่กำหนด

การควบคุม c
ตั้งค่า '|' แยกรายการควบคุมที่เป็นศูนย์หรือมากกว่าค่าทศนิยม
ที่กำหนดพฤติกรรมของปลั๊กอินที่โหลด (เช่น หน่วงเวลา ขีดจำกัด หรือ
ได้รับ). การควบคุมจำเป็นต้องกำหนดโดยใช้ไวยากรณ์ต่อไปนี้:
ค0=ค่า 0|c1=ค่า 1|c2=ค่า 2|...ที่ไหน ความคุ้มค่า เป็นค่าที่ตั้งไว้บน i- การควบคุม
If การควบคุม ถูกตั้งค่าเป็น "ช่วยเหลือ" การควบคุมที่มีอยู่ทั้งหมดและช่วงที่ถูกต้องคือ
พิมพ์

อัตราการสุ่มตัวอย่าง s
ระบุอัตราตัวอย่าง ค่าเริ่มต้นเป็น 44100 ใช้เฉพาะเมื่อปลั๊กอินไม่มีอินพุต

nb_ตัวอย่าง, n
ตั้งค่าจำนวนตัวอย่างต่อช่องสัญญาณต่อแต่ละเฟรมเอาต์พุต ค่าเริ่มต้นคือ 1024 เท่านั้น
ใช้หากปลั๊กอินมีอินพุตเป็นศูนย์

ระยะเวลา, d
กำหนดระยะเวลาขั้นต่ำของเสียงที่มา ดู เวลา ระยะเวลา ส่วน in
ffmpeg-ยูทิลิตี้(1) คู่มือ สำหรับไวยากรณ์ที่ยอมรับ โปรดทราบว่าระยะเวลาผลลัพธ์อาจ
มากกว่าระยะเวลาที่กำหนด เนื่องจากเสียงที่สร้างขึ้นจะถูกตัดที่ . เสมอ
จุดสิ้นสุดของเฟรมที่สมบูรณ์ หากไม่ระบุไว้ หรือระยะเวลาที่แสดงเป็นค่าลบ ค่า
เสียงควรจะถูกสร้างขึ้นตลอดไป ใช้เฉพาะในกรณีที่ปลั๊กอินมีอินพุตเป็นศูนย์เท่านั้น

ตัวอย่าง

· แสดงรายการปลั๊กอินที่มีอยู่ทั้งหมดภายในไลบรารี amp (ปลั๊กอินตัวอย่าง LADSPA):

ladspa=file=amp

· แสดงรายการการควบคุมที่มีอยู่ทั้งหมดและช่วงที่ถูกต้องสำหรับปลั๊กอิน "vcf_notch" จาก "VCF"
ห้องสมุด:

ladspa=f=vcf:p=vcf_not:c=help

· จำลองอุปกรณ์เสียงคุณภาพต่ำโดยใช้ปลั๊กอิน "Computer Music Toolkit" (CMT)
ห้องสมุด:

ladspa=file=cmt:plugin=lofi:controls=c0=22|c1=12|c2=12

· เพิ่มเสียงก้องให้กับเสียงโดยใช้ปลั๊กอิน TAP (ปลั๊กอินการประมวลผลเสียงของ Tom):

ladspa=file=tap_reverb:tap_reverb

· สร้างเสียงสีขาว ด้วยแอมพลิจูด 0.2:

ladspa=file=cmt:noise_source_white:c=c0=.2

· สร้าง 20 bpm คลิกโดยใช้ปลั๊กอิน "C* Click - Metronome" จาก "C* Audio Plugin
ห้องสมุด" (CAPS):

ladspa=file=caps:Click:c=c1=20'

· ใช้เอฟเฟกต์ "C* Eq10X2 - อีควอไลเซอร์สเตอริโอ 10 แบนด์":

ladspa=caps:Eq10X2:c=c0=-48|c9=-24|c3=12|c4=2

คำสั่ง

ตัวกรองนี้สนับสนุนคำสั่งต่อไปนี้:

cN ปรับเปลี่ยน Nค่าควบคุมที่

หากค่าที่ระบุไม่ถูกต้อง ค่านั้นจะถูกละเว้นและค่าก่อนหน้าจะถูกเก็บไว้

โลว์พาส
ใช้ตัวกรองความถี่ต่ำผ่านที่มีความถี่จุด 3dB ตัวกรองสามารถเป็นขั้วเดียวหรือ
สองขั้ว (ค่าเริ่มต้น) ตัวกรองม้วนออกที่ 6dB ต่อเสาต่ออ็อกเทฟ (20dB ต่อเสา
ต่อทศวรรษ)

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความถี่, f
ตั้งค่าความถี่เป็น Hz ค่าเริ่มต้นคือ 500

เสา, p
กำหนดจำนวนเสา ค่าเริ่มต้นคือ 2

width_type
กำหนดวิธีการระบุแบนด์วิดธ์ของตัวกรอง

h Hz

q Q-ปัจจัย

o ระดับแปดเสียง

s ลาด

ความกว้าง w
ระบุแบนด์วิดธ์ของตัวกรองในหน่วย width_type ใช้เฉพาะกับขั้วสองขั้ว
กรอง. ค่าเริ่มต้นคือ 0.707q และให้การตอบสนอง Butterworth

กะทะ
ผสมผสานช่องที่มีระดับกำไรเฉพาะ ตัวกรองยอมรับเค้าโครงช่องสัญญาณออก
ตามด้วยชุดคำจำกัดความของช่อง

ตัวกรองนี้ยังได้รับการออกแบบเพื่อทำการแมปช่องของสตรีมเสียงใหม่อย่างมีประสิทธิภาพ

ตัวกรองยอมรับพารามิเตอร์ของแบบฟอร์ม: "l|ดีกว่า|ดีกว่า|..."

l รูปแบบช่องสัญญาณออกหรือจำนวนช่อง

ดีกว่า
ข้อมูลจำเพาะของช่องสัญญาณเอาต์พุต ของแบบฟอร์ม:
"out_name=[ได้รับ*]ใน_ชื่อ-ได้รับ*]ใน_ชื่อ...]"

out_name
ช่องสัญญาณออกเพื่อกำหนด ชื่อช่อง (FL, FR ฯลฯ) หรือหมายเลขช่อง
(c0, c1, ฯลฯ )

ได้รับ
ค่าสัมประสิทธิ์การคูณสำหรับช่องสัญญาณ 1 ปล่อยให้ปริมาตรไม่เปลี่ยนแปลง

ใน_ชื่อ
ช่องทางเข้าใช้งานดูรายละเอียด out_name; ไม่สามารถผสมชื่อและ
ช่องอินพุตตัวเลข

หาก `=' ในข้อกำหนดเฉพาะของช่องถูกแทนที่ด้วย `<' แสดงว่ากำไรนั้น
สเปคจะถูกปรับให้เป็นมาตรฐานใหม่เพื่อให้ผลรวมเป็น 1 เพื่อหลีกเลี่ยงเสียงรบกวน

การผสม ตัวอย่าง

ตัวอย่างเช่น หากคุณต้องการดาวน์มิกซ์จากสเตอริโอเป็นโมโน แต่มีปัจจัยที่มากกว่าสำหรับ
ช่องซ้าย:

pan=1c|c0=0.9*c0+0.1*c1

ดาวน์มิกซ์แบบปรับแต่งเป็นสเตอริโอที่ทำงานอัตโนมัติสำหรับ 3-, 4-, 5- และ 7-channels
ล้อมรอบ:

แพน=สเตอริโอ| FL < FL + 0.5*FC + 0.6*BL + 0.6*SL | FR < FR + 0.5*FC + 0.6*BR + 0.6*SR

โปรดทราบว่า ffmpeg รวมระบบดาวน์มิกซ์เริ่มต้น (และอัพมิกซ์) ที่ควรจะเป็น
ที่ต้องการ (ดูตัวเลือก "-ac") เว้นแต่ว่าคุณมีความต้องการเฉพาะเจาะจงมาก

remapping ตัวอย่าง

การรีแมปช่องจะมีผลก็ต่อเมื่อ:

*
*

หากตรงตามเงื่อนไขเหล่านี้ทั้งหมด ตัวกรองจะแจ้งให้ผู้ใช้ทราบ ("ช่องเพียว
ตรวจพบการแมป") และใช้วิธีการที่เหมาะสมและไม่สูญเสียเพื่อทำการแมปใหม่

ตัวอย่างเช่น หากคุณมีแหล่งสัญญาณ 5.1 และต้องการสตรีมเสียงสเตอริโอโดยการปล่อยส่วนเสริม
ช่อง:

pan="สเตอริโอ| c0=FL | c1=FR"

จากแหล่งเดียวกัน คุณยังสามารถสลับช่องสัญญาณด้านหน้าซ้ายและขวาและเก็บ
รูปแบบช่องสัญญาณเข้า:

pan="5.1| c0=c1 | c1=c0 | c2=c2 | c3=c3 | c4=c4 | c5=c5"

หากอินพุตเป็นสตรีมเสียงสเตอริโอ คุณสามารถปิดช่องสัญญาณด้านหน้าซ้าย (และยังคงเก็บ
รูปแบบช่องสเตอริโอ) ด้วย:

pan="สเตอริโอ|c1=c1"

ยังคงมีอินพุตสตรีมเสียงสเตอริโอ คุณสามารถคัดลอกช่องสัญญาณด้านขวาทั้งด้านหน้าซ้าย
และขวา:

pan="สเตอริโอ| c0=FR | c1=FR"

เล่นซ้ำ
ตัวกรองสแกนเนอร์ ReplayGain ตัวกรองนี้ใช้สตรีมเสียงเป็นอินพุตและเอาต์พุต
ไม่เปลี่ยนแปลง เมื่อสิ้นสุดการกรอง จะแสดง "track_gain" และ "track_peak"

ตัวอย่าง
แปลงรูปแบบตัวอย่างเสียง อัตราตัวอย่าง และรูปแบบช่องสัญญาณ ไม่ได้ตั้งใจให้เป็น
ใช้โดยตรง

ไซด์เชนบีบอัด
ตัวกรองนี้ทำหน้าที่เหมือนคอมเพรสเซอร์ทั่วไป แต่มีความสามารถในการบีบอัดสัญญาณที่ตรวจพบได้
โดยใช้สัญญาณเข้าที่สอง ต้องการสตรีมอินพุตสองสตรีมและส่งคืนสตรีมเอาต์พุตหนึ่งรายการ
สตรีมอินพุตแรกจะได้รับการประมวลผลขึ้นอยู่กับสัญญาณสตรีมที่สอง ตัวกรอง
จากนั้นสามารถกรองสัญญาณด้วยตัวกรองอื่น ๆ ในการประมวลผลในภายหลัง ดู กะทะ และ
รวมกัน กรอง.

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ธรณีประตู
หากสัญญาณของสตรีมที่สองเพิ่มขึ้นเหนือระดับนี้จะส่งผลต่อการลดเกน
ของสตรีมแรก โดยค่าเริ่มต้นคือ 0.125 ช่วงอยู่ระหว่าง 0.00097563 ถึง 1

อัตราส่วน
กำหนดอัตราส่วนที่จะลดสัญญาณ 1:2 หมายความว่าหากระดับเพิ่มขึ้น 4dB
เหนือเกณฑ์จะสูงกว่า 2dB เท่านั้นหลังจากการลดลง ค่าเริ่มต้นคือ 2
ช่วงอยู่ระหว่าง 1 ถึง 20

โจมตี
จำนวนมิลลิวินาทีที่สัญญาณต้องเพิ่มขึ้นเหนือเกณฑ์ก่อนที่จะได้รับ
เริ่มลด. ค่าเริ่มต้นคือ 20 ช่วงอยู่ระหว่าง 0.01 ถึง 2000

ปล่อย
จำนวนมิลลิวินาทีที่สัญญาณต้องต่ำกว่าเกณฑ์ก่อนที่จะลดลงคือ
ลดลงอีกครั้ง ค่าเริ่มต้นคือ 250 ช่วงอยู่ระหว่าง 0.01 ถึง 9000

แต่งหน้า
กำหนดจำนวนตามจำนวนสัญญาณที่จะขยายหลังจากการประมวลผล ค่าเริ่มต้นคือ 2
ช่วงตั้งแต่ 1 และ 64

หัวเข่า
โค้งเข่าที่แหลมรอบธรณีประตูเพื่อเข้าสู่การลดอัตราขยายอย่างนุ่มนวลยิ่งขึ้น
ค่าเริ่มต้นคือ 2.82843 ช่วงอยู่ระหว่าง 1 ถึง 8

ลิงค์
เลือกว่าระดับ "เฉลี่ย" ระหว่างทุกช่องของสตรีมไซด์เชนหรือ
แชนเนลที่ดังกว่า ("สูงสุด") ของสตรีม side-chain ส่งผลต่อการลดลง ค่าเริ่มต้นคือ
"เฉลี่ย".

การค้นพบ
ควรใช้สัญญาณที่แน่นอนในกรณีของ "พีค" หรือ RMS ในกรณีของ "rms"
ค่าเริ่มต้นคือ "rms" ซึ่งส่วนใหญ่นุ่มนวลกว่า

ตัวอย่าง

· ตัวอย่าง ffmpeg แบบเต็มรับ 2 อินพุตเสียง อินพุตแรกจะถูกบีบอัดขึ้นอยู่กับ
สัญญาณของอินพุตที่ 2 และสัญญาณที่บีบอัดในภายหลังที่จะรวมกับอินพุตที่ 2:

ffmpeg -i main.flac -i sidechain.flac -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress[compr];[compr][mix]amer"

การตรวจจับความเงียบ
ตรวจจับความเงียบในสตรีมเสียง

ตัวกรองนี้จะบันทึกข้อความเมื่อตรวจพบว่าระดับเสียงอินพุตน้อยกว่าหรือเท่ากับ
ค่าความทนทานต่อสัญญาณรบกวนในช่วงเวลาที่มากกว่าหรือเท่ากับเสียงที่ตรวจพบขั้นต่ำ
ระยะเวลา.

เวลาและระยะเวลาที่พิมพ์จะแสดงเป็นวินาที

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ระยะเวลา, d
ตั้งระยะเวลาปิดเสียงจนกว่าจะมีการแจ้งเตือน (ค่าเริ่มต้นคือ 2 วินาที)

เสียงรบกวน, n
ตั้งค่าความทนทานต่อเสียงรบกวน ระบุเป็น dB ได้ (กรณี "dB" ต่อท้ายค่าที่ระบุ
ค่า) หรืออัตราส่วนแอมพลิจูด ค่าเริ่มต้นคือ -60dB หรือ 0.001

ตัวอย่าง

· ตรวจจับความเงียบ 5 วินาทีด้วยความทนทานต่อสัญญาณรบกวน -50dB:

การตรวจจับเสียงเงียบ=n=-50dB:d=5

· กรอกตัวอย่างด้วย ffmpeg เพื่อตรวจจับความเงียบด้วยค่าเผื่อเสียงรบกวน 0.0001 ใน
เงียบ.mp3:

ffmpeg -i silence.mp3 -af ตรวจจับเสียงเงียบ=สัญญาณรบกวน=0.0001 -f null -

ปิดเสียง
ขจัดความเงียบตั้งแต่ต้น กลาง หรือท้ายของเสียง

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

start_คาบ
ค่านี้ใช้เพื่อระบุว่าควรตัดเสียงที่จุดเริ่มต้นของเสียงหรือไม่ อา
ค่าศูนย์บ่งชี้ว่าไม่ควรตัดความเงียบตั้งแต่ต้น เมื่อไหร่
โดยระบุค่าที่ไม่เป็นศูนย์ จะตัดแต่งเสียงจนกว่าจะพบว่าไม่มีเสียง โดยทั่วไป,
เมื่อตัดความเงียบจากจุดเริ่มต้นของเสียง start_คาบ จะเป็น 1 แต่ทำได้
เพิ่มขึ้นเป็นค่าที่สูงขึ้นเพื่อตัดเสียงทั้งหมดจนถึงจำนวนที่ไม่เงียบโดยเฉพาะ
ช่วงเวลา ค่าเริ่มต้นคือ 0

start_duration
ระบุระยะเวลาที่ต้องตรวจจับการไม่เงียบก่อนจะหยุดตัดแต่ง
เสียง โดยการเพิ่มระยะเวลา การระเบิดของเสียงสามารถถือเป็นความเงียบและ
ตัดออก ค่าเริ่มต้นคือ 0

start_threshold
สิ่งนี้บ่งชี้ว่าค่าตัวอย่างใดที่ควรได้รับการปฏิบัติเหมือนไม่มีเสียง สำหรับเสียงดิจิตอล a
ค่า 0 อาจจะใช้ได้ แต่สำหรับเสียงที่บันทึกจากอนาล็อก คุณอาจต้องการเพิ่ม
ค่าที่ใช้กับเสียงพื้นหลัง สามารถระบุเป็น dB (ในกรณีที่ "dB" is
ต่อท้ายค่าที่ระบุ) หรืออัตราส่วนแอมพลิจูด ค่าเริ่มต้นคือ 0

หยุด_ช่วงเวลา
ตั้งค่าจำนวนสำหรับการตัดแต่งเสียงเงียบจากจุดสิ้นสุดของเสียง เพื่อขจัดความเงียบออกจาก
ตรงกลางไฟล์ ระบุ a หยุด_ช่วงเวลา ที่เป็นลบ ค่านี้จะได้รับการรักษา
เป็นค่าบวกและใช้เพื่อบ่งชี้ว่าผลกระทบควรเริ่มการประมวลผลใหม่เป็น
ระบุโดย start_คาบทำให้เหมาะสำหรับการขจัดช่วงเวลาแห่งความเงียบใน
ตรงกลางของเสียง ค่าเริ่มต้นคือ 0

stop_duration
ระบุระยะเวลาของความเงียบที่ต้องมีก่อนที่จะไม่มีการคัดลอกเสียงอีกต่อไป โดย
การระบุระยะเวลาที่สูงขึ้น ความเงียบที่ต้องการสามารถทิ้งไว้ในเสียงได้
ค่าเริ่มต้นคือ 0

stop_threshold
นี่ก็เหมือนกับ start_threshold แต่สำหรับการตัดแต่งความเงียบจากปลายเสียง
สามารถระบุเป็น dB (ในกรณีที่ "dB" ต่อท้ายค่าที่ระบุ) หรือ amplitude
อัตราส่วน ค่าเริ่มต้นคือ 0

ปล่อย_เงียบ
นี่แสดงว่า stop_duration ความยาวของเสียงควรจะเหลือเหมือนเดิมที่
จุดเริ่มต้นของแต่ละช่วงเวลาของความเงียบ ตัวอย่างเช่น หากคุณต้องการลบการหยุดชั่วคราวเป็นเวลานาน
ระหว่างคำแต่ไม่ต้องการลบการหยุดชั่วคราวทั้งหมด ค่าเริ่มต้นคือ 0

ตัวอย่าง

· ตัวอย่างต่อไปนี้แสดงวิธีการใช้ตัวกรองนี้เพื่อเริ่มการบันทึกที่ทำ
ไม่มีความล่าช้าในการเริ่มต้นซึ่งมักจะเกิดขึ้นระหว่างการกดบันทึก
ปุ่มและเริ่มการทำงาน:

Silenceremove=1:5:0.02

ตรีคูณ
เพิ่มหรือตัดความถี่เสียงแหลม (บน) ของเสียงโดยใช้ตัวกรองการเก็บเข้าลิ้นชักแบบสองขั้วด้วย
การตอบสนองคล้ายกับการควบคุมโทนเสียงของ hi-fi มาตรฐาน นี้เรียกอีกอย่างว่า
การทำให้เท่าเทียมกันของชั้นวาง (EQ)

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ได้รับ, g
ให้เกนที่ต่ำกว่า ~ 22 kHz และความถี่ Nyquist มันคือ
ช่วงที่มีประโยชน์คือประมาณ -20 (สำหรับการตัดขนาดใหญ่) ถึง +20 (สำหรับการเพิ่มขนาดใหญ่) ระวัง
การตัดเมื่อใช้กำไรในเชิงบวก

ความถี่, f
ตั้งค่าความถี่กลางของตัวกรองเพื่อใช้ขยายหรือลดความถี่
ช่วงความถี่ที่จะเพิ่มหรือตัด ค่าเริ่มต้นคือ 3000 Hz

width_type
กำหนดวิธีการระบุแบนด์วิดธ์ของตัวกรอง

h Hz

q Q-ปัจจัย

o ระดับแปดเสียง

s ลาด

ความกว้าง w
พิจารณาว่าการเปลี่ยนชั้นของแผ่นกรองมีความชันเพียงใด

ปริมาณ
ปรับระดับเสียงอินพุต

ยอมรับพารามิเตอร์ต่อไปนี้:

ปริมาณ
ตั้งค่าการแสดงออกของระดับเสียง

ค่าเอาต์พุตจะถูกตัดไปที่ค่าสูงสุด

ระดับเสียงเอาต์พุตถูกกำหนดโดยความสัมพันธ์:

= *

ค่าเริ่มต้นสำหรับ ปริมาณ คือ "1.0"

ความแม่นยำ
พารามิเตอร์นี้แสดงถึงความแม่นยำทางคณิตศาสตร์

จะกำหนดรูปแบบตัวอย่างอินพุตที่จะอนุญาต ซึ่งส่งผลต่อความแม่นยำ
ของการปรับระดับเสียง

การแก้ไข
จุดคงที่ 8 บิต; ซึ่งจะจำกัดรูปแบบตัวอย่างอินพุตเป็น U8, S16 และ S32

ลอย
จุดลอยตัว 32 บิต; สิ่งนี้จำกัดรูปแบบตัวอย่างอินพุตเป็น FLT (ค่าเริ่มต้น)

สอง
จุดลอยตัว 64 บิต; สิ่งนี้จำกัดรูปแบบตัวอย่างอินพุตเป็น DBL

เล่นซ้ำ
เลือกพฤติกรรมเมื่อพบข้อมูลด้าน ReplayGain ในเฟรมอินพุต

หล่น
ลบข้อมูลด้าน ReplayGain โดยไม่สนใจเนื้อหา (ค่าเริ่มต้น)

ไม่สนใจ
ละเว้นข้อมูลด้าน ReplayGain แต่ปล่อยให้อยู่ในเฟรม

ลู่
ต้องการอัตราขยายของแทร็ก หากมี

อัลบั้ม
ต้องการกำไรอัลบั้มถ้ามี

replaygain_preamp
เกนก่อนการขยายเสียงเป็น dB เพื่อนำไปใช้กับเกนเกนซ้ำที่เลือก

ค่าเริ่มต้นสำหรับ replaygain_preamp คือ 0.0

ประเมิน
ตั้งค่าเมื่อประเมินนิพจน์ปริมาณ

ยอมรับค่าต่อไปนี้:

ครั้งเดียว
ประเมินนิพจน์เพียงครั้งเดียวในระหว่างการเริ่มต้นตัวกรองหรือเมื่อ ปริมาณ
คำสั่งถูกส่ง

กรอบ
ประเมินนิพจน์สำหรับแต่ละเฟรมที่เข้ามา

ค่าเริ่มต้นคือ ครั้งเดียว.

นิพจน์ปริมาณสามารถมีพารามิเตอร์ต่อไปนี้

n หมายเลขเฟรม (เริ่มต้นที่ศูนย์)

nb_channels
จำนวนช่อง

nb_consumed_samples
จำนวนตัวอย่างที่ใช้โดยตัวกรอง

nb_samples
จำนวนตัวอย่างในเฟรมปัจจุบัน

โพสต์ ตำแหน่งเฟรมเดิมในไฟล์

พีทีเอส กรอบ PTS

อัตราการสุ่มตัวอย่าง
อัตราตัวอย่าง

จุดเริ่มต้น
PTS เมื่อเริ่มสตรีม

เริ่ม
เวลาที่เริ่มสตรีม

t กรอบเวลา

tb ฐานเวลา

ปริมาณ
ค่าระดับเสียงที่ตั้งไว้ล่าสุด

โปรดทราบว่าเมื่อ ประเมิน ถูกตั้งค่าเป็น ครั้งเดียว เพียง อัตราการสุ่มตัวอย่าง และ tb ตัวแปรที่มีอยู่
ตัวแปรอื่นๆ ทั้งหมดจะประเมินเป็น NAN

คำสั่ง

ตัวกรองนี้สนับสนุนคำสั่งต่อไปนี้:

ปริมาณ
แก้ไขนิพจน์ระดับเสียง คำสั่งยอมรับไวยากรณ์เดียวกันของ
ตัวเลือกที่เกี่ยวข้อง

ถ้านิพจน์ที่ระบุไม่ถูกต้อง นิพจน์นั้นจะถูกเก็บไว้ที่ค่าปัจจุบัน

replaygain_noclip
ป้องกันการหนีบโดยการจำกัดอัตราขยายที่ใช้

ค่าเริ่มต้นสำหรับ replaygain_noclip คือ 1

ตัวอย่าง

· ลดระดับเสียงอินพุตลงครึ่งหนึ่ง:

ปริมาณ=ปริมาตร=0.5
ปริมาณ=ปริมาณ=1/2
ปริมาณ=ระดับเสียง=-6.0206dB

จากตัวอย่างข้างต้นทั้งหมด คีย์ที่มีชื่อสำหรับ ปริมาณ สามารถละเว้นได้เช่นใน:

ปริมาณ=0.5

· เพิ่มพลังเสียงอินพุต 6 เดซิเบลโดยใช้ความแม่นยำจุดคงที่:

ปริมาณ=ระดับเสียง=6dB:ความแม่นยำ=คงที่

· จางหายไปหลังจากเวลา 10 ด้วยระยะเวลาการทำลายล้าง 5 วินาที:

volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame

การตรวจจับระดับเสียง
ตรวจจับระดับเสียงของวิดีโออินพุต

ตัวกรองไม่มีพารามิเตอร์ อินพุตไม่ถูกแก้ไข สถิติเกี่ยวกับปริมาณ will
จะพิมพ์ลงในบันทึกเมื่อสิ้นสุดสตรีมอินพุต

โดยเฉพาะอย่างยิ่งจะแสดงปริมาณเฉลี่ย (ค่าเฉลี่ยรากที่สอง) ปริมาณสูงสุด (ต่อ
พื้นฐานตัวอย่าง) และจุดเริ่มต้นของฮิสโทแกรมของค่าปริมาณที่ลงทะเบียนไว้ (จาก
ค่าสูงสุดสะสม 1/1000 ตัวอย่าง)

โวลุ่มทั้งหมดมีหน่วยเป็นเดซิเบลเมื่อเทียบกับค่า PCM สูงสุด

ตัวอย่าง

นี่คือข้อความที่ตัดตอนมาของผลลัพธ์:

[ Parsed_volumedetect_0 0xa23120] ระดับเสียงเฉลี่ย: -27 dB
[ Parsed_volumedetect_0 0xa23120] max_volume: -4 dB
[parsed_volumedetect_0 0xa23120] histogram_4db: 6
[parsed_volumedetect_0 0xa23120] histogram_5db: 62
[parsed_volumedetect_0 0xa23120] histogram_6db: 286
[parsed_volumedetect_0 0xa23120] histogram_7db: 1042
[parsed_volumedetect_0 0xa23120] histogram_8db: 2551
[parsed_volumedetect_0 0xa23120] histogram_9db: 4609
[parsed_volumedetect_0 0xa23120] histogram_10db: 8409

หมายความว่า:

· พลังงานกำลังสองเฉลี่ยอยู่ที่ประมาณ -27 dB หรือ 10^-2.7

· ตัวอย่างที่ใหญ่ที่สุดคือ -4 dB หรือแม่นยำยิ่งขึ้นระหว่าง -4 dB ถึง -5 dB

· มี 6 ตัวอย่างที่ -4 dB, 62 ที่ -5 dB, 286 ที่ -6 dB เป็นต้น

กล่าวอีกนัยหนึ่ง การเพิ่มระดับเสียงขึ้น +4 dB จะไม่ทำให้เกิดการตัดใด ๆ โดยจะเพิ่มเป็น +5
dB ทำให้เกิดการตัด 6 ตัวอย่าง เป็นต้น

AUDIO แหล่งที่มา


ด้านล่างนี้คือคำอธิบายของแหล่งที่มาของเสียงที่มีอยู่ในปัจจุบัน

บัฟเฟอร์
บัฟเฟอร์เฟรมเสียง และทำให้พร้อมใช้งานในห่วงโซ่ตัวกรอง

แหล่งที่มานี้มีไว้สำหรับการใช้งานแบบเป็นโปรแกรมเป็นหลัก โดยเฉพาะอย่างยิ่งผ่านอินเทอร์เฟซ
กำหนดไว้ใน libavfilter/asrc_abuffer.h.

ยอมรับพารามิเตอร์ต่อไปนี้:

เวลา_ฐาน
ฐานเวลาที่จะใช้สำหรับการประทับเวลาของเฟรมที่ส่ง มันต้องอย่างใดอย่างหนึ่ง
เลขทศนิยมหรือin เศษ/ตัวหาร ฟอร์ม

อัตราการสุ่มตัวอย่าง
อัตราตัวอย่างของบัฟเฟอร์เสียงที่เข้ามา

ตัวอย่าง_fmt
รูปแบบตัวอย่างของบัฟเฟอร์เสียงขาเข้า ไม่ว่าจะเป็นชื่อรูปแบบตัวอย่างหรือของมัน
การแสดงจำนวนเต็มที่สอดคล้องกันจาก enum AVSampleFormat ใน
libavutil/samplefmt.h

channel_layout
เลย์เอาต์ช่องสัญญาณของบัฟเฟอร์เสียงขาเข้า ไม่ว่าจะเป็นชื่อเลย์เอาต์ของช่องจาก
channel_layout_map ใน libavutil/channel_layout.c หรือจำนวนเต็มที่สอดคล้องกัน
การแสดงจากมาโคร AV_CH_LAYOUT_* ใน libavutil/channel_layout.h

ช่อง
จำนวนช่องสัญญาณบัฟเฟอร์เสียงขาเข้า ถ้าทั้งสองอย่าง ช่อง และ
channel_layout ระบุไว้แล้วจะต้องสอดคล้องกัน

ตัวอย่าง

บัฟเฟอร์=sample_rate=44100:sample_fmt=s16p:channel_layout=สเตอริโอ

จะสั่งให้แหล่งสัญญาณยอมรับสเตอริโอ 16 บิตที่ลงนามในระนาบที่ 44100Hz ตั้งแต่
รูปแบบตัวอย่างที่มีชื่อ "s16p" สอดคล้องกับหมายเลข 6 และรูปแบบช่อง "สเตอริโอ"
สอดคล้องกับค่า 0x3 ซึ่งเทียบเท่ากับ:

บัฟเฟอร์=sample_rate=44100:sample_fmt=6:channel_layout=0x3

aevalsrc
สร้างสัญญาณเสียงที่ระบุโดยนิพจน์

แหล่งที่มานี้ยอมรับในอินพุตอย่างน้อยหนึ่งนิพจน์ (หนึ่งรายการสำหรับแต่ละช่อง) ซึ่ง
ประเมินและใช้เพื่อสร้างสัญญาณเสียงที่สอดคล้องกัน

แหล่งที่มานี้ยอมรับตัวเลือกต่อไปนี้:

ด่วน
ตั้งค่ารายการนิพจน์แยก '|' สำหรับแต่ละช่องสัญญาณแยกกัน ในกรณีที่
channel_layout ไม่ได้ระบุตัวเลือก รูปแบบช่องที่เลือกขึ้นอยู่กับ
จำนวนนิพจน์ที่ให้ไว้ มิฉะนั้น นิพจน์ที่ระบุล่าสุดจะถูกนำไปใช้กับ
ช่องสัญญาณออกที่เหลือ

ช่อง_เค้าโครง, c
ตั้งค่าเค้าโครงช่อง จำนวนช่องในผังที่กำหนดต้องเท่ากัน
ถึงจำนวนนิพจน์ที่ระบุ

ระยะเวลา, d
กำหนดระยะเวลาขั้นต่ำของเสียงที่มา ดู เวลา ระยะเวลา ส่วน in
ffmpeg-ยูทิลิตี้(1) คู่มือ สำหรับไวยากรณ์ที่ยอมรับ โปรดทราบว่าระยะเวลาผลลัพธ์อาจ
มากกว่าระยะเวลาที่กำหนด เนื่องจากเสียงที่สร้างขึ้นจะถูกตัดที่ . เสมอ
จุดสิ้นสุดของเฟรมที่สมบูรณ์

หากไม่ระบุหรือระยะเวลาที่แสดงเป็นลบ เสียงควรเป็น
สร้างขึ้นตลอดไป

nb_ตัวอย่าง, n
ตั้งค่าจำนวนตัวอย่างต่อแชนเนลต่อเฟรมเอาต์พุตแต่ละเฟรม ค่าเริ่มต้นคือ 1024

อัตราการสุ่มตัวอย่าง s
ระบุอัตราตัวอย่าง ค่าเริ่มต้นคือ 44100

แต่ละนิพจน์ใน ด่วน สามารถมีค่าคงที่ต่อไปนี้:

n จำนวนตัวอย่างที่ประเมิน เริ่มจาก 0

t เวลาของตัวอย่างที่ประเมินซึ่งแสดงเป็นวินาที เริ่มจาก 0

s อัตราตัวอย่าง

ตัวอย่าง

·สร้างความเงียบ:

แอวัลส์อาร์ค=0

· สร้างสัญญาณบาปด้วยความถี่ 440 Hz ตั้งค่าอัตราตัวอย่างเป็น 8000 Hz:

aevalsrc="/sin(440*2*PI*t):s=8000"

· สร้างสัญญาณสองช่อง ระบุรูปแบบช่อง (ศูนย์หน้า + หลัง
ศูนย์) อย่างชัดเจน:

aevalsrc="/sin(420*2*PI*t)|cos(430*2*PI*t):c=FC|BC"

·สร้างเสียงสีขาว:

aevalsrc="/-2+สุ่ม(0)"

· สร้างสัญญาณมอดูเลตแอมพลิจูด:

aevalsrc="/sin(10*2*PI*t)*sin(880*2*PI*t)"

· สร้างจังหวะ binaural 2.5 Hz บนผู้ให้บริการ 360 Hz:

aevalsrc="/0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"

annullsrc
แหล่งเสียง null ส่งคืนเฟรมเสียงที่ยังไม่ได้ประมวลผล มีประโยชน์เป็นหลักในฐานะแม่แบบ
และนำไปใช้ในการวิเคราะห์/แก้จุดบกพร่องเครื่องมือหรือเป็นแหล่งกรองซึ่ง
ละเว้นข้อมูลที่ป้อนเข้า (เช่น ตัวกรองการสังเคราะห์ sox)

แหล่งที่มานี้ยอมรับตัวเลือกต่อไปนี้:

ช่อง_เค้าโครง, cl
ระบุรูปแบบช่องสัญญาณ และสามารถเป็นจำนวนเต็มหรือสตริงแทน a . ได้
เค้าโครงช่อง ค่าเริ่มต้นของ channel_layout คือ "สเตอริโอ"

ตรวจสอบคำจำกัดความของ channel_layout_map ใน libavutil/channel_layout.c สำหรับการทำแผนที่
ระหว่างสตริงและค่าเลย์เอาต์ของช่อง

อัตราการสุ่มตัวอย่าง r
ระบุอัตราตัวอย่าง และค่าเริ่มต้นเป็น 44100

nb_ตัวอย่าง, n
กำหนดจำนวนตัวอย่างต่อเฟรมที่ร้องขอ

ตัวอย่าง

· ตั้งค่าอัตราสุ่มเป็น 48000 Hz และรูปแบบช่องเป็น AV_CH_LAYOUT_MONO

annullsrc=r=48000:cl=4

· ทำแบบเดียวกันกับไวยากรณ์ที่ชัดเจนยิ่งขึ้น:

anullsrc=r=48000:cl=โมโน

พารามิเตอร์ทั้งหมดจะต้องกำหนดไว้อย่างชัดเจน

บิน
สังเคราะห์เสียงพูดโดยใช้ไลบรารี libflite

ในการเปิดใช้งานการรวบรวมตัวกรองนี้ คุณต้องกำหนดค่า FFmpeg ด้วย
"--เปิดใช้งาน-libflite"

โปรดทราบว่าไลบรารี flite ไม่ปลอดภัยสำหรับเธรด

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

list_voices
หากตั้งค่าเป็น 1 ให้ระบุชื่อเสียงที่มีอยู่และออกทันที ค่าเริ่มต้น
ค่าคือ 0

nb_ตัวอย่าง, n
กำหนดจำนวนตัวอย่างสูงสุดต่อเฟรม ค่าเริ่มต้นคือ 512

ไฟล์ข้อความ
ตั้งชื่อไฟล์ที่มีข้อความที่จะพูด

ข้อความ
ตั้งค่าข้อความที่จะพูด

เสียง v
ตั้งค่าเสียงเพื่อใช้สำหรับการสังเคราะห์เสียงพูด ค่าเริ่มต้นคือ "kal" ดูเพิ่มเติมที่
list_voices ตัวเลือก

ตัวอย่าง

·อ่านจากไฟล์ คำพูด.txtและสังเคราะห์ข้อความโดยใช้เสียง flite มาตรฐาน:

flite=textfile=speech.txt

· อ่านข้อความที่ระบุโดยเลือกเสียง "slt":

flite=text='ลาก่อน ปีศาจผู้น่าสงสารของ Sub-Sub ซึ่งฉันเป็นผู้วิจารณ์':voice=slt

· ป้อนข้อความไปยัง ffmpeg:

ffmpeg -f lavfi -i flite=text='ลาก่อน ปีศาจผู้น่าสงสารของ Sub-Sub ซึ่งฉันเป็นผู้วิจารณ์':voice=slt

· ทำ ffplay พูดข้อความที่ระบุโดยใช้อุปกรณ์ "flite" และ "lavfi":

ffplay -f lavfi flite=text='ไม่ต้องเสียใจอีกต่อไปสำหรับสิ่งที่คุณได้ทำ'

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ libflite ให้ตรวจสอบ:http://www.speech.cs.cmu.edu/flite/>

ซายน์
สร้างสัญญาณเสียงจากคลื่นไซน์ที่มีแอมพลิจูด 1/8

สัญญาณเสียงเป็นแบบบิตที่แน่นอน

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความถี่, f
ตั้งค่าความถี่พาหะ ค่าเริ่มต้นคือ 440 Hz

เสียงบี๊บ_ปัจจัย, b
เปิดใช้งานเสียงบี๊บเป็นระยะทุกวินาทีด้วยความถี่ บี๊บ_ปัจจัย ครั้งของผู้ขนส่ง
ความถี่. ค่าเริ่มต้นคือ 0 หมายถึงปิดเสียงบี๊บ

อัตราการสุ่มตัวอย่าง r
ระบุอัตราตัวอย่าง ค่าเริ่มต้นคือ 44100

ระยะเวลา, d
ระบุระยะเวลาของสตรีมเสียงที่สร้างขึ้น

ตัวอย่าง_per_frame
กำหนดจำนวนตัวอย่างต่อเฟรมเอาต์พุต ค่าเริ่มต้นคือ 1024

ตัวอย่าง

·สร้างคลื่นไซน์ 440 Hz อย่างง่าย:

ซายน์

· สร้างคลื่นไซน์ 220 Hz พร้อมเสียงบี๊บ 880 Hz ต่อวินาที เป็นเวลา 5 วินาที:

ไซน์=220:4:d=5
ไซน์=f=220:b=4:d=5
ไซน์=ความถี่=220:beep_factor=4:ระยะเวลา=5

AUDIO อ่างล้างจาน


ด้านล่างนี้คือคำอธิบายของซิงก์เสียงที่มีอยู่ในปัจจุบัน

คนขี้แพ้
บัฟเฟอร์เฟรมเสียง และทำให้พร้อมใช้งานที่ส่วนท้ายของห่วงโซ่ตัวกรอง

ซิงก์นี้มีไว้สำหรับการใช้งานแบบเป็นโปรแกรมเป็นหลัก โดยเฉพาะอย่างยิ่งผ่านอินเทอร์เฟซ
กำหนดไว้ใน libavfilter/buffersink.h หรือระบบตัวเลือก

ยอมรับตัวชี้ไปยังโครงสร้าง AVABufferSinkContext ซึ่งกำหนดขาเข้า
รูปแบบของบัฟเฟอร์ ที่จะส่งผ่านเป็นพารามิเตอร์ทึบแสงไปยัง "avfilter_init_filter" สำหรับ
การเริ่มต้น.

ยกเลิกอ่างล้างจาน
อ่างเสียงว่าง; ไม่ทำอะไรเลยกับเสียงอินพุต มีประโยชน์หลักเป็น
แม่แบบและสำหรับใช้ในเครื่องมือวิเคราะห์/แก้จุดบกพร่อง

VIDEO กรอง


เมื่อคุณกำหนดค่าบิลด์ FFmpeg คุณสามารถปิดใช้งานตัวกรองที่มีอยู่โดยใช้
"--ปิดการใช้งาน-ตัวกรอง". เอาต์พุตกำหนดค่าจะแสดงตัวกรองวิดีโอที่รวมอยู่ใน .ของคุณ
สร้าง.

ด้านล่างนี้คือคำอธิบายของตัวกรองวิดีโอที่มีอยู่ในปัจจุบัน

สารสกัดจากตัวอักษร
แยกองค์ประกอบอัลฟ่าจากอินพุตเป็นวิดีโอระดับสีเทา มีประโยชน์อย่างยิ่ง
กับ อัลฟาผสาน กรอง.

อัลฟาผสาน
เพิ่มหรือแทนที่องค์ประกอบอัลฟาของอินพุตหลักด้วยค่าระดับสีเทาของa
อินพุตที่สอง นี้มีไว้สำหรับใช้กับ สารสกัดจากตัวอักษร เพื่อให้ส่งหรือ
การจัดเก็บลำดับเฟรมที่มีอัลฟาในรูปแบบที่ไม่รองรับอัลฟา
ช่อง

ตัวอย่างเช่น เพื่อสร้างฟูลเฟรมขึ้นใหม่จากวิดีโอที่เข้ารหัส YUV ปกติและแยก
วิดีโอที่สร้างด้วย สารสกัดจากตัวอักษรคุณอาจใช้:

ภาพยนตร์=in_alpha.mkv [อัลฟา]; [ใน][อัลฟา] อัลฟาผสาน [ออก]

เนื่องจากฟิลเตอร์นี้ออกแบบมาสำหรับการสร้างใหม่ จึงทำงานตามลำดับเฟรมโดยไม่ต้อง
พิจารณาการประทับเวลา และสิ้นสุดลงเมื่ออินพุตใดมาถึงจุดสิ้นสุดของสตรีม นี่จะ
ทำให้เกิดปัญหาหากไปป์ไลน์การเข้ารหัสของคุณลดเฟรม หากคุณกำลังพยายามใช้ภาพ
เป็นการซ้อนทับกับสตรีมวิดีโอ ให้พิจารณา วางซ้อน กรองแทน

ตูด
เช่นเดียวกับ คำบรรยาย ตัวกรอง ยกเว้นว่าไม่ต้องการ libavcodec และ libavformat ถึง
งาน. ในอีกทางหนึ่ง มันจำกัดเฉพาะไฟล์คำบรรยาย ASS (Advanced Substation Alpha)

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้นอกเหนือจากตัวเลือกทั่วไปจาก
คำบรรยาย กรอง:

การสร้าง
ตั้งค่าเครื่องสร้างรูปร่าง

ค่าที่ใช้ได้คือ:

รถยนต์
เอ็นจิ้นการสร้าง libass เริ่มต้น ซึ่งเป็นเครื่องมือที่ดีที่สุด

ง่าย
ตัวเปลี่ยนแบบอักษรที่รวดเร็วและไม่เชื่อเรื่องพระเจ้าซึ่งทำได้เฉพาะการแทนที่

ซับซ้อน
Shaper ช้าลงโดยใช้ OpenType สำหรับการแทนที่และการวางตำแหน่ง

ค่าเริ่มต้นคือ "อัตโนมัติ"

อาตาดีนอยส์
ใช้ Adaptive Temporal Averaging Denoiser กับอินพุตวิดีโอ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

0a กำหนดเกณฑ์ A สำหรับเครื่องบินลำที่ 1 ค่าเริ่มต้นคือ 0.02 ช่วงที่ถูกต้องคือ 0 ถึง 0.3

0b กำหนดเกณฑ์ B สำหรับเครื่องบินลำที่ 1 ค่าเริ่มต้นคือ 0.04 ช่วงที่ถูกต้องคือ 0 ถึง 5

1a กำหนดเกณฑ์ A สำหรับเครื่องบินลำที่ 2 ค่าเริ่มต้นคือ 0.02 ช่วงที่ถูกต้องคือ 0 ถึง 0.3

1b กำหนดเกณฑ์ B สำหรับเครื่องบินลำที่ 2 ค่าเริ่มต้นคือ 0.04 ช่วงที่ถูกต้องคือ 0 ถึง 5

2a กำหนดเกณฑ์ A สำหรับเครื่องบินลำที่ 3 ค่าเริ่มต้นคือ 0.02 ช่วงที่ถูกต้องคือ 0 ถึง 0.3

2b กำหนดเกณฑ์ B สำหรับเครื่องบินลำที่ 3 ค่าเริ่มต้นคือ 0.04 ช่วงที่ถูกต้องคือ 0 ถึง 5

เกณฑ์ A ออกแบบมาเพื่อตอบสนองต่อการเปลี่ยนแปลงอย่างกะทันหันของสัญญาณอินพุตและเกณฑ์ B
ออกแบบมาเพื่อตอบสนองต่อการเปลี่ยนแปลงอย่างต่อเนื่องของสัญญาณอินพุต

s กำหนดจำนวนเฟรมตัวกรองที่จะใช้สำหรับการหาค่าเฉลี่ย ค่าเริ่มต้นคือ 33 ต้องเป็นเลขคี่
อยู่ในช่วง [5, 129]

บีบอกซ์
คำนวณกล่องขอบเขตสำหรับพิกเซลที่ไม่ใช่สีดำในระนาบความสว่างของเฟรมอินพุต

ตัวกรองนี้คำนวณกล่องขอบเขตที่มีพิกเซลทั้งหมดที่มีค่าความสว่าง
มากกว่าค่าต่ำสุดที่อนุญาต พารามิเตอร์ที่อธิบายกล่องขอบเขตคือ
พิมพ์บนบันทึกตัวกรอง

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

min_val
ตั้งค่าความสว่างขั้นต่ำ ค่าเริ่มต้นคือ 16

ตรวจจับสีดำ
ตรวจจับช่วงวิดีโอที่ (เกือบ) เป็นสีดำสนิท สามารถเป็นประโยชน์ในการตรวจสอบบท
การเปลี่ยนภาพ โฆษณา หรือการบันทึกที่ไม่ถูกต้อง บรรทัดเอาต์พุตมีเวลาสำหรับ
เริ่มต้น สิ้นสุด และระยะเวลาของช่วงสีดำที่ตรวจพบซึ่งแสดงเป็นวินาที

ในการแสดงบรรทัดเอาต์พุต คุณต้องตั้งค่า loglevel อย่างน้อยเป็น
ค่า AV_LOG_INFO

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

black_min_duration, d
ตั้งค่าระยะเวลาสีดำขั้นต่ำที่ตรวจพบเป็นวินาที จะต้องไม่ใช่
เลขทศนิยมติดลบ

ค่าเริ่มต้นคือ 2.0

picture_black_ratio_th, pic_th
กำหนดเกณฑ์การพิจารณาภาพ "ดำ" แสดงค่าต่ำสุดสำหรับ
วิทยุ:

/

ซึ่งภาพนั้นถือเป็นสีดำ ค่าเริ่มต้นคือ 0.98

pixel_black_th, pix_th
กำหนดเกณฑ์การพิจารณาพิกเซล "สีดำ"

เกณฑ์แสดงค่าความส่องสว่างสูงสุดของพิกเซลที่พิกเซลเป็น
ถือว่า "ดำ" ค่าที่ให้มาจะถูกปรับขนาดตามสมการต่อไปนี้:

= + *

ความสว่าง_range_size และ ความสว่าง_ขั้นต่ำ_ค่า ขึ้นอยู่กับรูปแบบวิดีโออินพุต the
ช่วงคือ [0-255] สำหรับรูปแบบเต็มช่วงของ YUV และ [16-235] สำหรับรูปแบบเต็มช่วงของ YUV
รูปแบบ

ค่าเริ่มต้นคือ 0.10

ตัวอย่างต่อไปนี้ตั้งค่าขีดจำกัดพิกเซลสูงสุดเป็นค่าต่ำสุด และตรวจพบ
เฉพาะช่วงสีดำ 2 วินาทีขึ้นไป:

ตรวจจับสีดำ=d=2:pix_th=0.00

กรอบดำ
ตรวจจับเฟรมที่ (เกือบ) เป็นสีดำสนิท สามารถเป็นประโยชน์ในการตรวจสอบบท
ทรานสิชั่นหรือโฆษณา เส้นขาออกประกอบด้วยหมายเลขเฟรมของตรวจพบ
เฟรม, เปอร์เซ็นต์ของความมืด, ตำแหน่งในไฟล์หากทราบหรือ -1 และ
การประทับเวลาเป็นวินาที

ในการแสดงบรรทัดเอาต์พุต คุณต้องตั้งค่า loglevel อย่างน้อยเป็น
ค่า AV_LOG_INFO

ยอมรับพารามิเตอร์ต่อไปนี้:

จำนวน
เปอร์เซ็นต์ของพิกเซลที่ต้องต่ำกว่าเกณฑ์ ค่าเริ่มต้นคือ 98

เกณฑ์ นวด
เกณฑ์ด้านล่างซึ่งค่าพิกเซลถือเป็นสีดำ ค่าเริ่มต้นคือ 32

ผสมผสาน เทผสม
ผสมผสานเฟรมวิดีโอสองเฟรมเข้าด้วยกัน

ตัวกรอง "แบบผสมผสาน" รับอินพุตสตรีมสองรายการและเอาต์พุตหนึ่งสตรีม อินพุตแรกคือ
เลเยอร์ "บนสุด" และอินพุตที่สองคือเลเยอร์ "ล่าง" เอาต์พุตสิ้นสุดเมื่ออินพุตสั้นที่สุด
ยุติ

ตัวกรอง "tblend" (การผสมผสานเวลา) ใช้สองเฟรมต่อเนื่องกันจากสตรีมเดียวและ
ผลลัพธ์ที่ได้จากการผสมเฟรมใหม่บนเฟรมเก่า

คำอธิบายของตัวเลือกที่ยอมรับมีดังนี้

c0_โหมด
c1_โหมด
c2_โหมด
c3_โหมด
ทั้งหมด_โหมด
ตั้งค่าโหมดผสมผสานสำหรับส่วนประกอบพิกเซลเฉพาะหรือส่วนประกอบพิกเซลทั้งหมดในกรณีของ
ทั้งหมด_โหมด. ค่าเริ่มต้นคือ "ปกติ"

ค่าที่ใช้ได้สำหรับโหมดส่วนประกอบคือ:

นอกจากนี้
และ
เฉลี่ย
เผา
มืด
ความแตกต่าง
ความแตกต่าง128
แบ่ง
หลบ
การยกเว้น
เรืองแสง
ฮาร์ดไลท์
ฮาร์ดมิกซ์
เบา
แสงเชิงเส้น
คูณ
การปฏิเสธ
ปกติ
or
วางซ้อน
ต้นอินทผลัม
พินไลท์
สะท้อน
จอภาพ
แสงอ่อน
หัก
แสงสดใส
ซอร์
c0_ความทึบ
c1_ความทึบ
c2_ความทึบ
c3_ความทึบ
all_opacity
ตั้งค่าความทึบแบบผสมผสานสำหรับส่วนประกอบพิกเซลเฉพาะหรือส่วนประกอบพิกเซลทั้งหมดในกรณีของ
all_opacity. ใช้ร่วมกับโหมดผสมผสานองค์ประกอบพิกเซลเท่านั้น

c0_expr
c1_expr
c2_expr
c3_expr
all_expr
ตั้งค่าการแสดงออกแบบผสมผสานสำหรับส่วนประกอบพิกเซลเฉพาะหรือส่วนประกอบพิกเซลทั้งหมดในกรณีของ
all_expr. โปรดทราบว่าตัวเลือกโหมดที่เกี่ยวข้องจะถูกละเว้นหากมีการตั้งค่าไว้

นิพจน์สามารถใช้ตัวแปรต่อไปนี้:

N หมายเลขลำดับของเฟรมที่กรองแล้ว เริ่มต้นจาก 0

X
Y พิกัดตัวอย่างปัจจุบัน

W
H ความกว้างและความสูงของระนาบที่กรองในปัจจุบัน

SW
SH มาตราส่วนความกว้างและความสูงขึ้นอยู่กับระนาบการกรองในปัจจุบัน มันคืออัตราส่วน
ระหว่างจำนวนพิกเซลระนาบลูมาที่สอดคล้องกันกับระนาบปัจจุบัน
เช่น สำหรับ YUV4:2:0 ค่าคือ "1,1" สำหรับระนาบลูมา และ "0.5,0.5" สำหรับ
เครื่องบินสี

T เวลาของเฟรมปัจจุบัน แสดงเป็นวินาที

สูงสุด, A
ค่าขององค์ประกอบพิกเซลที่ตำแหน่งปัจจุบันสำหรับเฟรมวิดีโอแรก (ชั้นบนสุด)

ล่าง, B
ค่าขององค์ประกอบพิกเซลที่ตำแหน่งปัจจุบันสำหรับเฟรมวิดีโอที่สอง (ด้านล่าง
ชั้น).

ที่สั้นที่สุด
บังคับยุติเมื่ออินพุตที่สั้นที่สุดสิ้นสุด ค่าเริ่มต้นคือ 0 ตัวเลือกนี้คือ
กำหนดไว้สำหรับตัวกรอง "ผสมผสาน" เท่านั้น

ทำซ้ำ
ใช้เฟรมด้านล่างสุดท้ายต่อหลังจากสิ้นสุดสตรีม ค่า 0
ปิดใช้งานตัวกรองหลังจากถึงเฟรมสุดท้ายของชั้นล่าง ค่าเริ่มต้นคือ 1
ตัวเลือกนี้กำหนดไว้สำหรับตัวกรอง "ผสมผสาน" เท่านั้น

ตัวอย่าง

· ใช้การเปลี่ยนจากชั้นล่างเป็นชั้นบนสุดใน 10 วินาทีแรก:

blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10)))'

· ใช้เอฟเฟกต์กระดานหมากรุก 1x1:

ผสมผสาน=all_expr='if(eq(mod(X,2),mod(Y,2)),A,B)'

·ใช้เอฟเฟกต์ค้นพบด้านซ้าย:

ผสมผสาน=all_expr='if(gte(N*SW+X,W),A,B)'

·ใช้เอฟเฟกต์เปิดเผย:

ผสมผสาน=all_expr='if(gte(YN*SH,0),A,B)'

· ใช้เอฟเฟกต์เปิดซ้ายบน:

ผสมผสาน=all_expr='if(gte(T*SH*40+Y,H)*gte((T*40*SW+X)*W/H,W),A,B)'

· แสดงความแตกต่างระหว่างเฟรมปัจจุบันและเฟรมก่อนหน้า:

tblend=all_mode=ความแตกต่าง128

บ็อกซ์เบลอ
ใช้อัลกอริธึม boxblur กับวิดีโออินพุต

ยอมรับพารามิเตอร์ต่อไปนี้:

luma_radius, lr
ลูม่า_พาวเวอร์, lp
โครมา_รัศมี, cr
โครมา_พาวเวอร์, cp
อัลฟ่า_รัศมี, ar
อัลฟ่า_พาวเวอร์, ap

คำอธิบายของตัวเลือกที่ยอมรับมีดังนี้

luma_radius, lr
โครมา_รัศมี, cr
อัลฟ่า_รัศมี, ar
ตั้งค่านิพจน์สำหรับรัศมีกล่องเป็นพิกเซลที่ใช้สำหรับการเบลอที่สอดคล้องกัน
ระนาบอินพุต

ค่ารัศมีต้องเป็นตัวเลขที่ไม่ใช่ค่าลบ และต้องไม่มากกว่าค่า
ของนิพจน์ "min(w,h)/2" สำหรับระนาบ luma และ alpha และของ "min(cw,ch)/2"
สำหรับระนาบสี

ค่าเริ่มต้นสำหรับ luma_radius คือ "2" หากไม่ระบุ chroma_radius และ อัลฟ่า_รัศมี
ค่าเริ่มต้นเป็นค่าที่สอดคล้องกันที่ตั้งไว้สำหรับ luma_radius.

นิพจน์สามารถมีค่าคงที่ต่อไปนี้:

w
h ความกว้างและความสูงของอินพุตเป็นพิกเซล

cw
ch ความกว้างและความสูงของภาพอินพุตสีเป็นพิกเซล

ฮซบ
เทียบกับ
ค่าตัวอย่างย่อยของสีแนวนอนและแนวตั้ง ตัวอย่างเช่น สำหรับพิกเซล
รูปแบบ "yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

ลูม่า_พาวเวอร์, lp
โครมา_พาวเวอร์, cp
อัลฟ่า_พาวเวอร์, ap
ระบุจำนวนครั้งที่ใช้ตัวกรอง boxblur กับระนาบที่สอดคล้องกัน

ค่าเริ่มต้นสำหรับ luma_power คือ 2. ถ้าไม่ระบุ chroma_power และ อัลฟ่า_พาวเวอร์
ค่าเริ่มต้นเป็นค่าที่สอดคล้องกันที่ตั้งไว้สำหรับ luma_power.

ค่า 0 จะปิดเอฟเฟกต์

ตัวอย่าง

· ใช้ฟิลเตอร์บ็อกซ์เบลอโดยตั้งค่า luma, chroma และ alpha radii เป็น 2:

boxblur=luma_radius=2:luma_power=1
บ็อกซ์เบลอ=2:1

· ตั้งค่ารัศมีลูมาเป็น 2 และรัศมีอัลฟาและโครมาเป็น 0:

กล่องเบลอ=2:1:cr=0:ar=0

· ตั้งค่ารัศมี luma และ chroma เป็นเศษส่วนของขนาดวิดีโอ:

boxblur=luma_radius=min(h\,w)/10:luma_power=1:chroma_radius=min(cw\,ch)/10:chroma_power=1

มุมมองตัวแปลงสัญญาณ
เห็นภาพข้อมูลที่ส่งออกโดยตัวแปลงสัญญาณบางตัว

ตัวแปลงสัญญาณบางตัวสามารถส่งออกข้อมูลผ่านเฟรมโดยใช้ข้อมูลด้านข้างหรือวิธีการอื่นๆ สำหรับ
ตัวอย่างเช่นตัวแปลงสัญญาณที่ใช้ MPEG บางตัวส่งออกเวกเตอร์การเคลื่อนไหวผ่าน ส่งออก_mvs ธงใน
ตัวแปลงสัญญาณ ธง2 ตัวเลือก

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

mv ตั้งค่าเวกเตอร์การเคลื่อนไหวเพื่อให้เห็นภาพ

ธงที่ใช้ได้สำหรับ mv คือ:

pf MV ที่คาดการณ์ล่วงหน้าของ P-frames

bf MV ที่คาดการณ์ล่วงหน้าของ B-frames

bb MV ที่คาดการณ์ย้อนหลังของ B-frames

ตัวอย่าง

·แสดงภาพ MV แบบหลายทิศทางจาก P และ B-Frames โดยใช้ ffplay:

ffplay -flags2 +export_mvs input.mpg -vf codecview=mv=pf+bf+bb

สมดุลสี
แก้ไขความเข้มของสีหลัก (แดง เขียว และน้ำเงิน) ของเฟรมอินพุต

ฟิลเตอร์ช่วยให้เฟรมอินพุตสามารถปรับได้ในเงา มิดโทน หรือไฮไลท์
บริเวณสมดุลสีแดง-ฟ้า เขียว-ม่วงแดง หรือน้ำเงิน-เหลือง

ค่าการปรับค่าที่เป็นบวกจะเปลี่ยนความสมดุลไปทางสีหลัก ซึ่งเป็นค่าลบ
ไปสู่สีเสริม

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

rs
gs
bs ปรับเงาสีแดง สีเขียว และสีน้ำเงิน (พิกเซลที่มืดที่สุด)

rm
gm
bm ปรับมิดโทนสีแดง เขียว และน้ำเงิน (พิกเซลกลาง)

rh
gh
bh ปรับไฮไลท์สีแดง สีเขียว และสีน้ำเงิน (พิกเซลที่สว่างที่สุด)

ช่วงที่อนุญาตสำหรับตัวเลือกคือ "[-1.0, 1.0]" ค่าเริ่มต้นคือ 0

ตัวอย่าง

· เพิ่มสีแดงให้กับเงา:

ความสมดุลของสี=rs=.3

คีย์สี
คีย์สี RGB colorspace

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

สี
สีที่จะถูกแทนที่ด้วยความโปร่งใส

ความคล้ายคลึงกัน
เปอร์เซ็นต์ความคล้ายคลึงกันของสีหลัก

0.01 จะจับคู่เฉพาะสีของคีย์เท่านั้น ขณะที่ 1.0 จะจับคู่กับทุกอย่าง

ผสมผสาน
เปอร์เซ็นต์การผสม

0.0 ทำให้พิกเซลมีความโปร่งใสทั้งหมด หรือไม่โปร่งใสเลย

ค่าที่สูงขึ้นส่งผลให้พิกเซลกึ่งโปร่งใส มีความโปร่งใสมากขึ้น
สีของพิกเซลคล้ายกับสีหลัก

ตัวอย่าง

· ทำให้ทุกพิกเซลสีเขียวในภาพอินพุตโปร่งใส:

ffmpeg -i input.png -vf colorkey=สีเขียวออก.png

· วางซ้อนวิดีโอกรีนสกรีนบนภาพพื้นหลังแบบคงที่

ffmpeg -i background.png -i video.mp4 -filter_complex "[1:v]colorkey=0x3BBD1E:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.flv

ระดับสี
ปรับเฟรมอินพุตวิดีโอโดยใช้ระดับ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ริมิน
จีมิน
บีมิน
เป้าหมาย
ปรับจุดสีดำอินพุตสีแดง เขียว น้ำเงิน และอัลฟ่า ช่วงที่อนุญาตสำหรับตัวเลือกคือ
"[-1.0, 1.0]". ค่าเริ่มต้นคือ 0

ไรแม็กซ์
กิแม็กซ์
บิแม็กซ์
เป้าหมาย
ปรับจุดสีขาวอินพุตสีแดง เขียว น้ำเงิน และอัลฟ่า ช่วงที่อนุญาตสำหรับตัวเลือกคือ
"[-1.0, 1.0]". ค่าเริ่มต้นคือ 1

ระดับอินพุตใช้เพื่อทำให้ไฮไลท์สว่างขึ้น (โทนสว่าง) ทำให้เงามืด (มืด
โทนสี) เปลี่ยนความสมดุลของโทนสีสว่างและสีเข้ม

โรมิน
โกมิน
โบมิน
อาโอมิน
ปรับจุดสีดำเอาต์พุตสีแดง เขียว น้ำเงิน และอัลฟ่า ช่วงที่อนุญาตสำหรับตัวเลือกคือ
"[0, 1.0]". ค่าเริ่มต้นคือ 0

โรแมกซ์
ยางx
โบแม็กซ์
เอโอแม็กซ์
ปรับจุดสีขาวของเอาต์พุตสีแดง เขียว น้ำเงิน และอัลฟ่า ช่วงที่อนุญาตสำหรับตัวเลือกคือ
"[0, 1.0]". ค่าเริ่มต้นคือ 1

ระดับเอาต์พุตช่วยให้สามารถเลือกช่วงระดับเอาต์พุตที่จำกัดได้ด้วยตนเอง

ตัวอย่าง

· ทำให้เอาต์พุตวิดีโอมืดลง:

ระดับสี=ริมิน=0.058:gimin=0.058:บิมิน=0.058

· เพิ่มความคมชัด:

colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96

· ทำให้เอาต์พุตวิดีโอเบาลง:

ระดับสี=rimax=0.902:gimax=0.902:bimax=0.902

· เพิ่มความสว่าง:

ระดับสี=โรมิน=0.5:โกมิน=0.5:โบมิน=0.5

เครื่องผสมสี
ปรับเฟรมอินพุตวิดีโอโดยผสมช่องสีใหม่

ตัวกรองนี้แก้ไขช่องสีโดยการเพิ่มค่าที่เกี่ยวข้องกับช่องอื่นๆ
ของพิกเซลเดียวกัน ตัวอย่างเช่น หากค่าที่จะแก้ไขเป็นสีแดง ค่าผลลัพธ์จะเป็น:

= * + * + * + *

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

rr
rg
rb
ra ปรับการมีส่วนร่วมของช่องสัญญาณอินพุตสีแดง เขียว น้ำเงิน และอัลฟ่าสำหรับเอาต์พุตสีแดง
ช่อง. ค่าเริ่มต้นคือ 1 สำหรับ rrและ 0 สำหรับ rg, rb และ ra.

gr
gg
gb
ga ปรับการมีส่วนร่วมของช่องสัญญาณอินพุตสีแดง เขียว น้ำเงิน และอัลฟ่าสำหรับเอาต์พุตสีเขียว
ช่อง. ค่าเริ่มต้นคือ 1 สำหรับ ggและ 0 สำหรับ gr, gb และ ga.

br
bg
bb
ba ปรับการมีส่วนร่วมของช่องสัญญาณอินพุตสีแดง เขียว น้ำเงิน และอัลฟ่าสำหรับเอาต์พุตสีน้ำเงิน
ช่อง. ค่าเริ่มต้นคือ 1 สำหรับ bbและ 0 สำหรับ br, bg และ ba.

ar
ag
ab
aa ปรับการมีส่วนร่วมของช่องสัญญาณอินพุตสีแดง เขียว น้ำเงิน และอัลฟาสำหรับเอาต์พุต alpha
ช่อง. ค่าเริ่มต้นคือ 1 สำหรับ aaและ 0 สำหรับ ar, ag และ ab.

ช่วงที่อนุญาตสำหรับตัวเลือกคือ "[-2.0, 2.0]"

ตัวอย่าง

· แปลงแหล่งที่มาเป็นระดับสีเทา:

colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3

· จำลองโทนสีซีเปีย:

colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131

เมทริกซ์สี
แปลงเมทริกซ์สี

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

สิ่งอำนวยความสะดวก
dst ระบุเมทริกซ์สีต้นทางและปลายทาง ต้องระบุทั้งสองค่า

ค่าที่ยอมรับคือ:

bt709
BT.709

bt601
BT.601

เอสเอ็มพีเต้240ม
เอสพีทีอี-240เอ็ม

FCC FCC

ตัวอย่างเช่นในการแปลงจาก BT.601 เป็น SMPTE-240M ให้ใช้คำสั่ง:

colormatrix=bt601:smpte240m

สำเนา
คัดลอกแหล่งอินพุตที่ไม่เปลี่ยนแปลงไปยังเอาต์พุต สิ่งนี้มีประโยชน์หลักสำหรับวัตถุประสงค์ในการทดสอบ

พืชผล
ครอบตัดวิดีโออินพุตตามขนาดที่กำหนด

ยอมรับพารามิเตอร์ต่อไปนี้:

w, ออก_w
ความกว้างของวิดีโอที่ส่งออก มีค่าเริ่มต้นเป็น "iw" นิพจน์นี้ได้รับการประเมินเท่านั้น
หนึ่งครั้งระหว่างการกำหนดค่าตัวกรอง หรือเมื่อ w or ออก_w คำสั่งถูกส่ง

h, ออก_h
ความสูงของวิดีโอที่ส่งออก มีค่าเริ่มต้นเป็น "ih" นิพจน์นี้ได้รับการประเมิน
เพียงครั้งเดียวในระหว่างการกำหนดค่าตัวกรองหรือเมื่อ h or ออก_h คำสั่งถูกส่ง

x ตำแหน่งแนวนอนในวิดีโออินพุต ของขอบด้านซ้ายของวิดีโอเอาต์พุต มัน
ค่าเริ่มต้นเป็น "(in_w-out_w)/2" นิพจน์นี้ได้รับการประเมินต่อเฟรม

y ตำแหน่งแนวตั้งในวิดีโออินพุต ของขอบด้านบนของวิดีโอเอาต์พุต มัน
ค่าเริ่มต้นเป็น "(in_h-out_h)/2" นิพจน์นี้ได้รับการประเมินต่อเฟรม

Keep_aspect
หากตั้งค่าเป็น 1 จะบังคับให้อัตราส่วนกว้างยาวของการแสดงผลเอาต์พุตเท่ากับอินพุตโดย
การเปลี่ยนอัตราส่วนกว้างยาวของตัวอย่างเอาต์พุต มีค่าเริ่มต้นเป็น 0

พื้นที่ ออก_w, ออก_h, x, y พารามิเตอร์คือนิพจน์ที่มีค่าคงที่ต่อไปนี้:

x
y ค่าที่คำนวณได้สำหรับ x และ y. พวกเขาจะประเมินสำหรับแต่ละเฟรมใหม่

ใน_w
ใน_h
ความกว้างและความสูงของอินพุต

iw
ih พวกนี้ก็เหมือนกับ ใน_w และ ใน_h.

ออก_w
ออก_h
ความกว้างและความสูงเอาต์พุต (ครอบตัด)

ow
oh พวกนี้ก็เหมือนกับ ออก_w และ ออก_h.

a เช่นเดียวกับที่ iw / ih

sar อินพุตอัตราส่วนตัวอย่าง

Dar อัตราส่วนการแสดงผลอินพุตจะเหมือนกับ (iw / ih) * sar

ฮซบ
เทียบกับ
ค่าตัวอย่างย่อยของสีแนวนอนและแนวตั้ง ตัวอย่างเช่นสำหรับรูปแบบพิกเซล
"yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

n จำนวนเฟรมอินพุตเริ่มต้นจาก 0

โพสต์ ตำแหน่งในไฟล์ของเฟรมอินพุต NAN ถ้าไม่ทราบ

t การประทับเวลาแสดงเป็นวินาที เป็น NAN หากไม่ทราบการประทับเวลาของอินพุต

นิพจน์สำหรับ ออก_w อาจขึ้นอยู่กับมูลค่าของ ออก_hและนิพจน์สำหรับ ออก_h
อาจขึ้นอยู่กับ ออก_wแต่ก็พึ่งพาไม่ได้ x และ yเป็น x และ y ได้รับการประเมินหลังจาก
ออก_w และ ออก_h.

พื้นที่ x และ y พารามิเตอร์ระบุนิพจน์สำหรับตำแหน่งของมุมบนซ้ายของ
พื้นที่ส่งออก (ไม่ครอบตัด) พวกเขาจะประเมินสำหรับแต่ละเฟรม หากประเมินมูลค่า
ไม่ถูกต้อง เป็นการประมาณค่าที่ถูกต้องที่ใกล้ที่สุด

นิพจน์สำหรับ x อาจขึ้นอยู่กับ yและนิพจน์สำหรับ y อาจขึ้นอยู่กับ x.

ตัวอย่าง

· พื้นที่เพาะปลูกขนาด 100x100 ที่ตำแหน่ง (12,34)

ครอบตัด=100:100:12:34

การใช้ตัวเลือกที่มีชื่อ ตัวอย่างข้างต้นจะกลายเป็น:

พืชผล=w=100:h=100:x=12:y=34

· ครอบตัดพื้นที่อินพุตกลางด้วยขนาด 100x100:

ครอบตัด=100:100

· ครอบตัดพื้นที่อินพุตกลางด้วยขนาด 2/3 ของวิดีโออินพุต:

ครอบตัด=2/3*in_w:2/3*in_h

·ครอบตัดสี่เหลี่ยมจัตุรัสกลางวิดีโออินพุต:

พืชผล=out_w=in_h
พืชผล=in_h

· คั่นสี่เหลี่ยมผืนผ้าโดยวางมุมบนซ้ายไว้ที่ตำแหน่ง 100:100 และ
มุมล่างขวาที่ตรงกับมุมล่างขวาของภาพที่ป้อน

ครอบตัด=in_w-100:in_h-100:100:100

· ครอบตัด 10 พิกเซลจากขอบซ้ายและขวา และ 20 พิกเซลจากด้านบนและด้านล่าง
พรมแดน

ครอบตัด=in_w-2*10:in_h-2*20

· เก็บเฉพาะช่วงล่างขวาของภาพที่ป้อน:

ครอบตัด=in_w/2:in_h/2:in_w/2:in_h/2

· ครอบตัดความสูงเพื่อให้ได้ความสามัคคีแบบกรีก:

พืชผล=in_w:1/PHI*in_w

· ใช้เอฟเฟกต์ตัวสั่น:

crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(n/10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(n/7)

· ใช้เอฟเฟกต์กล้องเอาแน่เอานอนไม่ได้ขึ้นอยู่กับการประทับเวลา:

crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(t*10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(t*13)"

· ตั้งค่า x ขึ้นอยู่กับค่าของ y:

crop=in_w/2:in_h/2:y:10+10*sin(n/10)

คำสั่ง

ตัวกรองนี้สนับสนุนคำสั่งต่อไปนี้:

w, ออก_w
h, ออก_h
x
y ตั้งค่าความกว้าง/ความสูงของวิดีโอเอาต์พุตและตำแหน่งแนวนอน/แนวตั้งในอินพุต
วิดีโอ คำสั่งยอมรับไวยากรณ์เดียวกันของตัวเลือกที่เกี่ยวข้อง

ถ้านิพจน์ที่ระบุไม่ถูกต้อง นิพจน์นั้นจะถูกเก็บไว้ที่ค่าปัจจุบัน

ตรวจจับการครอบตัด
ตรวจจับขนาดการครอบตัดอัตโนมัติ

มันคำนวณพารามิเตอร์การครอบตัดที่จำเป็นและพิมพ์พารามิเตอร์ที่แนะนำผ่าน
ระบบการบันทึก ขนาดที่ตรวจพบสอดคล้องกับพื้นที่ที่ไม่ใช่สีดำของอินพุต
วีดีโอ

ยอมรับพารามิเตอร์ต่อไปนี้:

จำกัด
ตั้งค่าขีดจำกัดค่าสีดำที่สูงกว่า ซึ่งสามารถระบุได้จากไม่มีอะไร (0)
กับทุกสิ่ง (255 สำหรับรูปแบบที่ใช้ 8 บิต) ค่าความเข้มที่มากกว่าชุด
ค่าถือว่าไม่ใช่สีดำ ค่าเริ่มต้นคือ 24 นอกจากนี้คุณยังสามารถระบุค่า
ระหว่าง 0.0 ถึง 1.0 ซึ่งจะถูกปรับขนาดขึ้นอยู่กับความลึกของพิกเซล
จัดรูปแบบ

ปัดเศษ
ค่าที่ความกว้าง/ความสูงควรหารด้วย ค่าเริ่มต้นคือ 16 ออฟเซ็ต
จะถูกปรับโดยอัตโนมัติเพื่อจัดวิดีโอให้อยู่ตรงกลาง ใช้ 2 เพื่อให้ได้ขนาดเท่ากัน
(จำเป็นสำหรับวิดีโอ 4:2:2) 16 ดีที่สุดเมื่อเข้ารหัสไปยังตัวแปลงสัญญาณวิดีโอส่วนใหญ่

รีเซ็ต_นับ ตั้งใหม่
ตั้งค่าตัวนับที่กำหนดหลังจากจำนวนเฟรมที่ cropdetect จะรีเซ็ต
ก่อนหน้านี้ตรวจพบพื้นที่วิดีโอที่ใหญ่ที่สุดและเริ่มต้นใหม่เพื่อตรวจหาปัจจุบันที่เหมาะสมที่สุด
พื้นที่เพาะปลูก ค่าเริ่มต้นคือ 0

ซึ่งจะมีประโยชน์เมื่อโลโก้ช่องบิดเบือนพื้นที่วิดีโอ 0 หมายถึง 'ไม่เคย
รีเซ็ต' และคืนค่าพื้นที่ที่ใหญ่ที่สุดที่พบระหว่างการเล่น

เส้นโค้ง
ใช้การปรับสีโดยใช้เส้นโค้ง

ตัวกรองนี้คล้ายกับเครื่องมือ Adobe Photoshop และ GIMP Curves แต่ละองค์ประกอบ (สีแดง,
สีเขียวและสีน้ำเงิน) มีค่าที่กำหนดโดย N ประเด็นสำคัญที่ผูกโยงกันอย่างราบรื่น
เส้นโค้ง แกน x แทนค่าพิกเซลจากเฟรมอินพุต และแกน y ค่าใหม่
ค่าพิกเซลที่จะตั้งค่าสำหรับเฟรมผลลัพธ์

โดยค่าเริ่มต้น เส้นโค้งองค์ประกอบถูกกำหนดโดยจุดสองจุด (0;0) และ (1;1). สิ่งนี้จะสร้างไฟล์
เส้นตรงที่ค่าพิกเซลดั้งเดิมแต่ละค่า "ปรับ" เป็นค่าของตัวเอง ซึ่งหมายความว่า
ไม่มีการเปลี่ยนแปลงกับภาพ

ตัวกรองช่วยให้คุณกำหนดจุดสองจุดนี้ใหม่และเพิ่มจุดอื่นๆ เส้นโค้งใหม่ (โดยใช้ a
การแก้ไขเส้นโค้งลูกบาศก์ธรรมชาติ) จะถูกกำหนดให้ผ่านไปอย่างราบรื่นผ่านสิ่งใหม่ๆ เหล่านี้
พิกัด. จุดที่กำหนดใหม่จะต้องเพิ่มขึ้นอย่างเคร่งครัดบนแกน x และ
ของพวกเขา x และ y ค่าจะต้องอยู่ใน [0;1] ช่วงเวลา ถ้าเส้นโค้งคำนวณเกิดขึ้น
นอกช่องว่างเวกเตอร์ ค่าจะถูกตัดตามนั้น

หากไม่มีการกำหนดจุดสำคัญใน "x=0" ตัวกรองจะแทรก a . โดยอัตโนมัติ (0;0)
จุด. ในทำนองเดียวกัน หากไม่มีจุดสำคัญที่กำหนดไว้ใน "x=1" ตัวกรองจะ
แทรก a . โดยอัตโนมัติ (1;1) จุด.

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ตั้งล่วงหน้า
เลือกค่าที่ตั้งไว้ล่วงหน้าสีที่มีอยู่ สามารถใช้ตัวเลือกนี้นอกเหนือจาก
r, g, b พารามิเตอร์; ในกรณีนี้ ตัวเลือกภายหลังจะมีความสำคัญกับค่าที่ตั้งไว้ล่วงหน้า
ค่านิยม ค่าที่ตั้งไว้ล่วงหน้าที่ใช้ได้คือ:

ไม่มี
สี_ลบ
ข้ามกระบวนการ
เข้ม
เพิ่ม_ความคมชัด
น้ำหนักเบา
เส้นตรง_ความเปรียบต่าง
ปานกลาง_คอนทราสต์
เชิงลบ
แข็งแกร่ง_คอนทราสต์
เหล้าองุ่น

ค่าเริ่มต้นคือ "ไม่มี"

ต้นแบบ m
กำหนดจุดมาสเตอร์คีย์ จุดเหล่านี้จะกำหนดการจับคู่ครั้งที่สอง มันคือ
บางครั้งเรียกว่าการทำแผนที่ "ความสว่าง" หรือ "ค่า" ใช้ได้กับ r, g, b or ทั้งหมด
เพราะมันทำหน้าที่เหมือน LUT หลังการประมวลผล

สีแดง, r
กำหนดจุดสำคัญสำหรับองค์ประกอบสีแดง

สีเขียว, g
กำหนดประเด็นสำคัญสำหรับองค์ประกอบสีเขียว

สีน้ำเงิน, b
กำหนดจุดสำคัญสำหรับองค์ประกอบสีน้ำเงิน

ทั้งหมด กำหนดประเด็นสำคัญสำหรับส่วนประกอบทั้งหมด (ไม่รวมต้นแบบ) สามารถใช้ได้อีกด้วย
ไปยังตัวเลือกองค์ประกอบประเด็นสำคัญอื่นๆ ในกรณีนี้ ส่วนประกอบที่ไม่ได้ตั้งค่าจะ
ทางเลือกนี้ ทั้งหมด การตั้งค่า

psfile.psfile
ระบุไฟล์โค้ง Photoshop (".asv") เพื่อนำเข้าการตั้งค่าจาก

เพื่อหลีกเลี่ยงความขัดแย้งทางไวยากรณ์ของตัวกรองกราฟ จะต้องกำหนดรายการจุดสำคัญแต่ละรายการโดยใช้
ไวยากรณ์ต่อไปนี้: "x0/y0 x1/y1 x2/y2 ..."

ตัวอย่าง

· เพิ่มระดับกลางของสีน้ำเงินเล็กน้อย:

เส้นโค้ง=สีน้ำเงิน='0.5/0.58'

· เอฟเฟกต์วินเทจ:

curves=r='0/0.11 .42/.51 1/0.95':g='0.50/0.48':b='0/0.22 .49/.44 1/0.8'

ที่นี่เราได้รับพิกัดต่อไปนี้สำหรับแต่ละส่วนประกอบ:

สีแดง "(0;0.11) (0.42;0.51) (1;0.95)"

สีเขียว
"(0;0) (0.50;0.48) (1;1)"

สีน้ำเงิน
"(0;0.22) (0.49;0.44) (1;0.80)"

· ตัวอย่างก่อนหน้านี้สามารถทำได้ด้วยพรีเซ็ตในตัวที่เกี่ยวข้อง:

เส้นโค้ง=ที่ตั้งไว้ล่วงหน้า=วินเทจ

· หรือเพียงแค่:

เส้นโค้ง=วินเทจ

· ใช้พรีเซ็ต Photoshop และกำหนดจุดขององค์ประกอบสีเขียวใหม่:

Curves=psfile='MyCurvesPresets/purple.asv':green='0.45/0.53'

ไดคัทดโนอิซ
ลดขนาดเฟรมโดยใช้ 2D DCT (การกรองโดเมนความถี่)

ตัวกรองนี้ไม่ได้ออกแบบมาสำหรับเรียลไทม์

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ซิกม่า, s
ตั้งค่าค่าคงที่ซิกมาของสัญญาณรบกวน

ซิก กำหนดเกณฑ์ยากของ "3 * ซิกมา"; ทุกค่าสัมประสิทธิ์ DCT (สัมบูรณ์
ค่า) ต่ำกว่าเกณฑ์นี้ด้วยการดรอป

หากคุณต้องการการกรองขั้นสูง โปรดดูที่ ด่วน.

ค่าเริ่มต้นคือ 0

คาบเกี่ยวกัน
ตั้งค่าพิกเซลที่ทับซ้อนกันสำหรับแต่ละบล็อก เนื่องจากตัวกรองอาจทำงานช้า คุณอาจ
ต้องการลดค่านี้ด้วยต้นทุนของตัวกรองที่มีประสิทธิภาพน้อยกว่าและความเสี่ยงของ
สิ่งประดิษฐ์ต่างๆ

หากค่าที่ทับซ้อนกันไม่อนุญาตให้ประมวลผลความกว้างหรือความสูงของอินพุตทั้งหมด a
คำเตือนจะปรากฏขึ้นและจะไม่ละเว้นตามเส้นขอบ

ค่าเริ่มต้นคือ ขนาดบล็อก-1 ซึ่งเป็นการตั้งค่าที่ดีที่สุด

ประสบการณ์, e
ตั้งค่านิพจน์ปัจจัยสัมประสิทธิ์

สำหรับแต่ละค่าสัมประสิทธิ์ของบล็อก DCT นิพจน์นี้จะถูกประเมินเป็นตัวคูณ
ค่าสัมประสิทธิ์

หากตั้งค่าตัวเลือกนี้ไว้ ค่า ซิก ตัวเลือกจะถูกละเว้น

ค่าสัมบูรณ์ของสัมประสิทธิ์สามารถเข้าถึงได้ผ่านทาง c ตัวแปร

n ตั้ง ขนาดบล็อก โดยใช้จำนวนบิต "1<n" กำหนด ขนาดบล็อกซึ่งก็คือ
ความกว้างและความสูงของบล็อกที่ประมวลผล

ค่าเริ่มต้นคือ 3 (8x8) และสามารถยกเป็น 4 สำหรับ ขนาดบล็อก ขนาด 16x16. บันทึก
การเปลี่ยนการตั้งค่านี้มีผลอย่างมากต่อการประมวลผลความเร็ว นอกจากนี้ a
ขนาดบล็อกที่ใหญ่ขึ้นไม่ได้หมายความว่าจะลดเสียงรบกวนได้ดีขึ้น

ตัวอย่าง

ใช้ denoise ด้วย a ซิก จาก 4.5:

dctdnoiz=4.5

การดำเนินการเดียวกันสามารถทำได้โดยใช้ระบบนิพจน์:

dctdnoiz=e='gte(c, 4.5*3)'

denoise รุนแรงโดยใช้บล็อกขนาด "16x16":

dctdnoiz=15:n=4

เดแบนด์
ลบสิ่งประดิษฐ์แถบสีออกจากวิดีโออินพุต ทำงานโดยแทนที่พิกเซลที่มีแถบสีด้วย
ค่าเฉลี่ยของพิกเซลอ้างอิง

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

วันที่ 1
วันที่ 2
วันที่ 3
วันที่ 4
ตั้งค่าเกณฑ์การตรวจจับแถบสำหรับเครื่องบินแต่ละลำ ค่าเริ่มต้นคือ 0.02 ช่วงที่ถูกต้องคือ
0.00003 ถึง 0.5 หากความแตกต่างระหว่างพิกเซลปัจจุบันและพิกเซลอ้างอิงน้อยกว่า
เกณฑ์ก็จะถือว่าเป็นแถบ

พิสัย, r
ช่วงการตรวจจับแถบเป็นพิกเซล ค่าเริ่มต้นคือ 16 ถ้าบวก สุ่มตัวเลขในช่วง
ระบบจะใช้ 0 เพื่อตั้งค่า หากเป็นลบ จะใช้ค่าสัมบูรณ์ที่แน่นอน ดิ
range กำหนดกำลังสองของสี่พิกเซลรอบ ๆ พิกเซลปัจจุบัน

ทิศทาง, d
กำหนดทิศทางเป็นเรเดียนที่จะเปรียบเทียบสี่พิกเซล ถ้าบวกสุ่ม
ทิศทางจาก 0 ถึงทิศทางที่ตั้งไว้จะถูกเลือก หากเป็นลบ ค่าที่แน่นอนของค่าสัมบูรณ์
จะถูกเลือก ตัวอย่างเช่น ทิศทาง 0, -PI หรือ -2*PI เรเดียนจะเลือกเฉพาะพิกเซลบน
แถวเดียวกันและ -PI/2 จะเลือกเฉพาะพิกเซลในคอลัมน์เดียวกัน

เบลอ
หากเปิดใช้งาน พิกเซลปัจจุบันจะถูกเปรียบเทียบกับค่าเฉลี่ยของทั้งสี่รอบ
พิกเซล ค่าเริ่มต้นถูกเปิดใช้งาน หากพิกเซลปัจจุบันที่ปิดใช้งานถูกเปรียบเทียบกับทั้งสี่
พิกเซลโดยรอบ พิกเซลจะถือเป็นแถบสีหากมีความแตกต่างทั้งสี่ด้วย
พิกเซลโดยรอบมีค่าน้อยกว่าเกณฑ์

Decimate
วางเฟรมที่ซ้ำกันในช่วงเวลาปกติ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

วงจร
กำหนดจำนวนเฟรมที่จะดร็อปเฟรมหนึ่ง กำลังตั้งค่านี้เป็น N หมายถึงหนึ่ง
กรอบในทุกชุดของ N เฟรมจะลดลง ค่าเริ่มต้นคือ 5

ดัพเทรช
กำหนดเกณฑ์สำหรับการตรวจหารายการซ้ำ หากตัววัดผลต่างสำหรับเฟรมคือ
น้อยกว่าหรือเท่ากับค่านี้ จากนั้นจะประกาศว่าซ้ำกัน ค่าเริ่มต้นคือ 1.1

สเครช
กำหนดเกณฑ์การเปลี่ยนฉาก ค่าเริ่มต้นคือ 15

บล็อกx
บล็อก
กำหนดขนาดของบล็อกแกน x และ y ที่ใช้ระหว่างการคำนวณเมตริก ใหญ่ขึ้น
บล็อคช่วยลดเสียงรบกวนได้ดีขึ้น แต่ยังให้การตรวจจับขนาดเล็กที่แย่ลงอีกด้วย
การเคลื่อนไหว ต้องเป็นกำลังสอง ค่าเริ่มต้นคือ 32

พีพีอาร์ซี
ทำเครื่องหมายอินพุตหลักเป็นอินพุตที่ประมวลผลล่วงหน้าและเปิดใช้งานสตรีมอินพุตที่สะอาด นี้
อนุญาตให้ประมวลผลอินพุตล่วงหน้าด้วยตัวกรองต่างๆ เพื่อช่วยเมตริก
การคำนวณในขณะที่รักษาการเลือกเฟรมแบบไม่สูญเสีย เมื่อตั้งค่าเป็น 1 ตัวแรก
สตรีมมีไว้สำหรับอินพุตที่ประมวลผลล่วงหน้า และสตรีมที่สองคือแหล่งที่มาที่สะอาดจาก
โดยเลือกเฟรมที่เก็บไว้ ค่าเริ่มต้นคือ 0

ความเข้มของสี
กำหนดว่าจะให้พิจารณา Chroma หรือไม่ในการคำนวณแบบเมตริก ค่าเริ่มต้นคือ 1

ยุบ
ใช้เอฟเฟกต์ยุบตัวกับวิดีโอ

ตัวกรองนี้แทนที่พิกเซลด้วย ในประเทศ(3x3) เฉลี่ยโดยพิจารณาเท่านั้น
ค่าที่ต่ำกว่าพิกเซล

ยอมรับตัวเลือกต่อไปนี้:

ธรณีประตู0
ธรณีประตู1
ธรณีประตู2
ธรณีประตู3
จำกัดการเปลี่ยนแปลงสูงสุดสำหรับแต่ละระนาบ ค่าเริ่มต้นคือ 65535 หาก 0 เครื่องบินจะยังคงอยู่
ไม่เปลี่ยนแปลง

ผู้ตัดสิน
ลบผู้พิพากษาที่เกิดจากเนื้อหา telecined แบบอินเทอร์เลซบางส่วน

สามารถแนะนำ Judder ได้ เช่น โดย ดึงขึ้น กรอง. ถ้าต้นทางคือ
เนื้อหา telecined บางส่วนแล้วผลลัพธ์ของ "pullup, dejudder" จะมีตัวแปร
อัตราเฟรม อาจเปลี่ยนอัตราเฟรมที่บันทึกไว้ของคอนเทนเนอร์ นอกจากการเปลี่ยนแปลงนั้นแล้ว
ตัวกรองนี้จะไม่ส่งผลต่อวิดีโออัตราเฟรมคงที่

ตัวเลือกที่มีอยู่ในตัวกรองนี้คือ:

วงจร
ระบุความยาวของหน้าต่างที่ผู้พิพากษาทำซ้ำ

ยอมรับจำนวนเต็มที่มากกว่า 1 ค่าที่เป็นประโยชน์คือ:

4 หากต้นฉบับถูก telecined จาก 24 ถึง 30 fps (ฟิล์มเป็น NTSC)

5 หากต้นฉบับถูก telecined จาก 25 ถึง 30 fps (PAL ถึง NTSC)

20 หากเป็นส่วนผสมของทั้งสอง

ค่าเริ่มต้นคือ 4.

โลโก้
ปิดโลโก้สถานีโทรทัศน์ด้วยการสอดแทรกพิกเซลรอบๆ อย่างง่าย เพียงแค่ตั้งค่า a
สี่เหลี่ยมปิดโลโก้แล้วดูมันหายไป (และบางครั้งก็น่าเกลียดกว่า
ปรากฏขึ้น - ระยะของคุณอาจแตกต่างกัน)

ยอมรับพารามิเตอร์ต่อไปนี้:

x
y ระบุพิกัดมุมบนซ้ายของโลโก้ ต้องระบุ

w
h ระบุความกว้างและความสูงของโลโก้ให้ชัดเจน ต้องระบุ

วงดนตรี t
ระบุความหนาของขอบฟัซซี่ของสี่เหลี่ยมผืนผ้า (เพิ่มไปยัง w และ h)
ค่าเริ่มต้นคือ 4

โชว์
เมื่อตั้งค่าเป็น 1 สี่เหลี่ยมสีเขียวจะถูกวาดบนหน้าจอเพื่อทำให้การค้นหาด้านขวาง่ายขึ้น
x, y, wและ h พารามิเตอร์ ค่าเริ่มต้นคือ 0

สี่เหลี่ยมผืนผ้าถูกวาดบนพิกเซลด้านนอกสุดซึ่งจะถูกแทนที่ (บางส่วน) ด้วย
ค่าที่สอดแทรก ค่าของพิกเซลถัดไปที่อยู่นอกสี่เหลี่ยมนี้ทันที
ในแต่ละทิศทางจะถูกใช้ในการคำนวณค่าพิกเซลที่มีการสอดแทรกภายใน
สี่เหลี่ยมผืนผ้า.

ตัวอย่าง

· กำหนดสี่เหลี่ยมผืนผ้าครอบคลุมพื้นที่ด้วยพิกัดมุมบนซ้าย 0,0 และ size
100x77 และแถบขนาด 10:

delogo=x=0:y=0:w=100:h=77:band=10

เขย่า
พยายามแก้ไขการเปลี่ยนแปลงเล็กน้อยในการเลื่อนแนวนอนและ/หรือแนวตั้ง ตัวกรองนี้ช่วยลบ
อาการกล้องสั่นจากการถือกล้องด้วยมือ การกระแทกขาตั้งกล้อง การเคลื่อนตัวบนยานพาหนะ ฯลฯ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

x
y
w
h ระบุพื้นที่สี่เหลี่ยมที่จะจำกัดการค้นหาเวกเตอร์การเคลื่อนที่ ถ้าต้องการ
การค้นหาเวกเตอร์การเคลื่อนที่สามารถจำกัดให้อยู่ในพื้นที่สี่เหลี่ยมของเฟรมได้
กำหนดโดยมุมบนซ้าย ความกว้าง และความสูง พารามิเตอร์เหล่านี้มีค่าเท่ากัน
ความหมายเป็นตัวกรอง Drawbox ที่สามารถใช้แสดงตำแหน่งของ
กล่องขอบ

สิ่งนี้มีประโยชน์เมื่ออาจเคลื่อนไหวพร้อมกันของวัตถุภายในเฟรมได้
สับสนสำหรับการเคลื่อนไหวของกล้องโดยการค้นหาเวกเตอร์การเคลื่อนไหว

ถ้ามีหรือทั้งหมด x, y, w และ h ตั้งค่าเป็น -1 จากนั้นจึงใช้ฟูลเฟรม สิ่งนี้ทำให้
ตัวเลือกภายหลังที่จะตั้งค่าโดยไม่ระบุกรอบขอบเขตสำหรับเวกเตอร์การเคลื่อนไหว
ค้นหา.

ค่าเริ่มต้น - ค้นหาทั้งเฟรม

rx
ry ระบุขอบเขตสูงสุดของการเคลื่อนไหวในทิศทาง x และ y ในช่วง 0-64 พิกเซล
ค่าเริ่มต้น 16.

ขอบ
ระบุวิธีสร้างพิกเซลเพื่อเติมช่องว่างที่ขอบของเฟรม มีอยู่
ค่าคือ:

ว่างเปล่า, 0
เติมศูนย์ในที่ว่าง

เดิม 1
ภาพต้นฉบับที่ตำแหน่งว่าง

ที่หนีบ, 2
ค่าขอบอัดที่ตำแหน่งว่าง

กระจกเงา, 3
ขอบกระจกที่ตำแหน่งว่าง

ค่าเริ่มต้นคือ กระจก.

ขนาดบล็อก
ระบุขนาดบล็อกที่จะใช้สำหรับการค้นหาการเคลื่อนไหว ช่วง 4-128 พิกเซล ค่าเริ่มต้น 8

ตรงกันข้าม
ระบุเกณฑ์ความคมชัดสำหรับบล็อก เฉพาะบล็อกที่มีมากกว่าที่กำหนด
คอนทราสต์ (ความแตกต่างระหว่างพิกเซลที่มืดที่สุดและสว่างที่สุด) จะได้รับการพิจารณา พิสัย
1-255 ค่าเริ่มต้น 125

ค้นหา
ระบุกลยุทธ์การค้นหา ค่าที่ใช้ได้คือ:

หมดจด, 0
ตั้งค่าการค้นหาอย่างละเอียดถี่ถ้วน

น้อยกว่า 1
ตั้งค่าการค้นหาที่ละเอียดน้อยกว่า

ค่าเริ่มต้นคือ ครอบคลุม.

ชื่อไฟล์
หากตั้งค่าไว้ บันทึกโดยละเอียดของการค้นหาการเคลื่อนไหวจะถูกเขียนไปยังไฟล์ที่ระบุ

โอเพนซีแอล
หากตั้งค่าเป็น 1 ให้ระบุโดยใช้ความสามารถของ OpenCL ใช้ได้เฉพาะเมื่อ FFmpeg เป็น
กำหนดค่าด้วย "--enable-opencl" ค่าเริ่มต้นคือ 0

ดีเทเลซีน
ใช้การผกผันที่แน่นอนของการดำเนินการทางไกล ต้องใช้รูปแบบที่กำหนดไว้ล่วงหน้า
ระบุโดยใช้ตัวเลือกรูปแบบซึ่งจะต้องเหมือนกับที่ส่งผ่านไปยัง telecine
กรอง.

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้:

first_field
ด้านบน t
ท็อปฟิลด์ก่อน

ด้านล่าง b
ช่องล่างก่อน ค่าเริ่มต้นคือ "ด้านบน"

Belt hold
สตริงตัวเลขที่แสดงรูปแบบพูลดาวน์ที่คุณต้องการใช้ ค่าเริ่มต้น
ค่าคือ 23

start_frame
ตัวเลขแทนตำแหน่งของเฟรมแรกเทียบกับ telecine
ลวดลาย. ใช้ในกรณีที่สตรีมถูกตัด ค่าเริ่มต้นคือ 0

การขยายตัว
ใช้เอฟเฟกต์การขยายภาพกับวิดีโอ

ตัวกรองนี้แทนที่พิกเซลด้วย ในประเทศสูงสุด (3x3)

ยอมรับตัวเลือกต่อไปนี้:

ธรณีประตู0
ธรณีประตู1
ธรณีประตู2
ธรณีประตู3
จำกัดการเปลี่ยนแปลงสูงสุดสำหรับแต่ละระนาบ ค่าเริ่มต้นคือ 65535 หาก 0 เครื่องบินจะยังคงอยู่
ไม่เปลี่ยนแปลง

พิกัด
แฟล็กซึ่งระบุพิกเซลที่จะอ้างถึง ค่าเริ่มต้นคือ 255 นั่นคือทั้งหมดแปดพิกเซลเป็น
มือสอง

ตั้งค่าสถานะเป็นแผนที่พิกัด 3x3 ในพื้นที่ดังนี้:

1 2 3
4 5
6 7 8

กล่องลิ้นชัก
วาดกล่องสีบนภาพที่ป้อน

ยอมรับพารามิเตอร์ต่อไปนี้:

x
y นิพจน์ที่ระบุพิกัดมุมบนซ้ายของกล่อง เป็นค่าเริ่มต้น
เพื่อ 0

ความกว้าง w
ความสูง h
นิพจน์ที่ระบุความกว้างและความสูงของกล่อง ถ้า 0 พวกเขาคือ
ตีความว่าเป็นความกว้างและความสูงของอินพุต มีค่าเริ่มต้นเป็น 0

สี, c
ระบุสีของกล่องที่จะเขียน สำหรับไวยากรณ์ทั่วไปของตัวเลือกนี้ ให้เลือก
ส่วน "สี" ในคู่มือ ffmpeg-utils หากใช้ค่าพิเศษ "กลับด้าน"
สีของขอบกล่องเหมือนกับวิดีโอที่มี luma กลับด้าน

ความหนา, t
นิพจน์ที่กำหนดความหนาของขอบกล่อง ค่าเริ่มต้นคือ 3

ดูรายการค่าคงที่ที่ยอมรับด้านล่าง

พารามิเตอร์สำหรับ x, y, w และ h และ t เป็นนิพจน์ที่มีค่าคงที่ต่อไปนี้:

Dar อัตราส่วนการแสดงผลอินพุตจะเหมือนกับ (w / h) * sar.

ฮซบ
เทียบกับ
ค่าตัวอย่างย่อยของสีแนวนอนและแนวตั้ง ตัวอย่างเช่นสำหรับรูปแบบพิกเซล
"yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

ใน_h, ih
ใน_w, iw
ความกว้างและความสูงของอินพุต

sar อัตราส่วนกว้างยาวของตัวอย่างอินพุต

x
y พิกัดออฟเซ็ต x และ y ที่กล่องถูกวาด

w
h ความกว้างและความสูงของกล่องที่วาด

t ความหนาของกล่องที่วาด

ค่าคงที่เหล่านี้ยอมให้ x, y, w, h และ t สำนวนที่อ้างถึงกัน ดังนั้น คุณ
ตัวอย่างเช่นอาจระบุ "y=x/dar" หรือ "h=w/dar"

ตัวอย่าง

· วาดกล่องดำรอบขอบของภาพที่ป้อน:

กล่องลิ้นชัก

· วาดกล่องที่มีสีแดงและความทึบ 50%:

ลิ้นชัก=10:20:200:60:[ป้องกันอีเมล]

ตัวอย่างก่อนหน้านี้สามารถระบุได้ดังนี้:

กล่องวาด=x=10:y=20:w=200:h=60:สี=[ป้องกันอีเมล]

· เติมกล่องด้วยสีชมพู:

กล่องวาด=x=10:y=10:w=100:h=100:สี=[ป้องกันอีเมล]:t=สูงสุด

· วาดมาสก์ 2:2.40 สีแดง 1 พิกเซล:

drawbox=x=-t:y=0.5*(ih-iw/2.4)-t:w=iw+t*2:h=iw/2.4+t*2:t=2:c=red

วาดเขียน, ภาพวาด
วาดกราฟโดยใช้ข้อมูลเมตาของวิดีโออินพุตหรือเสียง

ยอมรับพารามิเตอร์ต่อไปนี้:

m1 ตั้งค่าคีย์ข้อมูลเมตาของเฟรมที่ 1 ซึ่งจะใช้ค่าข้อมูลเมตาในการวาดกราฟ

fg1 ตั้งค่าการแสดงออกของสีพื้นหน้าครั้งแรก

m2 ตั้งค่าคีย์ข้อมูลเมตาเฟรมที่ 2 ซึ่งจะใช้ค่าข้อมูลเมตาในการวาดกราฟ

fg2 ตั้งค่าการแสดงสีพื้นหน้าครั้งที่ 2

m3 ตั้งค่าคีย์ข้อมูลเมตาของเฟรมที่ 3 ซึ่งจะใช้ค่าข้อมูลเมตาในการวาดกราฟ

fg3 ตั้งค่าการแสดงสีพื้นหน้าครั้งที่ 3

m4 ตั้งค่าคีย์ข้อมูลเมตาของเฟรมที่ 4 ซึ่งจะใช้ค่าข้อมูลเมตาในการวาดกราฟ

fg4 ตั้งค่าการแสดงสีพื้นหน้าครั้งที่ 4

นาที ตั้งค่าต่ำสุดของค่าข้อมูลเมตา

แม็กซ์ ตั้งค่าสูงสุดของค่าข้อมูลเมตา

bg กำหนดสีพื้นหลังของกราฟ ค่าเริ่มต้นคือสีขาว

โหมด
ตั้งค่าโหมดกราฟ

ค่าที่ใช้ได้สำหรับโหมดคือ:

บาร์
จุด
เส้น

ค่าเริ่มต้นคือ "บรรทัด"

สไลด์
ตั้งค่าโหมดสไลด์

ค่าที่ใช้ได้สำหรับสไลด์คือ:

กรอบ
วาดเฟรมใหม่เมื่อถึงขอบด้านขวา

แทนที่
แทนที่คอลัมน์เก่าด้วยคอลัมน์ใหม่

เลื่อน
เลื่อนจากขวาไปซ้าย

เลื่อน
เลื่อนจากซ้ายไปขวา

ค่าเริ่มต้นคือ "เฟรม"

ขนาด
กำหนดขนาดของวิดีโอกราฟ สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ ขนาด" ส่วน
in ffmpeg-ยูทิลิตี้ คู่มือ. ค่าเริ่มต้นคือ "900x256"

นิพจน์สีพื้นหน้าสามารถใช้ตัวแปรต่อไปนี้:

นาที ค่าต่ำสุดของค่าข้อมูลเมตา

MAX ค่าสูงสุดของค่าข้อมูลเมตา

VAL ค่าคีย์ข้อมูลเมตาปัจจุบัน

สีถูกกำหนดเป็น 0xAABBGGRR

ตัวอย่างการใช้ข้อมูลเมตาจาก สถิติสัญญาณ กรอง:

Signalstats,drawgraph=lavfi.signalstats.YAVG:min=0:max=255

ตัวอย่างการใช้ข้อมูลเมตาจาก เอเบอร์128 กรอง:

ebur128=metadata=1,adrawgraph=lavfi.r128.M:min=-120:max=5

ตารางวาด
วาดเส้นตารางบนภาพอินพุต

ยอมรับพารามิเตอร์ต่อไปนี้:

x
y นิพจน์ที่ระบุพิกัดของจุดตัดของกริดบางจุด
(หมายถึงการกำหนดค่าออฟเซ็ต). ทั้งค่าเริ่มต้นเป็น 0

ความกว้าง w
ความสูง h
นิพจน์ที่ระบุความกว้างและความสูงของเซลล์กริด ถ้า 0 คือ
ตีความว่าเป็นความกว้างและความสูงอินพุต ตามลำดับ ลบ "ความหนา" ดังนั้น image
ได้รับกรอบ ค่าเริ่มต้นเป็น 0

สี, c
ระบุสีของตาราง สำหรับไวยากรณ์ทั่วไปของตัวเลือกนี้ ให้ทำเครื่องหมายที่
ส่วน "สี" ในคู่มือ ffmpeg-utils หากใช้ค่าพิเศษ "กลับด้าน" ค่า
สีกริดจะเหมือนกับวิดีโอที่มี luma กลับด้าน

ความหนา, t
นิพจน์ที่กำหนดความหนาของเส้นกริด ค่าเริ่มต้นคือ 1

ดูรายการค่าคงที่ที่ยอมรับด้านล่าง

พารามิเตอร์สำหรับ x, y, w และ h และ t เป็นนิพจน์ที่มีค่าคงที่ต่อไปนี้:

Dar อัตราส่วนการแสดงผลอินพุตจะเหมือนกับ (w / h) * sar.

ฮซบ
เทียบกับ
ค่าตัวอย่างย่อยของสีแนวนอนและแนวตั้ง ตัวอย่างเช่นสำหรับรูปแบบพิกเซล
"yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

ใน_h, ih
ใน_w, iw
ความกว้างและความสูงของเซลล์กริดอินพุต

sar อัตราส่วนกว้างยาวของตัวอย่างอินพุต

x
y พิกัด x และ y ของจุดตัดตารางบางจุด (หมายถึงการกำหนดค่า
ออฟเซ็ต)

w
h ความกว้างและความสูงของเซลล์ที่วาด

t ความหนาของเซลล์ที่วาด

ค่าคงที่เหล่านี้ยอมให้ x, y, w, h และ t สำนวนที่อ้างถึงกัน ดังนั้น คุณ
ตัวอย่างเช่นอาจระบุ "y=x/dar" หรือ "h=w/dar"

ตัวอย่าง

· วาดตารางด้วยเซลล์ 100x100 พิกเซล ความหนา 2 พิกเซล พร้อมสีแดงและเครื่องหมาย
ความทึบ 50%:

ตารางวาด=ความกว้าง=100:ความสูง=100:ความหนา=2:สี=[ป้องกันอีเมล]

· วาดตาราง 3x3 สีขาวที่มีความทึบ 50%:

ตารางวาด=w=iw/3:h=ih/3:t=2:c=[ป้องกันอีเมล]

ข้อความวาด
วาดสตริงข้อความหรือข้อความจากไฟล์ที่ระบุที่ด้านบนของวิดีโอโดยใช้ libfreetype
ห้องสมุด.

ในการเปิดใช้งานการรวบรวมตัวกรองนี้ คุณต้องกำหนดค่า FFmpeg ด้วย
"--เปิดใช้งาน-libfreetype" เพื่อเปิดใช้งานทางเลือกแบบอักษรเริ่มต้นและ ตัวอักษร ตัวเลือกที่คุณต้องการ
กำหนดค่า FFmpeg ด้วย "--enable-libfontconfig" เพื่อเปิดใช้งาน text_shaping ตัวเลือก คุณ
ต้องกำหนดค่า FFmpeg ด้วย "--enable-libfribidi"

วากยสัมพันธ์

ยอมรับพารามิเตอร์ต่อไปนี้:

กล่อง ใช้เพื่อวาดกล่องรอบๆ ข้อความโดยใช้สีพื้นหลัง ค่าต้องเป็น 1 . อย่างใดอย่างหนึ่ง
(เปิดใช้งาน) หรือ 0 (ปิดใช้งาน) ค่าเริ่มต้นของ กล่อง คือ 0

ขอบกล่องw
กำหนดความกว้างของเส้นขอบที่จะวาดรอบกล่องโดยใช้ กล่องสี. ค่าเริ่มต้น
ค่าของ ขอบกล่องw คือ 0

กล่องสี
สีที่จะใช้สำหรับวาดกล่องรอบๆ ข้อความ สำหรับไวยากรณ์ของตัวเลือกนี้ ให้เลือก
ส่วน "สี" ในคู่มือ ffmpeg-utils

ค่าเริ่มต้นของ กล่องสี คือ "สีขาว"

ชายแดน
กำหนดความกว้างของเส้นขอบที่จะวาดรอบๆ ข้อความโดยใช้ สีเส้นขอบ.
ค่าเริ่มต้นของ ชายแดน คือ 0

สีเส้นขอบ
กำหนดสีที่จะใช้สำหรับวาดเส้นขอบรอบข้อความ สำหรับวากยสัมพันธ์ของสิ่งนี้
ตัวเลือก ตรวจสอบส่วน "สี" ในคู่มือ ffmpeg-utils

ค่าเริ่มต้นของ สีเส้นขอบ คือ "ดำ"

การขยายตัว
เลือกวิธีการ ข้อความ ถูกขยาย สามารถเป็นได้ทั้ง "ไม่มี", "strftime" (เลิกใช้แล้ว) หรือ
"ปกติ" (ค่าเริ่มต้น) ดู Drawtext_ขยาย, ข้อความ การขยายตัว ส่วนด้านล่างสำหรับ
รายละเอียด

แก้ไข_ขอบเขต
หากเป็นจริง ให้ตรวจสอบและแก้ไขการเรียงข้อความเพื่อหลีกเลี่ยงการตัด

สีตัวอักษร
สีที่จะใช้สำหรับการวาดภาพแบบอักษร สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่
ส่วน "สี" ในคู่มือ ffmpeg-utils

ค่าเริ่มต้นของ สีตัวอักษร คือ "ดำ"

fontcolor_expr
สตริงที่ขยายในลักษณะเดียวกับ ข้อความ เพื่อให้ได้ไดนามิก สีตัวอักษร ค่า. โดย
ค่าเริ่มต้น ตัวเลือกนี้มีค่าว่างและไม่ได้รับการประมวลผล เมื่อตั้งค่าตัวเลือกนี้ มัน
แทนที่ สีตัวอักษร ตัวเลือก

ตัวอักษร
ตระกูลฟอนต์ที่จะใช้สำหรับการวาดข้อความ ตามค่าเริ่มต้น Sans

ฟอนต์ไฟล์
ไฟล์ฟอนต์ที่จะใช้ในการวาดข้อความ ต้องรวมเส้นทาง พารามิเตอร์นี้
เป็นข้อบังคับหากปิดใช้งานการสนับสนุน fontconfig

วาด
ไม่มีตัวเลือกนี้ โปรดดูระบบไทม์ไลน์

แอลฟา
วาดข้อความโดยใช้การผสมอัลฟา ค่าสามารถเป็นตัวเลขระหว่าง 0.0
และ 1.0 นิพจน์ยอมรับตัวแปรเดียวกัน x, y ทำ. ค่าเริ่มต้นคือ 1
โปรดดู fontcolor_expr

ขนาดตัวอักษร
ขนาดฟอนต์ที่จะใช้ในการวาดข้อความ ค่าเริ่มต้นของ ขนาดตัวอักษร คือ 16

text_shaping
หากตั้งค่าเป็น 1 ให้พยายามจัดรูปแบบข้อความ (เช่น กลับลำดับจากขวาไป-
ซ้ายข้อความและเข้าร่วมตัวอักษรอารบิก) ก่อนวาด มิเช่นนั้นให้วาด
ข้อความตรงตามที่กำหนด โดยค่าเริ่มต้น 1 (หากได้รับการสนับสนุน)

ft_load_flags
แฟล็กที่จะใช้สำหรับการโหลดฟอนต์

แฟล็กแมปแฟล็กที่เกี่ยวข้องที่สนับสนุนโดย libfreetype และเป็นชุดค่าผสม
ของค่าต่อไปนี้:

ผิดนัด
ไม่มี_ขนาด
ไม่_คำใบ้
ผล
no_bitmap
Vertical_Layout
force_autohint
crop_bitmap
อวดรู้
ละเว้น_global_advance_width
no_recurse
ละเว้น_transform
ขาวดำ
การออกแบบเชิงเส้น
no_autohint

ค่าเริ่มต้นคือ "ค่าเริ่มต้น"

สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบสำหรับแฟล็ก FT_LOAD_* libfreetype

สีเงา
สีที่ใช้วาดเงาหลังข้อความที่วาด สำหรับไวยากรณ์ของ
ตัวเลือกนี้ ตรวจสอบส่วน "สี" ในคู่มือ ffmpeg-utils

ค่าเริ่มต้นของ สีเงา คือ "ดำ"

เงา
เงา
x และ y ชดเชยตำแหน่งเงาข้อความที่สัมพันธ์กับตำแหน่งของ
ข้อความ. พวกเขาสามารถเป็นได้ทั้งค่าบวกหรือค่าลบ ค่าเริ่มต้นสำหรับทั้งสองคือ
"0/XNUMX/XNUMX"

start_number
หมายเลขเฟรมเริ่มต้นสำหรับตัวแปร n/frame_num ค่าเริ่มต้นคือ "0"

ขนาดแท็บ
ขนาดในจำนวนช่องว่างที่จะใช้สำหรับการแสดงผลแท็บ ค่าเริ่มต้นคือ 4

timecode
ตั้งค่าการแสดงรหัสเวลาเริ่มต้นในรูปแบบ "hh:mm:ss[:;.]ff" ใช้ได้เลย
มีหรือไม่มีพารามิเตอร์ข้อความ รหัสเวลา_rate ต้องระบุตัวเลือก

รหัสเวลา_อัตรา, ประเมินค่า, r
กำหนดอัตราเฟรมของไทม์โค้ด (ไทม์โค้ดเท่านั้น)

ข้อความ
สตริงข้อความที่จะวาด ข้อความต้องเป็นลำดับของอักขระที่เข้ารหัส UTF-8
พารามิเตอร์นี้จำเป็นหากไม่มีการระบุไฟล์ด้วยพารามิเตอร์ ไฟล์ข้อความ.

ไฟล์ข้อความ
ไฟล์ข้อความที่มีข้อความที่จะวาด ข้อความต้องเป็นลำดับของการเข้ารหัส UTF-8
อักขระ

พารามิเตอร์นี้จำเป็นหากไม่มีการระบุสตริงข้อความด้วยพารามิเตอร์ ข้อความ.

ถ้าทั้งสองอย่าง ข้อความ และ ไฟล์ข้อความ ถูกระบุ เกิดข้อผิดพลาด

โหลด
หากตั้งค่าเป็น 1 ค่า ไฟล์ข้อความ จะโหลดซ้ำก่อนแต่ละเฟรม หมั่นอัพเดทนะคะ
อย่างปรมาณู หรืออาจอ่านได้บางส่วน หรือแม้กระทั่งล้มเหลว

x
y นิพจน์ที่ระบุออฟเซ็ตที่จะวาดข้อความภายในวิดีโอ
กรอบ. สัมพันธ์กับขอบบน/ซ้ายของภาพที่ส่งออก

ค่าเริ่มต้นของ x และ y คือ "0"

ดูรายการค่าคงที่และฟังก์ชันที่ยอมรับด้านล่าง

พารามิเตอร์สำหรับ x และ y เป็นนิพจน์ที่มีค่าคงที่ต่อไปนี้และ
ฟังก์ชั่น:

Dar อัตราส่วนการแสดงผลอินพุตจะเหมือนกับ (w / h) * sar

ฮซบ
เทียบกับ
ค่าตัวอย่างย่อยของสีแนวนอนและแนวตั้ง ตัวอย่างเช่นสำหรับรูปแบบพิกเซล
"yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

line_h, lh
ความสูงของแต่ละบรรทัดข้อความ

main_h, h, H
ความสูงของอินพุต

main_w, w, W
ความกว้างของอินพุต

max_glyph_a, ทางขึ้น
ระยะทางสูงสุดจากเส้นฐานไปยังพิกัดกริดสูงสุด/บนที่ใช้เพื่อ
วางจุดเค้าร่างสัญลักษณ์สำหรับร่ายมนตร์ที่แสดงผลทั้งหมด เป็นค่าบวก เนื่องจาก
ไปยังแนวของตารางโดยให้แกน Y ขึ้นไป

max_glyph_d, โคตร
ระยะทางสูงสุดจากเส้นฐานถึงพิกัดกริดต่ำสุดที่ใช้วาง a
จุดเค้าร่างสัญลักษณ์ สำหรับร่ายมนตร์ที่แสดงผลทั้งหมด นี่เป็นค่าลบเนื่องจาก
การวางแนวของตารางโดยให้แกน Y ขึ้นไป

max_glyph_h
ความสูงของร่ายมนตร์สูงสุด นั่นคือความสูงสูงสุดสำหรับร่ายมนตร์ทั้งหมดที่มีอยู่ใน
ข้อความที่แสดงผลจะเท่ากับ ทางขึ้น - โคตร.

max_glyph_w
ความกว้างสูงสุดของร่ายมนตร์ นั่นคือความกว้างสูงสุดสำหรับร่ายมนตร์ทั้งหมดที่มีอยู่ใน
ข้อความที่แสดงผล

n จำนวนเฟรมอินพุตเริ่มต้นจาก0

แรนด์ (นาที, สูงสุด)
ส่งกลับตัวเลขสุ่มรวมระหว่าง นาที และ แม็กซ์

sar อัตราส่วนกว้างยาวของตัวอย่างอินพุต

t การประทับเวลาแสดงเป็นวินาที NAN หากไม่ทราบการประทับเวลาอินพุต

ข้อความ_h, th
ความสูงของข้อความที่แสดง

ข้อความ_w, tw
ความกว้างของข้อความที่แสดง

x
y พิกัดออฟเซ็ต x และ y ที่ข้อความถูกวาด

พารามิเตอร์เหล่านี้ช่วยให้ x และ y สำนวนเพื่ออ้างอิงถึงกัน ดังนั้นคุณสามารถสำหรับ
ตัวอย่างระบุ "y=x/dar"

ข้อความ การขยายตัว

If การขยายตัว ถูกตั้งค่าเป็น "strftime" ตัวกรองรับรู้ สตริฟไทม์() ลำดับใน
ให้ข้อความและขยายตามนั้น ตรวจสอบเอกสารของ สตริฟไทม์(). นี้
คุณลักษณะนี้เลิกใช้แล้ว

If การขยายตัว ถูกตั้งค่าเป็น "ไม่มี" ข้อความจะถูกพิมพ์ตามคำต่อคำ

If การขยายตัว ถูกตั้งค่าเป็น "ปกติ" (ซึ่งเป็นค่าเริ่มต้น) กลไกการขยายต่อไปนี้
ถูกนำมาใช้.

ตัวอักษรแบ็กสแลช \ตามด้วยอักขระใดๆ จะขยายเป็นตัวที่สองเสมอ
ตัวอักษร

ลำดับของรูปแบบ "%{...}" ถูกขยาย ข้อความระหว่างวงเล็บปีกกาเป็นฟังก์ชัน
ชื่อ อาจตามด้วยอาร์กิวเมนต์คั่นด้วย ':' หากอาร์กิวเมนต์มีความพิเศษ
อักขระหรือตัวคั่น (':' หรือ '}') ควรหลีกเลี่ยง

โปรดทราบว่าพวกเขาอาจจะต้องใช้ Escape เป็นค่าสำหรับ ข้อความ ตัวเลือกใน
กรองสตริงอาร์กิวเมนต์และเป็นอาร์กิวเมนต์ตัวกรองในคำอธิบายตัวกรองและ
อาจเป็นไปได้สำหรับเปลือกที่ทำขึ้นได้ถึงสี่ระดับของการหลบหนี; โดยใช้ไฟล์ข้อความ
หลีกเลี่ยงปัญหาเหล่านี้

มีฟังก์ชั่นต่อไปนี้:

ประสบการณ์, e
ผลการประเมินนิพจน์

ต้องใช้อาร์กิวเมนต์หนึ่งตัวที่ระบุนิพจน์ที่จะประเมิน ซึ่งยอมรับ
ค่าคงที่และฟังก์ชันเดียวกับ x และ y ค่านิยม โปรดทราบว่าไม่ใช่ค่าคงที่ทั้งหมดที่ควร
ใช้ เช่น ไม่ทราบขนาดข้อความเมื่อประเมินนิพจน์ ดังนั้น
คงที่ ข้อความ_w และ ข้อความ_h จะมีค่าที่ไม่ได้กำหนดไว้

expr_int_format, อีฟ
ประเมินค่าของนิพจน์และผลลัพธ์เป็นจำนวนเต็มที่จัดรูปแบบ

อาร์กิวเมนต์แรกคือนิพจน์ที่จะประเมิน เช่นเดียวกับ ด่วน ฟังก์ชัน
อาร์กิวเมนต์ที่สองระบุรูปแบบเอาต์พุต ค่าที่อนุญาตคือ x, X, d และ u.
พวกเขาได้รับการปฏิบัติเหมือนกับในฟังก์ชัน "printf" พารามิเตอร์ที่สามเป็นทางเลือก
และกำหนดจำนวนตำแหน่งที่รับโดยเอาต์พุต ใช้เสริมฟองน้ำได้
ด้วยศูนย์จากด้านซ้าย

จีเอ็มไทม์
เวลาที่ตัวกรองกำลังทำงาน แสดงเป็น UTC สามารถยอมรับข้อโต้แย้ง:
a สตริฟไทม์() รูปแบบสตริง

เวลาท้องถิ่น
เวลาที่ตัวกรองทำงาน ซึ่งแสดงในเขตเวลาท้องถิ่น มันสามารถ
ยอมรับข้อโต้แย้ง: a สตริฟไทม์() รูปแบบสตริง

เมตาดาต้า
ข้อมูลเมตาของเฟรม ต้องใช้หนึ่งอาร์กิวเมนต์ที่ระบุคีย์ข้อมูลเมตา

n, frame_num
หมายเลขเฟรมเริ่มต้นจาก 0

pic_type
คำอธิบายอักขระ 1 ตัวของประเภทรูปภาพปัจจุบัน

พีทีเอส เวลาประทับของเฟรมปัจจุบัน อาจใช้เวลาถึงสองอาร์กิวเมนต์

อาร์กิวเมนต์แรกคือรูปแบบของการประทับเวลา ค่าเริ่มต้นเป็น "flt" สำหรับวินาทีเป็น
ตัวเลขทศนิยมที่มีความแม่นยำระดับไมโครวินาที "hms" ย่อมาจากการจัดรูปแบบ
[-]ช:ชล:ชล..mmm ประทับเวลาด้วยความแม่นยำระดับมิลลิวินาที

อาร์กิวเมนต์ที่สองคือการเพิ่มออฟเซ็ตในการประทับเวลา

ตัวอย่าง

·วาด "ข้อความทดสอบ" ด้วยแบบอักษร FreeSerif โดยใช้ค่าเริ่มต้นสำหรับตัวเลือก
พารามิเตอร์

drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'"

· วาด 'ข้อความทดสอบ' ด้วยแบบอักษร FreeSerif ขนาด 24 ที่ตำแหน่ง x=100 และ y=50 (กำลังนับ
จากมุมซ้ายบนของหน้าจอ) ข้อความจะเป็นสีเหลืองและมีกล่องสีแดงล้อมรอบ ทั้งคู่
ข้อความและกล่องมีความทึบ 20%

drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text':\
x=100: y=50: ขนาดแบบอักษร=24: สีแบบอักษร=[ป้องกันอีเมล]: กล่อง=1: กล่องสี=[ป้องกันอีเมล]"

โปรดทราบว่าไม่จำเป็นต้องใช้เครื่องหมายคำพูดคู่หากไม่มีการเว้นวรรคภายใน
รายการพารามิเตอร์

· แสดงข้อความตรงกลางเฟรมวิดีโอ:

drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=(w-text_w)/2:y=(h-text_h)/2"

· แสดงบรรทัดข้อความที่เลื่อนจากขวาไปซ้ายในแถวสุดท้ายของเฟรมวิดีโอ ดิ
ไฟล์ เส้นยาว ถือว่ามีบรรทัดเดียวไม่มีการขึ้นบรรทัดใหม่

drawtext="fontsize=15:fontfile=FreeSerif.ttf:text=LONG_LINE:y=h-line_h:x=-50*t"

·แสดงเนื้อหาของไฟล์ เครดิต จากด้านล่างของกรอบและเลื่อนขึ้น

drawtext="fontsize=20:fontfile=FreeSerif.ttf:textfile=CREDITS:y=h-20*t"

· วาดตัวอักษรสีเขียวตัวเดียว "g" ที่กึ่งกลางของวิดีโออินพุต พื้นฐานสัญลักษณ์
ถูกวางไว้ที่ความสูงครึ่งหน้าจอ

drawtext="fontsize=60:fontfile=FreeSerif.ttf:fontcolor=green:text=g:x=(w-max_glyph_w)/2:y=h/2-ascent"

· แสดงข้อความ 1 วินาทีทุกๆ 3 วินาที:

drawtext="fontfile=FreeSerif.ttf:fontcolor=white:x=100:y=x/dar:enable=lt(mod(t\,3)\,1):text='blink'"

· ใช้ fontconfig เพื่อตั้งค่าฟอนต์ โปรดทราบว่าต้องหลบหนีเครื่องหมายทวิภาค

drawtext='fontfile=Linux Libertine O-40\:style=Semibold:text=FFmpeg'

· พิมพ์วันที่ของการเข้ารหัสตามเวลาจริง (ดู สตริฟไทม์(3)):

drawtext='fontfile=FreeSans.ttf:text=%{localtime\:%a %b %d %Y}'

· แสดงข้อความเฟดเข้าและออก (ปรากฏ/หายไป):

#!bin / sh /
DS=1.0 # แสดงเริ่มต้น
DE=10.0 # สิ้นสุดการแสดงผล
FID=1.5 # จางลงในระยะเวลา
FOD=5 # จางหายไประยะเวลา
ffplay -f lavfi "color,drawtext=text=TEST:fontsize=50:fontfile=FreeSerif.ttf:fontcolor_expr=ff0000%{eif\\\\: clip(255*(1*between(t\\, $DS +)" $FID\\, $DE - $FOD) + ((t - $DS)/$FID)*ระหว่าง(t\\, $DS\\, $DS + $FID) + (-(t - $DE) /$FOD)*ระหว่าง(t\\, $DE - $FOD\\, $DE) )\\, 0\\, 255) \\\\: x\\\\: 2 }"

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ libfreetype ให้ตรวจสอบ:http://www.freetype.org/>.

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ fontconfig ให้ตรวจสอบ:
<http://freedesktop.org/software/fontconfig/fontconfig-user.html>.

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ libfribidi ให้ตรวจสอบ:http://fribidi.org/>.

การตรวจจับขอบ
ตรวจจับและวาดขอบ ตัวกรองใช้อัลกอริธึม Canny Edge Detection

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ต่ำ
สูง
ตั้งค่าขีดจำกัดต่ำและสูงที่ใช้โดยอัลกอริธึม Canny Thresholding

เกณฑ์สูงจะเลือกพิกเซลขอบ "เข้ม" ซึ่งเชื่อมต่อผ่าน
8 การเชื่อมต่อด้วยพิกเซลขอบ "อ่อนแอ" ที่เลือกโดยเกณฑ์ต่ำ

ต่ำ และ สูง ต้องเลือกค่าเกณฑ์ในช่วง [0,1] และ ต่ำ ควรจะเป็น
น้อยกว่าหรือเท่ากับ สูง.

ค่าเริ่มต้นสำหรับ ต่ำ คือ "20/255" และค่าเริ่มต้นสำหรับ สูง คือ "50/255"

โหมด
กำหนดโหมดการวาดภาพ

สายไฟ
วาดเส้นลวดสีขาว/เทาบนพื้นหลังสีดำ

สีผสม
ผสมสีเพื่อสร้างเอฟเฟกต์สี/การ์ตูน

ค่าเริ่มต้นคือ สายไฟ.

ตัวอย่าง

· การตรวจจับขอบมาตรฐานพร้อมค่าที่กำหนดเองสำหรับการจำกัดฮิสเทรีซิส:

edgedetect=ต่ำ=0.1:สูง=0.4

· เอฟเฟกต์ภาพวาดโดยไม่มีขีด จำกัด :

edgedetect=mode=colormix:สูง=0

eq
ตั้งค่าความสว่าง คอนทราสต์ ความอิ่มตัว และการปรับแกมมาโดยประมาณ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ตรงกันข้าม
ตั้งค่านิพจน์คอนทราสต์ ค่าต้องเป็นค่าทศนิยมในช่วง "-2.0" ถึง 2.0
ค่าเริ่มต้นคือ "0"

ความสว่าง
ตั้งค่านิพจน์ความสว่าง ค่าต้องเป็นค่าทศนิยมในช่วง "-1.0" ถึง 1.0
ค่าเริ่มต้นคือ "0"

ความอิ่มตัว
ตั้งค่านิพจน์ความอิ่มตัว ค่าต้องเป็นทศนิยมในช่วง 0.0 ถึง 3.0 ดิ
ค่าเริ่มต้นคือ "1"

แกมมา
ตั้งค่านิพจน์แกมมา ค่าต้องเป็นทศนิยมในช่วง 0.1 ถึง 10.0 ค่าเริ่มต้น
ค่าคือ "1"

gamma_r
ตั้งค่านิพจน์แกมม่าสำหรับสีแดง ค่าต้องเป็นทศนิยมในช่วง 0.1 ถึง 10.0 ดิ
ค่าเริ่มต้นคือ "1"

gamma_g
ตั้งค่านิพจน์แกมม่าเป็นสีเขียว ค่าต้องเป็นทศนิยมในช่วง 0.1 ถึง 10.0
ค่าเริ่มต้นคือ "1"

gamma_b
ตั้งค่านิพจน์แกมม่าเป็นสีน้ำเงิน ค่าต้องเป็นทศนิยมในช่วง 0.1 ถึง 10.0 ดิ
ค่าเริ่มต้นคือ "1"

gamma_weight
ตั้งค่านิพจน์น้ำหนักแกมมา สามารถใช้เพื่อลดผลกระทบของแกมมาสูง
ค่าบนพื้นที่ภาพที่สว่าง เช่น ป้องกันไม่ให้ขยายเกินและธรรมดา
สีขาว. ค่าต้องเป็นทศนิยมในช่วง 0.0 ถึง 1.0 ค่า 0.0 จะเปลี่ยนแกมมา
การแก้ไขจนสุดในขณะที่ 1.0 ปล่อยให้เต็มกำลัง ค่าเริ่มต้นคือ "1"

ประเมิน
ตั้งค่าเมื่อนิพจน์ความสว่าง คอนทราสต์ ความอิ่มตัว และแกมมา
ได้รับการประเมิน

ยอมรับค่าต่อไปนี้:

init
ประเมินนิพจน์เพียงครั้งเดียวในระหว่างการเริ่มต้นตัวกรองหรือเมื่อคำสั่ง
กำลังดำเนินการ

กรอบ
ประเมินนิพจน์สำหรับแต่ละเฟรมที่เข้ามา

ค่าเริ่มต้นคือ init.

นิพจน์ยอมรับพารามิเตอร์ต่อไปนี้:

n จำนวนเฟรมของเฟรมอินพุตเริ่มต้นจาก 0

โพสต์ ตำแหน่งไบต์ของแพ็กเก็ตที่สอดคล้องกันในไฟล์อินพุต NAN หากไม่ได้ระบุ

r อัตราเฟรมของวิดีโออินพุต NAN หากไม่ทราบอัตราเฟรมอินพุต

t การประทับเวลาแสดงเป็นวินาที NAN หากไม่ทราบการประทับเวลาอินพุต

คำสั่ง

ตัวกรองรองรับคำสั่งต่อไปนี้:

ตรงกันข้าม
ตั้งค่านิพจน์คอนทราสต์

ความสว่าง
ตั้งค่านิพจน์ความสว่าง

ความอิ่มตัว
ตั้งค่านิพจน์ความอิ่มตัว

แกมมา
ตั้งค่านิพจน์แกมมา

gamma_r
ตั้งค่านิพจน์ gamma_r

gamma_g
ตั้งค่านิพจน์ gamma_g

gamma_b
ตั้งค่านิพจน์ gamma_b

gamma_weight
ตั้งค่านิพจน์ gamma_weight

คำสั่งยอมรับไวยากรณ์เดียวกันของตัวเลือกที่เกี่ยวข้อง

ถ้านิพจน์ที่ระบุไม่ถูกต้อง นิพจน์นั้นจะถูกเก็บไว้ที่ค่าปัจจุบัน

การกัดกร่อน
ใช้เอฟเฟกต์การกัดเซาะกับวิดีโอ

ตัวกรองนี้แทนที่พิกเซลด้วย ในประเทศ(3x3) ขั้นต่ำ

ยอมรับตัวเลือกต่อไปนี้:

ธรณีประตู0
ธรณีประตู1
ธรณีประตู2
ธรณีประตู3
จำกัดการเปลี่ยนแปลงสูงสุดสำหรับแต่ละระนาบ ค่าเริ่มต้นคือ 65535 หาก 0 เครื่องบินจะยังคงอยู่
ไม่เปลี่ยนแปลง

พิกัด
แฟล็กซึ่งระบุพิกเซลที่จะอ้างถึง ค่าเริ่มต้นคือ 255 นั่นคือทั้งหมดแปดพิกเซลเป็น
มือสอง

ตั้งค่าสถานะเป็นแผนที่พิกัด 3x3 ในพื้นที่ดังนี้:

1 2 3
4 5
6 7 8

เครื่องบินสกัด
แยกส่วนประกอบช่องสัญญาณสีจากสตรีมวิดีโออินพุตเป็นวิดีโอระดับสีเทาแยก
ลำธาร

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

เครื่องบิน
ตั้งค่าระนาบที่จะแยก

ค่าที่ใช้ได้สำหรับเครื่องบินคือ:

y
u
v
a
r
g
b

การเลือกระนาบที่ไม่มีในอินพุตจะส่งผลให้เกิดข้อผิดพลาด นั่นหมายถึงคุณ
ไม่สามารถเลือกระนาบ "r", "g", "b" ที่มีระนาบ "y", "u", "v" พร้อมกันได้

ตัวอย่าง

· แยกองค์ประกอบช่องสี luma, u และ v จากเฟรมวิดีโออินพุตเป็น 3 ระดับสีเทา
เอาท์พุท:

ffmpeg -i video.avi -filter_complex 'extractplanes=y+u+v[y][u][v]' -map '[y]' y.avi -map '[u]' u.avi -map '[ v]' v.avi

กวาง
ใช้เอฟเฟกต์หลังโดยใช้อัลกอริทึม ELBG (Enhanced LBG)

สำหรับแต่ละภาพที่ป้อน ตัวกรองจะคำนวณการแมปที่เหมาะสมที่สุดจากอินพุตไปยัง
เอาต์พุตที่กำหนดความยาวของ codebook นั่นคือจำนวนสีเอาต์พุตที่แตกต่างกัน

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้

รหัสหนังสือ_ความยาว, l
ตั้งค่าความยาวของ codebook ค่าต้องเป็นจำนวนเต็มบวก และแสดงถึงตัวเลข
ของสีเอาต์พุตที่แตกต่างกัน ค่าเริ่มต้นคือ 256

nb_ขั้นตอน, n
กำหนดจำนวนการวนซ้ำสูงสุดเพื่อใช้ในการคำนวณการแมปที่เหมาะสมที่สุด ดิ
ยิ่งค่าสูง ผลลัพธ์ก็จะยิ่งดีขึ้น และเวลาในการคำนวณก็จะสูงขึ้น ค่าเริ่มต้น
ค่าคือ 1

เมล็ด s
ตั้งค่าเมล็ดพันธุ์สุ่ม ต้องเป็นจำนวนเต็มที่อยู่ระหว่าง 0 ถึง UINT32_MAX ถ้าไม่
กำหนดไว้ หรือหากตั้งไว้เป็น -1 อย่างชัดเจน ตัวกรองจะพยายามใช้เมล็ดสุ่มที่ดี
บนพื้นฐานความพยายามอย่างดีที่สุด

เพื่อน 8
ตั้งค่ารูปแบบพิกเซลเอาต์พุต pal8 ตัวเลือกนี้ใช้ไม่ได้กับความยาวของ codebook ที่มากกว่า
กว่า 256.

จางหาย
ใช้เอฟเฟกต์เฟดอิน/เอาต์กับวิดีโออินพุต

ยอมรับพารามิเตอร์ต่อไปนี้:

ประเภท, t
ประเภทเอฟเฟกต์สามารถเป็นได้ทั้ง "เข้า" สำหรับการเฟดอินหรือ "ออก" สำหรับเอฟเฟกต์เฟดเอาต์
ค่าเริ่มต้นคือ "ใน"

เริ่มต้น_เฟรม, s
ระบุจำนวนเฟรมเพื่อเริ่มใช้เอฟเฟกต์เฟดที่ ค่าเริ่มต้นคือ 0

nb_frames, n
จำนวนเฟรมที่เอฟเฟกต์จางหายไป เมื่อสิ้นสุดเอฟเฟกต์เฟดอินแล้ว
วิดีโอเอาต์พุตจะมีความเข้มเท่ากับวิดีโออินพุต ในตอนท้ายของการจางหาย-
ออกการเปลี่ยนวิดีโอที่ส่งออกจะเต็มไปด้วยการเลือก สี. ค่าเริ่มต้นคือ
25.

แอลฟา
หากตั้งค่าเป็น 1 ให้จางเฉพาะช่องอัลฟา หากมีอยู่ในอินพุต ค่าเริ่มต้นคือ 0

เวลาเริ่มต้น, st
ระบุการประทับเวลา (เป็นวินาที) ของเฟรมเพื่อเริ่มใช้เอฟเฟกต์จาง ถ้า
ทั้ง start_frame และ start_time กำหนดเฟดจะเริ่มเมื่อไรก็ตามมา
ล่าสุด. ค่าเริ่มต้นคือ 0

ระยะเวลา, d
จำนวนวินาทีที่เอฟเฟกต์จางหายไป ในตอนท้ายของการเฟดอิน
เอฟเฟกต์วิดีโอเอาต์พุตจะมีความเข้มเท่ากับวิดีโออินพุตที่ส่วนท้ายของ
การเปลี่ยนภาพจางลง วิดีโอที่ส่งออกจะถูกเติมด้วยการเลือก สี. ถ้า
ระบุทั้งระยะเวลาและ nb_frames ใช้ระยะเวลา ค่าเริ่มต้นคือ 0 (nb_frames
ถูกใช้โดยค่าเริ่มต้น)

สี, c
ระบุสีของเฟด ค่าเริ่มต้นคือ "สีดำ"

ตัวอย่าง

· จางลงในวิดีโอ 30 เฟรมแรก:

จาง=ใน:0:30

คำสั่งข้างต้นเทียบเท่ากับ:

จาง=t=ใน:s=0:n=30

· ลบ 45 เฟรมสุดท้ายของวิดีโอ 200 เฟรม:

จาง=ออก:155:45
จาง=ประเภท=ออก:start_frame=155:nb_frames=45

· เฟดใน 25 เฟรมแรกและเฟดออก 25 เฟรมสุดท้ายของวิดีโอ 1000 เฟรม:

จาง=ใน:0:25, จาง=ออก:975:25

· ทำให้ 5 เฟรมแรกเป็นสีเหลือง จากนั้นค่อยเฟดจากเฟรม 5-24:

จาง=ใน:5:20:สี=เหลือง

· จางในอัลฟ่าใน 25 เฟรมแรกของวิดีโอ:

จาง=ใน:0:25:อัลฟา=1

· ทำให้ 5.5 วินาทีแรกเป็นสีดำ จากนั้นค่อยๆ จางลงเป็นเวลา 0.5 วินาที:

จาง=t=ใน:st=5.5:d=0.5

Fftfilt
ใช้นิพจน์ทั่วไปกับตัวอย่างในโดเมนความถี่

dc_Y
ปรับค่า dc (เกน) ของระนาบลูมาของรูปภาพ ตัวกรองยอมรับ an
ค่าจำนวนเต็มในช่วง 0 ถึง 1000 ค่าเริ่มต้นถูกตั้งค่าเป็น 0

ดีซี_ยู
ปรับค่า dc (เกน) ของระนาบสีที่ 1 ของรูปภาพ ตัวกรองยอมรับ an
ค่าจำนวนเต็มในช่วง 0 ถึง 1000 ค่าเริ่มต้นถูกตั้งค่าเป็น 0

ดีซี_วี
ปรับค่า dc (เกน) ของระนาบสีที่ 2 ของรูปภาพ ตัวกรองยอมรับ an
ค่าจำนวนเต็มในช่วง 0 ถึง 1000 ค่าเริ่มต้นถูกตั้งค่าเป็น 0

น้ำหนัก_Y
ตั้งค่านิพจน์น้ำหนักโดเมนความถี่สำหรับระนาบ luma

น้ำหนัก_U
ตั้งค่านิพจน์น้ำหนักโดเมนความถี่สำหรับระนาบโครมาที่ 1

น้ำหนัก_V
ตั้งค่านิพจน์น้ำหนักโดเมนความถี่สำหรับระนาบโครมาที่ 2

ตัวกรองยอมรับตัวแปรต่อไปนี้:

X
Y พิกัดของตัวอย่างปัจจุบัน

W
H ความกว้างและความสูงของรูปภาพ

ตัวอย่าง

· ผ่านสูง:

fftfilt=dc_Y=128:weight_Y='squish(1-(Y+X)/100)'

· โลว์พาส:

fftfilt=dc_Y=0:weight_Y='squish((Y+X)/100-1)'

· เหลา:

fftfilt=dc_Y=0:weight_Y='1+squish(1-(Y+X)/100)'

สนาม
แยกฟิลด์เดียวจากภาพที่อินเทอร์เลซโดยใช้เลขคณิตก้าวเพื่อหลีกเลี่ยงการสูญเสีย
เวลาซีพียู เฟรมเอาต์พุตถูกทำเครื่องหมายว่าไม่อินเทอร์เลซ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ชนิด
ระบุว่าจะดึงข้อมูลด้านบน (ถ้าค่าเป็น 0 หรือ "ด้านบน") หรือช่องด้านล่าง
(หากค่าเป็น 1 หรือ "ด้านล่าง")

การแข่งขันภาคสนาม
ตัวกรองการจับคู่ฟิลด์สำหรับ telecine ผกผัน มีขึ้นเพื่อสร้างความก้าวหน้าขึ้นใหม่
เฟรมจากสตรีม telecined ตัวกรองไม่ดร็อปเฟรมที่ซ้ำกัน ดังนั้นเพื่อให้บรรลุ
ต้องตามด้วย "fieldmatch" แบบผกผันของ telecine ที่สมบูรณ์ด้วยตัวกรองการทำลายล้างเช่น
as Decimate ในตัวกรองกราฟ

การแยกสนามที่ตรงกันและการทำลายล้างนั้นได้รับแรงบันดาลใจจาก
ความเป็นไปได้ของการแทรกทางเลือกตัวกรอง de-interlacing ระหว่างทั้งสอง ถ้าต้นทาง
มีเนื้อหาอินเตอร์เลซแบบผสมระหว่าง telecined และจริง "fieldmatch" จะไม่สามารถจับคู่ได้
ฟิลด์สำหรับชิ้นส่วนอินเทอร์เลซ แต่เฟรมหวีที่เหลือเหล่านี้จะถูกทำเครื่องหมายเป็น
อินเทอร์เลซ จึงสามารถยกเลิกการอินเทอร์เลซโดยตัวกรองในภายหลัง เช่น ยาดิฟ ก่อน
การทำลายล้าง

นอกจากตัวเลือกการกำหนดค่าต่างๆ แล้ว "fieldmatch" อาจใช้ตัวเลือกวินาทีก็ได้
สตรีมเปิดใช้งานผ่าน พีพีอาร์ซี ตัวเลือก. หากเปิดใช้งาน การสร้างเฟรมใหม่จะเป็น
ตามฟิลด์และเฟรมจากสตรีมที่สองนี้ สิ่งนี้ทำให้อินพุตแรกเป็น
ประมวลผลล่วงหน้าเพื่อช่วยอัลกอริธึมต่างๆ ของตัวกรองในขณะที่ยังคง
เอาต์พุตแบบไม่สูญเสีย (สมมติว่าฟิลด์ถูกจับคู่อย่างถูกต้อง) โดยทั่วไปแล้ว ผู้มีความรู้ภาคสนาม
denoiser หรือการปรับความสว่าง/ความคมชัดสามารถช่วยได้

โปรดทราบว่าตัวกรองนี้ใช้อัลกอริธึมเดียวกับ TIVTC/TFM (โครงการ AviSynth) และ
VIVTC/VFM (โครงการ VapourSynth) ต่อมาเป็นโคลนเบา ๆ ของ TFM ซึ่ง "fieldmatch"
จะขึ้นอยู่กับ แม้ว่าความหมายและการใช้งานจะใกล้เคียงกัน แต่ชื่อพฤติกรรมและตัวเลือกบางอย่าง
อาจแตกต่างกัน

พื้นที่ Decimate ปัจจุบันตัวกรองใช้งานได้เฉพาะกับอินพุตอัตราเฟรมคงที่เท่านั้น หากข้อมูลของคุณมี
ผสม telecined (30fps) และเนื้อหาโปรเกรสซีฟที่มีอัตราเฟรมต่ำกว่าเช่น 24fps ใช้
ติดตาม filterchain เพื่อสร้างสตรีม cfr ที่จำเป็น:
"ตัวแยก, fps=30000/1001, fieldmatch, decimate"

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ใบสั่ง
ระบุลำดับฟิลด์สมมติของสตรีมอินพุต ค่าที่ใช้ได้คือ:

รถยนต์
ตรวจจับพาริตีอัตโนมัติ (ใช้ค่าพาริตีภายในของ FFmpeg)

BFF สมมติช่องด้านล่างก่อน

ทีเอฟ สมมติช่องด้านบนก่อน

โปรดทราบว่าในบางครั้ง ขอแนะนำว่าอย่าเชื่อถือความเท่าเทียมกันที่ประกาศโดยสตรีม

ค่าเริ่มต้นคือ รถยนต์.

โหมด
ตั้งค่าโหมดการจับคู่หรือกลยุทธ์ที่จะใช้ pc โหมดนี้ปลอดภัยที่สุดในแง่ที่ว่า
จะไม่เสี่ยงสร้างความกระตุกเนื่องจากเฟรมซ้ำเมื่อเป็นไปได้ แต่ถ้ามี
การแก้ไขที่ไม่ดีหรือฟิลด์แบบผสมจะจบลงด้วยการแสดงผลแบบหวีเมื่อจับคู่ที่ดี
อาจมีอยู่จริง ในทางกลับกัน, pcn_ub โหมดมีความเสี่ยงมากที่สุดในแง่ของ
สร้างความกระปรี้กระเปร่า แต่มักจะพบกรอบที่ดีถ้ามี ดิ
ค่าอื่น ๆ ทั้งหมดอยู่ระหว่าง pc และ pcn_ub ในแง่ของการเสี่ยงดวง
และการสร้างเฟรมที่ซ้ำกันกับการค้นหาการจับคู่ที่ดีในส่วนที่มีการแก้ไขที่ไม่ดี
ทุ่งกำพร้า ทุ่งผสม ฯลฯ

รายละเอียดเพิ่มเติมเกี่ยวกับ p/c/n/u/b มีอยู่ใน p/c/n/u/b ความหมาย มาตรา.

ค่าที่ใช้ได้คือ:

pc การจับคู่แบบ 2 ทาง (p/c)

pc_n
การจับคู่แบบ 2 ทาง และลองจับคู่ครั้งที่ 3 หากยังหวีอยู่ (p/c + n)

pc_u
การจับคู่แบบ 2 ทาง และลองจับคู่ที่ 3 (ลำดับเดียวกัน) หากยังคงหวีอยู่ (p/c + u)

pc_n_ub
จับคู่ 2 ทาง ลองจับคู่ที่ 3 ถ้ายังหวีอยู่ และลองจับคู่ที่ 4/5 ถ้า
ยังคงหวี (p/c + n + u/b)

พีซีเอ็น การจับคู่ 3 ทาง (p/c/n)

pcn_ub
การจับคู่ 3 ทาง และลองจับคู่ที่ 4/5 หากการแข่งขันเดิมทั้ง 3 รายการเป็น
ตรวจพบว่าเป็นหวี (p/c/n + u/b)

วงเล็บท้ายระบุการจับคู่ที่จะใช้สำหรับโหมดนั้น
ทะลึ่ง ใบสั่ง=ทีเอฟ (และ สนาม on รถยนต์ or ด้านบน).

ในแง่ของความเร็ว pc โหมดนั้นเร็วที่สุดและ pcn_ub ที่ช้าที่สุด

ค่าเริ่มต้นคือ pc_n.

พีพีอาร์ซี
ทำเครื่องหมายสตรีมอินพุตหลักเป็นอินพุตที่ประมวลผลล่วงหน้า และเปิดใช้งานอินพุตรอง
สตรีมเป็นแหล่งที่สะอาดเพื่อเลือกฟิลด์ ดูบทนำตัวกรองสำหรับ
รายละเอียดเพิ่มเติม. มันคล้ายกับ clip2 ฟีเจอร์จาก VFM/TFM

ค่าเริ่มต้นคือ 0 (ปิดใช้งาน)

สนาม
ตั้งค่าฟิลด์ที่จะจับคู่จาก ขอแนะนำให้ตั้งค่านี้เป็นค่าเดียวกับ ใบสั่ง
เว้นแต่คุณจะประสบกับความล้มเหลวในการจับคู่กับการตั้งค่านั้น ในบางสถานการณ์
การเปลี่ยนฟิลด์ที่ใช้เพื่อจับคู่อาจส่งผลกระทบอย่างมากต่อการจับคู่
ประสิทธิภาพ. ค่าที่ใช้ได้คือ:

รถยนต์
อัตโนมัติ (ค่าเดียวกับ ใบสั่ง).

ก้น
จับคู่จากช่องด้านล่าง

ด้านบน แมตช์จากสนามบน

ค่าเริ่มต้นคือ รถยนต์.

มโครมา
ตั้งค่าว่าจะรวมโครมาหรือไม่ในระหว่างการเปรียบเทียบการแข่งขัน ในกรณีส่วนใหญ่มัน
ขอแนะนำให้เปิดใช้งานสิ่งนี้ไว้ คุณควรตั้งค่านี้เป็น 0 ต่อเมื่อคลิปของคุณมี
ปัญหาสีไม่ดีเช่นรุ้งหนักหรือสิ่งประดิษฐ์อื่น ๆ กำลังตั้งค่านี้เป็น0
สามารถใช้เพื่อเร่งความเร็วของสิ่งต่าง ๆ ได้ด้วยความแม่นยำ

ค่าเริ่มต้นคือ 1

y0
y1 สิ่งเหล่านี้กำหนดแถบการยกเว้นซึ่งไม่รวมเส้นแบ่งระหว่าง y0 และ y1 จากการเป็น
รวมอยู่ในการตัดสินใจจับคู่สนาม สามารถใช้แถบยกเว้นเพื่อละเว้นได้
คำบรรยาย โลโก้ หรือสิ่งอื่นที่อาจรบกวนการจับคู่ y0 ตั้งค่า
เริ่มสแกนเส้นและ y1 กำหนดเส้นสิ้นสุด ทุกบรรทัดในระหว่าง y0 และ y1
(รวมถึง y0 และ y1) จะถูกละเว้น การตั้งค่า y0 และ y1 ให้มีค่าเท่ากันจะ
ปิดการใช้งานคุณสมบัติ y0 และ y1 ค่าเริ่มต้นเป็น 0

สเครช
ตั้งค่าเกณฑ์การตรวจจับการเปลี่ยนแปลงฉากเป็นเปอร์เซ็นต์ของการเปลี่ยนแปลงสูงสุดบน luma
เครื่องบิน. ค่าที่ดีอยู่ในช่วง "[8.0, 14.0]" การตรวจจับการเปลี่ยนฉากเท่านั้น
ที่เกี่ยวข้องในกรณี หวี=sc. ช่วงสำหรับ สเครช คือ "[0.0, 100.0]"

ค่าเริ่มต้นคือ 12.0

หวี
เมื่อ การต่อสู้ ไม่ใช่ ไม่มี, "fieldmatch" จะพิจารณาคะแนนรวมของ
แมตช์เมื่อตัดสินใจว่าจะใช้แมตช์ใดเป็นแมตช์สุดท้าย ค่าที่ใช้ได้คือ:

ไม่มี
ไม่มีการจับคู่ขั้นสุดท้ายตามคะแนนที่หวี

sc คะแนนรวมจะใช้เมื่อตรวจพบการเปลี่ยนฉากเท่านั้น

เต็ม
ใช้คะแนนหวีตลอดเวลา

ค่าเริ่มต้นคือ sc.

หวี
บังคับ "fieldmatch" เพื่อคำนวณเมตริกแบบหวีสำหรับการแข่งขันบางรายการและพิมพ์ออกมา
การตั้งค่านี้เรียกว่า มิคุ ในคำศัพท์ TFM/VFM ค่าที่ใช้ได้คือ:

ไม่มี
ไม่มีการบังคับคำนวณ

พีซีเอ็น บังคับการคำนวณ p/c/n

พีซีนูบ
บังคับ p/c/n/u/b การคำนวณ

ค่าเริ่มต้นคือ ไม่มี.

นวด
นี่คือเกณฑ์การหวีพื้นที่ที่ใช้สำหรับการตรวจจับเฟรมแบบหวี นี้เป็นหลัก
ควบคุมวิธีการตรวจจับหวีที่ "แข็งแรง" หรือ "มองเห็นได้" ค่าที่มากขึ้นหมายถึง
การหวีต้องมองเห็นได้ชัดเจนขึ้น และค่าที่น้อยกว่าหมายถึงการหวีอาจมองเห็นได้น้อยลงหรือ
แรงและยังถูกตรวจจับได้ การตั้งค่าที่ถูกต้องมาจาก "-1" (ทุกพิกเซลจะเป็น
ตรวจพบว่าเป็นหวี) ถึง 255 (จะไม่มีการตรวจพบพิกเซลว่าเป็นหวี) นี้โดยพื้นฐานแล้ว a
ค่าความแตกต่างของพิกเซล ช่วงที่ดีคือ "[8, 12]"

ค่าเริ่มต้นคือ 9

ความเข้มของสี
ตั้งค่าว่าจะพิจารณาโครมาในการตัดสินเฟรมแบบหวีหรือไม่ ปิดการใช้งานเท่านั้น
นี้หากแหล่งที่มาของคุณมีปัญหาเรื่องสี (รุ้ง ฯลฯ ) ที่ทำให้เกิดปัญหา
สำหรับการตรวจจับเฟรมแบบหวีที่เปิดใช้งานโครมา ที่จริงแล้วใช้ ความเข้มของสี=0 is
มักจะเชื่อถือได้มากกว่า ยกเว้นกรณีที่มีสีหวีเฉพาะใน
แหล่ง

ค่าเริ่มต้นคือ 0

บล็อกx
บล็อก
กำหนดขนาดแกน x และแกน y ของหน้าต่างที่ใช้ระหว่างเฟรมแบบหวีตามลำดับ
การตรวจจับ สิ่งนี้เกี่ยวข้องกับขนาดของพื้นที่ที่ หวี พิกเซลเป็น
จำเป็นต้องตรวจพบว่าเป็นหวีสำหรับเฟรมที่จะประกาศว่าหวี ดู หวี
คำอธิบายพารามิเตอร์สำหรับข้อมูลเพิ่มเติม ค่าที่เป็นไปได้คือตัวเลขใดๆ ที่เป็นกำลัง
จาก 2 เริ่มต้นที่ 4 และสูงถึง 512

ค่าเริ่มต้นคือ 16

หวี
จำนวนพิกเซลที่รวมกันภายในใด ๆ บล็อก by บล็อกx ขนาดบล็อกบน
เฟรมสำหรับเฟรมที่จะตรวจพบว่าเป็นหวี ในขณะที่ นวด ควบคุมวิธีที่ "มองเห็น"
ต้องหวี การตั้งค่านี้ควบคุมการหวี "เท่าใด" จะต้องมีหวีใด ๆ
พื้นที่แปล (หน้าต่างที่กำหนดโดย บล็อกx และ บล็อก การตั้งค่า) บนเฟรม
ค่าต่ำสุดคือ 0 และสูงสุดคือ "blocky x blockx" ( ณ จุดนั้นจะไม่มีเฟรมใด
เคยถูกตรวจพบว่าเป็นหวี) การตั้งค่านี้เรียกว่า MI ในคำศัพท์ TFM/VFM

ค่าเริ่มต้นคือ 80

p/c/n/u/b ความหมาย

พี/ซี/เอ็น

เราถือว่ากระแส telecined ต่อไปนี้:

ช่องด้านบน: 1 2 2 3 4
ช่องด้านล่าง: 1 2 3 4 4

ตัวเลขสอดคล้องกับกรอบโปรเกรสซีฟที่เกี่ยวข้องกับฟิลด์ นี่สองตัวแรก
เฟรมเป็นแบบโปรเกรสซีฟ เฟรมที่ 3 และ 4 จะถูกหวี และอื่นๆ

เมื่อกำหนดค่า "fieldmatch" ให้เรียกใช้การจับคู่จากด้านล่าง (สนาม=ก้น) นี่คือวิธีการ
สตรีมอินพุตนี้ถูกแปลง:

อินพุตสตรีม:
โทร 1 2 2 3 4
B 1 2 3 4 4 <- การอ้างอิงที่ตรงกัน

แมตช์: cnnnc

กระแสข้อมูลขาออก:
โทร 1 2 3 4 4
ข 1 2 3 4 4

จากการจับคู่ฟิลด์ เราจะเห็นว่าบางเฟรมซ้ำกัน ในการดำเนินการ
เป็น telecine ผกผันที่สมบูรณ์ คุณต้องพึ่งพาตัวกรองการทำลายล้างหลังจากการดำเนินการนี้
ดูตัวอย่างเช่น Decimate กรอง.

การดำเนินการเดียวกันในขณะนี้จับคู่จากฟิลด์ด้านบน (สนาม=ด้านบน) มีลักษณะดังนี้:

อินพุตสตรีม:
T 1 2 2 3 4 <- การอ้างอิงที่ตรงกัน
ข 1 2 3 4 4

แมตช์: ccppc

กระแสข้อมูลขาออก:
โทร 1 2 2 3 4
ข 1 2 2 3 4

ในตัวอย่างเหล่านี้ เราจะเห็นได้ว่า p, c และ n หมายถึง; โดยพื้นฐานแล้วพวกเขาอ้างถึงเฟรมและ
สนามของความเท่าเทียมกันตรงข้าม:

*<p ตรงกับสนามของพาริตีตรงข้ามในเฟรมก่อนหน้า>
*<c จับคู่สนามของพาริตีตรงข้ามในเฟรมปัจจุบัน>
*<n จับคู่สนามของพาริตีตรงข้ามในเฟรมถัดไป>

คุณ/ข

พื้นที่ u และ b การจับคู่นั้นค่อนข้างพิเศษในแง่ที่ว่าพวกเขาจับคู่จากสิ่งที่ตรงกันข้าม
ธงความเท่าเทียมกัน ในตัวอย่างต่อไปนี้ เราคิดว่าเรากำลังจับคู่ 2nd
กรอบ (บน:2, ล่าง:2). ตามการแข่งขัน 'x' จะอยู่ด้านบนและด้านล่างแต่ละอัน
ช่องที่ตรงกัน

ด้วยการจับคู่ด้านล่าง (สนาม=ก้น):

แมตช์: cpnbu

xxxxx
ด้านบน 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
ล่างสุด 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
xxxxx

เฟรมเอาต์พุต:
2 1 2 2 2
2 2 2 1 3

ด้วยการจับคู่ด้านบน (สนาม=ด้านบน):

แมตช์: cpnbu

xxxxx
ด้านบน 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
ล่างสุด 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
xxxxx

เฟรมเอาต์พุต:
2 2 2 1 2
2 1 3 2 2

ตัวอย่าง

IVTC อย่างง่ายของสตรีมบนสุดของสตรีม telecined แรก:

fieldmatch=order=tff:combmatch=none ทำลาย

IVTC ขั้นสูง พร้อมตัวเลือกสำรองบน ยาดิฟ สำหรับเฟรมที่หวีแล้ว:

fieldmatch=order=tff:combmatch=full, yadif=deint=interlaced, ทำลายล้าง

คำสั่งภาคสนาม
แปลงลำดับฟิลด์ของวิดีโออินพุต

ยอมรับพารามิเตอร์ต่อไปนี้:

ใบสั่ง
ลำดับของฟิลด์เอาต์พุต ค่าที่ถูกต้องคือ ทีเอฟ สำหรับช่องบนก่อนหรือ BFF สำหรับด้านล่าง
สนามก่อน.

ค่าเริ่มต้นคือ ทีเอฟ.

การแปลงรูปทำได้โดยเลื่อนเนื้อหารูปภาพขึ้นหรือลงหนึ่งบรรทัดและ
เติมบรรทัดที่เหลือด้วยเนื้อหารูปภาพที่เหมาะสม วิธีนี้คงเส้นคงวา
กับตัวแปลงลำดับฟิลด์ออกอากาศส่วนใหญ่

หากวิดีโออินพุตไม่ถูกตั้งค่าสถานะเป็นอินเทอร์เลซ หรือถูกตั้งค่าสถานะเป็น
ของลำดับฟิลด์เอาต์พุตที่ต้องการ ตัวกรองนี้จะไม่แก้ไขวิดีโอที่เข้ามา

มีประโยชน์มากเมื่อแปลงเป็นหรือจากวัสดุ PAL DV ซึ่งเป็นช่องด้านล่างก่อน

ตัวอย่างเช่น:

ffmpeg -i in.vob -vf "fieldorder=bff" out.dv

ฟีโฟ
บัฟเฟอร์อิมเมจอินพุตและส่งเมื่อมีการร้องขอ

ส่วนใหญ่จะมีประโยชน์เมื่อแทรกอัตโนมัติโดยกรอบงาน libavfilter

ไม่ใช้พารามิเตอร์

ค้นหา_rect
ค้นหาวัตถุสี่เหลี่ยม

ยอมรับตัวเลือกต่อไปนี้:

วัตถุ
Filepath ของภาพวัตถุ ต้องเป็นสีเทา8

ธรณีประตู
เกณฑ์การตรวจจับ ค่าเริ่มต้นคือ 0.5

มิพแมป
จำนวน mipmaps ค่าเริ่มต้นคือ 3

เอ็กซ์มิน, หมิน เอ็กซ์แม๊กซ์, วายแม็กซ์
ระบุสี่เหลี่ยมที่จะค้นหา

ตัวอย่าง

·สร้างจานสีตัวแทนของวิดีโอที่กำหนดโดยใช้ ffmpeg:

ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv

ปก_rect
คลุมวัตถุสี่เหลี่ยม

ยอมรับตัวเลือกต่อไปนี้:

หน้าปก
เส้นทางไฟล์ของภาพหน้าปกที่ไม่บังคับ ต้องอยู่ใน yuv420

โหมด
ตั้งค่าโหมดครอบคลุม

ยอมรับค่าต่อไปนี้:

หน้าปก
ครอบคลุมโดยภาพที่ให้มา

เบลอ
ครอบคลุมโดยสอดแทรกพิกเซลโดยรอบ

ค่าเริ่มต้นคือ เบลอ.

ตัวอย่าง

·สร้างจานสีตัวแทนของวิดีโอที่กำหนดโดยใช้ ffmpeg:

ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv

รูป
แปลงวิดีโออินพุตเป็นรูปแบบพิกเซลที่ระบุ Libavfilter จะพยายาม
เลือกหนึ่งที่เหมาะสมเป็นอินพุตไปยังตัวกรองถัดไป

ยอมรับพารามิเตอร์ต่อไปนี้:

pix_fmts
รายการที่คั่นด้วยชื่อรูปแบบพิกเซล '|' เช่น "pix_fmts=yuv420p|monow|rgb24"

ตัวอย่าง

·แปลงวิดีโออินพุตเป็น yuv420p รูป

รูปแบบ=pix_fmts=yuv420p

แปลงวิดีโออินพุตเป็นรูปแบบใดก็ได้ในรายการ

รูปแบบ=pix_fmts=yuv420p|yuv444p|yuv410p

เฟรมต่อวินาที
แปลงวิดีโอเป็นอัตราเฟรมคงที่ที่ระบุโดยทำซ้ำหรือวางเฟรมเป็น
จำเป็น

ยอมรับพารามิเตอร์ต่อไปนี้:

เฟรมต่อวินาที อัตราเฟรมเอาต์พุตที่ต้องการ ค่าเริ่มต้นคือ 25

ปัดเศษ
วิธีการปัดเศษ

ค่าที่เป็นไปได้คือ:

เป็นศูนย์
รอบศูนย์ไปทาง0

INF ปัดเศษออกจาก 0

ลง
ปัดไปทาง -อินฟินิตี้

up ปัดไปทาง +อนันต์

ใกล้
ปัดเศษให้ใกล้ที่สุด

ค่าเริ่มต้นคือ "ใกล้"

เวลาเริ่มต้น
สมมติว่า PTS แรกควรเป็นค่าที่กำหนด หน่วยเป็นวินาที นี้ช่วยให้สำหรับ
padding/trimming ที่จุดเริ่มต้นของสตรีม โดยค่าเริ่มต้น ไม่มีการตั้งสมมติฐานเกี่ยวกับ
PTS ที่คาดไว้ของเฟรมแรก ดังนั้นจึงไม่มีการเติมหรือตัดแต่ง ตัวอย่างเช่น นี่
สามารถตั้งค่าเป็น 0 เพื่อใส่จุดเริ่มต้นซ้ำกับเฟรมแรกหากวิดีโอ
สตรีมเริ่มต้นหลังจากสตรีมเสียงหรือเพื่อตัดแต่งเฟรมใดๆ ที่มี PTS เชิงลบ

อีกวิธีหนึ่ง สามารถระบุตัวเลือกเป็นสตริงแบบแบนได้: เฟรมต่อวินาที[:ปัดเศษ].

ดูเพิ่มเติมที่ การตั้งค่า กรอง.

ตัวอย่าง

· การใช้งานทั่วไปเพื่อตั้งค่า fps เป็น 25:

เฟรมต่อวินาที = เฟรมต่อวินาที = 25

· ตั้งค่า fps เป็น 24 โดยใช้ตัวย่อและวิธีปัดเศษให้ปัดเศษให้ใกล้เคียงที่สุด:

fps=fps=ฟิล์ม:รอบ=ใกล้

เฟรมแพ็ค
บรรจุวิดีโอสตรีมที่แตกต่างกันสองรายการลงในวิดีโอสามมิติ โดยตั้งค่าเมตาดาต้าที่เหมาะสม
ตัวแปลงสัญญาณที่รองรับ มุมมองทั้งสองควรมีขนาดและอัตราเฟรมและการประมวลผลเท่ากัน
จะหยุดเมื่อวิดีโอที่สั้นกว่าจบลง โปรดทราบว่าคุณสามารถปรับมุมมองได้สะดวก
คุณสมบัติด้วย ขนาด และ เฟรมต่อวินาที ฟิลเตอร์

ยอมรับพารามิเตอร์ต่อไปนี้:

รูป
รูปแบบการบรรจุที่ต้องการ ค่าที่รองรับคือ:

sbs มุมมองอยู่ติดกัน (ค่าเริ่มต้น)

แถบ มุมมองอยู่ด้านบนของกันและกัน

เส้น
มุมมองถูกบรรจุโดยสาย

คอลัมน์
มุมมองถูกบรรจุโดยคอลัมน์

เฟรมเซค
มุมมองจะสลับกันชั่วคราว

ตัวอย่างบางส่วน:

# แปลงมุมมองซ้ายและขวาเป็นวิดีโอตามลำดับเฟรม
ffmpeg -i ซ้าย -i ขวา -filter_complex framepack=frameseq OUTPUT

# แปลงมุมมองเป็นวิดีโอแบบเคียงข้างกันที่มีความละเอียดเอาต์พุตเท่ากับอินพุต
ffmpeg -i LEFT -i ขวา -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs ผลลัพธ์

เฟรม
เปลี่ยนอัตราเฟรมโดยสอดแทรกเฟรมเอาต์พุตวิดีโอใหม่จากเฟรมต้นทาง

ตัวกรองนี้ไม่ได้ออกแบบมาให้ทำงานอย่างถูกต้องกับสื่อแบบอินเทอร์เลซ หากคุณต้องการ
เปลี่ยนอัตราเฟรมของสื่ออินเทอร์เลซ จากนั้นคุณจะต้องดีอินเทอร์เลซก่อนหน้านี้
กรองและประสานใหม่หลังจากตัวกรองนี้

คำอธิบายของตัวเลือกที่ยอมรับมีดังนี้

เฟรมต่อวินาที ระบุเฟรมเอาต์พุตต่อวินาที ตัวเลือกนี้ยังสามารถระบุเป็นค่าได้
ตามลำพัง. ค่าเริ่มต้นคือ 50

interp_start
ระบุจุดเริ่มต้นของช่วงที่จะสร้างเฟรมเอาต์พุตเป็นเส้นตรง
การแก้ไขของสองเฟรม ช่วงคือ [0-255] ค่าเริ่มต้นคือ 15

interp_end
ระบุจุดสิ้นสุดของช่วงที่จะสร้างเฟรมเอาต์พุตเป็นเส้นตรง
การแก้ไขของสองเฟรม ช่วงคือ [0-255] ค่าเริ่มต้นคือ 240

ฉาก
ระบุระดับที่ตรวจพบการเปลี่ยนแปลงฉากเป็นค่าระหว่าง 0 ถึง 100 ถึง
ระบุฉากใหม่ ค่าต่ำสะท้อนความน่าจะเป็นต่ำสำหรับเฟรมปัจจุบันถึง
แนะนำฉากใหม่ในขณะที่ค่าที่สูงขึ้นหมายถึงเฟรมปัจจุบันมีแนวโน้มที่จะ
เป็นหนึ่ง ค่าเริ่มต้นคือ 7

ธง
ระบุแฟล็กที่มีอิทธิพลต่อกระบวนการกรอง

มูลค่าที่มีอยู่สำหรับ ธง คือ:

ฉาก_change_detect, เอสซีดี
เปิดใช้งานการตรวจจับการเปลี่ยนแปลงฉากโดยใช้ค่าของตัวเลือก ฉาก. ธงนี้คือ
เปิดใช้งานโดยค่าเริ่มต้น

เฟรมสเต็ป
เลือกหนึ่งเฟรมทุกเฟรมที่ N

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้:

ขั้นตอน
เลือกเฟรมหลังจากทุกเฟรม "ขั้นตอน" ค่าที่อนุญาตคือจำนวนเต็มบวกที่สูงกว่า
มากกว่า 0 ค่าเริ่มต้นคือ 1

ฟรี0r
ใช้เอฟเฟกต์ frei0r กับวิดีโออินพุต

ในการเปิดใช้งานการรวบรวมตัวกรองนี้ คุณต้องติดตั้งส่วนหัว frei0r และ
กำหนดค่า FFmpeg ด้วย "--enable-frei0r"

ยอมรับพารามิเตอร์ต่อไปนี้:

ตัวกรอง_ชื่อ
ชื่อของเอฟเฟกต์ frei0r ที่จะโหลด ถ้าตัวแปรสภาพแวดล้อม FREI0R_PATH is
กำหนดไว้ เอฟเฟกต์ frei0r จะถูกค้นหาในแต่ละไดเร็กทอรีที่ระบุโดย
รายการที่คั่นด้วยเครื่องหมายทวิภาคใน FREIOR_PATH. มิฉะนั้น เส้นทาง frei0r มาตรฐานคือ
ค้นหาตามลำดับนี้: หน้าแรก/.frei0r-1/lib/, /usr/local/lib/frei0r-1/,
/usr/lib/frei0r-1/.

filter_params
รายการพารามิเตอร์ที่แยกจากกัน '|' เพื่อส่งต่อไปยังเอฟเฟกต์ frei0r

พารามิเตอร์เอฟเฟกต์ frei0r สามารถเป็นบูลีน (ค่าของมันคือ "y" หรือ "n"), สองเท่า, a
สี (ระบุเป็น R/G/Bที่นี่มี R, Gและ B เป็นเลขทศนิยมระหว่าง 0.0 ถึง
1.0 รวม) หรือตามคำอธิบายสีที่ระบุในส่วน "สี" ใน ffmpeg-
คู่มือการใช้งาน) ตำแหน่ง (ระบุเป็น X/Yที่นี่มี X และ Y เป็นเลขทศนิยม)
และ/หรือสตริง

จำนวนและประเภทของพารามิเตอร์ขึ้นอยู่กับเอฟเฟกต์ที่โหลด หากพารามิเตอร์เอฟเฟกต์คือ
ไม่ได้ระบุ ค่าเริ่มต้นจะถูกตั้งค่า

ตัวอย่าง

· ใช้เอฟเฟกต์ distort0r โดยตั้งค่าพารามิเตอร์คู่สองตัวแรก:

frei0r=filter_name=distort0r:filter_params=0.5|0.01

· ใช้เอฟเฟกต์ colordistance โดยใช้สีเป็นพารามิเตอร์แรก:

frei0r=ระยะสี:0.2/0.3/0.4
frei0r=colordistance:ม่วง
frei0r=ระยะทางสี:0x112233

· ใช้เอฟเฟ็กต์เปอร์สเปคทีฟ โดยระบุตำแหน่งภาพบนซ้ายและขวาบน:

frei0r=perspective:0.2/0.2|0.8/0.2

ดูข้อมูลเพิ่มเติมได้ที่http://frei0r.dyne.org>

ฉพ
ใช้การประมวลผลภายหลังที่ง่ายและรวดเร็ว มันเป็นรุ่นที่เร็วกว่าของ เอสพีพี.

มันแยก (I) DCT ออกเป็นแนวนอน/แนวตั้ง ต่างจากขั้นตอนหลังการประมวลผลทั่วไป
ตัวกรอง หนึ่งในนั้นดำเนินการหนึ่งครั้งต่อบล็อก ไม่ใช่ต่อพิกเซล นี้จะช่วยให้มาก
ความเร็วสูงขึ้น

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

คุณภาพ
กำหนดคุณภาพ ตัวเลือกนี้กำหนดจำนวนระดับสำหรับการหาค่าเฉลี่ย มันยอมรับและ
จำนวนเต็มในช่วง 4-5 ค่าเริ่มต้นคือ 4

qp บังคับพารามิเตอร์การหาปริมาณคงที่ ยอมรับจำนวนเต็มในช่วง 0-63 ถ้าไม่
ตั้งค่า ตัวกรองจะใช้ QP จากสตรีมวิดีโอ (ถ้ามี)

ความแข็งแรง
ตั้งค่าความแรงของตัวกรอง ยอมรับจำนวนเต็มในช่วง -15 ถึง 32 ค่าที่ต่ำกว่าหมายถึง more
รายละเอียดแต่ยังมีสิ่งประดิษฐ์มากขึ้น ในขณะที่ค่าที่สูงขึ้นทำให้ภาพดูนุ่มนวลขึ้นแต่ยัง
เบลอมากขึ้น ค่าเริ่มต้นคือ 0 X PSNR ที่เหมาะสมที่สุด

use_bframe_qp
เปิดใช้งานการใช้ QP จาก B-Frames หากตั้งค่าเป็น 1 การใช้ตัวเลือกนี้อาจทำให้
สั่นไหวเนื่องจาก B-Frame มักจะมี QP ​​ที่ใหญ่กว่า ค่าเริ่มต้นคือ 0 (ไม่ได้เปิดใช้งาน)

เจ๋ง
ตัวกรองยอมรับตัวเลือกต่อไปนี้:

lum_expr, ลุม
ตั้งค่านิพจน์ความสว่าง

cb_expr, cb
ตั้งค่านิพจน์ chrominance blue

cr_expr, cr
ตั้งค่านิพจน์ chrominance สีแดง

อัลฟ่า_expr, a
ตั้งค่านิพจน์อัลฟ่า

red_expr, r
ตั้งค่านิพจน์สีแดง

สีเขียว_expr, g
ตั้งค่านิพจน์สีเขียว

blue_expr, b
ตั้งค่านิพจน์สีน้ำเงิน

สเปซสีถูกเลือกตามตัวเลือกที่ระบุ หากหนึ่งใน lum_expr,
cb_expr,หรือ cr_expr มีการระบุตัวเลือก ตัวกรองจะเลือก YCbCr . โดยอัตโนมัติ
พื้นที่สี หากหนึ่งใน red_expr, สีเขียว_expr,หรือ blue_expr ระบุตัวเลือกไว้ก็จะ
เลือกขอบเขตสี RGB

หากไม่มีการกำหนดนิพจน์ chrominance ตัวใดตัวหนึ่ง นิพจน์ chrominance จะถอยกลับไปอีกนิพจน์หนึ่ง ถ้าไม่
มีการระบุนิพจน์อัลฟ่าซึ่งจะประเมินค่าทึบแสง ถ้าไม่มี chrominance
มีการระบุนิพจน์ พวกเขาจะประเมินเป็นนิพจน์ความสว่าง

นิพจน์สามารถใช้ตัวแปรและฟังก์ชันต่อไปนี้:

N หมายเลขลำดับของเฟรมที่กรองแล้ว เริ่มต้นจาก 0

X
Y พิกัดของตัวอย่างปัจจุบัน

W
H ความกว้างและความสูงของรูปภาพ

SW
SH มาตราส่วนความกว้างและความสูงขึ้นอยู่กับระนาบการกรองในปัจจุบัน มันคืออัตราส่วน
ระหว่างจำนวนพิกเซลระนาบลูมาที่สอดคล้องกันกับระนาบปัจจุบัน เช่น
สำหรับ YUV4:2:0 ค่าคือ "1,1" สำหรับระนาบ luma และ "0.5,0.5" สำหรับระนาบสี

T เวลาของเฟรมปัจจุบัน แสดงเป็นวินาที

พี(x, y)
ส่งคืนค่าของพิกเซลที่ตำแหน่ง (x,y) ของระนาบปัจจุบัน

ลูม (x, y)
ส่งคืนค่าของพิกเซลที่ตำแหน่ง (x,y) ของระนาบความส่องสว่าง

ซีบี(x, y)
ส่งคืนค่าของพิกเซลที่ตำแหน่ง (x,y) ของระนาบโครมาส่วนต่างสีน้ำเงิน
คืนค่า 0 หากไม่มีระนาบดังกล่าว

Cr(x, y)
ส่งคืนค่าของพิกเซลที่ตำแหน่ง (x,y) ของระนาบความเข้มของสีแดง
คืนค่า 0 หากไม่มีระนาบดังกล่าว

ร(x, y)
กรัม(x, y)
ข(x, y)
ส่งคืนค่าของพิกเซลที่ตำแหน่ง (x,y) ขององค์ประกอบสีแดง/เขียว/น้ำเงิน
คืนค่า 0 หากไม่มีองค์ประกอบดังกล่าว

อัลฟ่า(x, y)
ส่งคืนค่าของพิกเซลที่ตำแหน่ง (x,y) ของระนาบอัลฟา คืนค่า 0 หากมี
ไม่มีเครื่องบินดังกล่าว

สำหรับฟังก์ชัน if x และ y อยู่นอกพื้นที่ ค่าจะถูกตัดโดยอัตโนมัติไปที่
ขอบที่ใกล้กว่า

ตัวอย่าง

· พลิกภาพในแนวนอน:

geq=p(WX\,Y)

· สร้างคลื่นไซน์สองมิติ ด้วยมุม "PI/3" และความยาวคลื่น 100 พิกเซล:

geq=128 + 100*sin(2*(PI/100)*(cos(PI/3)*(X-50*T) + sin(PI/3)*Y)):128:128

·สร้างแสงเคลื่อนไหวลึกลับแฟนซี:

nullsrc=s=256x256,geq=สุ่ม(1)/hypot(X-cos(N*0.07)*W/2-W/2\,Y-sin(N*0.09)*H/2-H/2)^2*1000000*sin(N*0.02):128:128

·สร้างเอฟเฟกต์ลายนูนอย่างรวดเร็ว:

รูปแบบ=สีเทา,geq=lum_expr='(p(X,Y)+(256-p(X-4,Y-4))))/2'

· แก้ไของค์ประกอบ RGB ขึ้นอยู่กับตำแหน่งพิกเซล:

geq=r='X/W*r(X,Y)':g='(1-X/W)*g(X,Y)':b='(HY)/H*b(X,Y) )'

· สร้างการไล่ระดับสีในแนวรัศมีที่มีขนาดเท่ากับอินพุต (ดูเครื่องหมาย บทความสั้น
กรอง):

geq=lum=255*gauss((X/W-0.5)*3)*gauss((Y/H-0.5)*3)/เกาส์(0) /เกาส์(0),รูปแบบ=สีเทา

· สร้างการไล่ระดับสีเชิงเส้นเพื่อใช้เป็นหน้ากากสำหรับตัวกรองอื่น จากนั้นเขียนด้วย
วางซ้อน. ในตัวอย่างนี้ วิดีโอจะค่อยๆ เบลอมากขึ้นจากด้านบนเป็น
ด้านล่างของแกน y ตามที่กำหนดโดยเกรเดียนต์เชิงเส้น:

ffmpeg -i อินพุต.mp4 -filter_complex "geq=lum=255*(Y/H),format=gray[grad];[0:v]boxblur=4[blur];[blur][grad]alphamerge[alpha] ;[0:v][alpha]โอเวอร์เลย์" output.mp4

จบสนุก
แก้ไขสิ่งประดิษฐ์แถบที่บางครั้งนำเข้าสู่บริเวณที่ราบเรียบเกือบโดย
การตัดทอนเป็นความลึกของสี 8 บิต สอดแทรกการไล่ระดับสีที่ควรไปที่แถบ
อยู่และควบคุมพวกเขา

มันถูกออกแบบมาสำหรับการเล่นเท่านั้น อย่าใช้ก่อนการบีบอัดแบบสูญเสียเพราะ
การบีบอัดมีแนวโน้มที่จะสูญเสีย dither และนำวงดนตรีกลับมา

ยอมรับพารามิเตอร์ต่อไปนี้:

ความแข็งแรง
จำนวนสูงสุดที่ตัวกรองจะเปลี่ยนหนึ่งพิกเซล นี้ยังเป็น
เกณฑ์สำหรับการตรวจจับบริเวณที่ราบเรียบเกือบ ค่าที่ยอมรับได้มีตั้งแต่ .51 ถึง 64;
ค่าเริ่มต้นคือ 1.2 ค่าที่อยู่นอกช่วงจะถูกตัดเป็นช่วงที่ถูกต้อง

รัศมี
พื้นที่ใกล้เคียงเพื่อให้พอดีกับการไล่ระดับสี รัศมีที่ใหญ่ขึ้นทำให้การไล่ระดับสีราบรื่นขึ้น
แต่ยังป้องกันไม่ให้ตัวกรองแก้ไขพิกเซลใกล้กับบริเวณที่มีรายละเอียด
ค่าที่ยอมรับได้คือ 8-32; ค่าเริ่มต้นคือ 16 ค่านอกช่วงจะเป็น
ตัดไปยังช่วงที่ถูกต้อง

อีกวิธีหนึ่ง สามารถระบุตัวเลือกเป็นสตริงแบบแบนได้: ความแข็งแรง[:รัศมี]

ตัวอย่าง

· ใช้ตัวกรองที่มีความแรง 3.5 และรัศมี 8:

จบสนุก=3.5:8

· ระบุรัศมี โดยละเว้นความแรง (ซึ่งจะถอยกลับไปเป็นค่าเริ่มต้น):

ไล่ฟัน=รัศมี=8

Haldclut
ใช้ Hald CLUT กับสตรีมวิดีโอ

อินพุตแรกคือสตรีมวิดีโอที่จะประมวลผล และอินพุตที่สองคือ Hald CLUT The Hald
อินพุต CLUT อาจเป็นรูปภาพธรรมดาหรือสตรีมวิดีโอที่สมบูรณ์ก็ได้

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ที่สั้นที่สุด
บังคับยุติเมื่ออินพุตที่สั้นที่สุดสิ้นสุด ค่าเริ่มต้นคือ 0

ทำซ้ำ
ใช้ CLUT สุดท้ายต่อไปหลังจากสิ้นสุดสตรีม ค่า 0 ปิดการใช้งาน
กรองหลังจากถึงเฟรมสุดท้ายของ CLUT ค่าเริ่มต้นคือ 1

"haldclut" ก็มีตัวเลือกการแก้ไขเหมือนกันเช่น lut3d (ฟิลเตอร์ทั้งสองใช้เหมือนกัน
ภายใน)

ข้อมูลเพิ่มเติมเกี่ยวกับ Hald CLUT สามารถพบได้บนเว็บไซต์ของ Eskil Steenberg (Hald CLUT
ผู้เขียน) athttp://www.quelsolaar.com/technology/clut.html>.

Workflow ตัวอย่าง

Hald CLUT สตรีมวิดีโอ

สร้างเอกลักษณ์ Hald CLUT สตรีมที่เปลี่ยนแปลงด้วยเอฟเฟกต์ต่างๆ:

ffmpeg -f lavfi -i B =8 -vf "hue=H=2*PI*t:s=sin(2*PI*t)+1, curves=cross_process" -t 10 -c:v ffv1 clut.nut

หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณใช้ตัวแปลงสัญญาณแบบไม่สูญเสียข้อมูล

จากนั้นใช้กับ "haldclut" เพื่อนำไปใช้กับสตรีมแบบสุ่ม:

ffmpeg -f lavfi -i mandelbrot -i clut.nut -filter_complex '[0][1] haldclut' -t 20 mandelclut.mkv

Hald CLUT จะถูกนำไปใช้กับ 10 วินาทีแรก (ระยะเวลาของ clut.อ่อนนุช) จากนั้น
รูปภาพล่าสุดของสตรีม CLUT นั้นจะถูกนำไปใช้กับเฟรมที่เหลือของ
สตรีม "mandelbrot"

Hald CLUT พร้อมการแสดงตัวอย่าง

Hald CLUT ควรจะเป็นรูปสี่เหลี่ยมจัตุรัสของ "Level*Level*Level" โดย
พิกเซล "ระดับ*ระดับ*ระดับ" สำหรับ Hald CLUT ที่กำหนด FFmpeg จะเลือกที่ใหญ่ที่สุดที่เป็นไปได้
สี่เหลี่ยมเริ่มต้นที่ด้านบนซ้ายของภาพ พิกเซลช่องว่างภายในที่เหลือ (ด้านล่างหรือ
ขวา) จะถูกละเว้น พื้นที่นี้สามารถใช้เพื่อเพิ่มตัวอย่าง Hald CLUT

โดยทั่วไป Hald CLUT ที่สร้างขึ้นต่อไปนี้จะได้รับการสนับสนุนโดยตัวกรอง "haldclut":

ffmpeg -f lavfi -i B =8 -vf "
แผ่น=iw+320 [padded_clut];
smptebars=s=320x256 แยก [a][b];
[padded_clut][a] โอเวอร์เลย์=W-320:h, เส้นโค้ง=color_negative [หลัก];
[main][b] โอเวอร์เลย์=W-320" -frames:v 1 clut.png

มันมีต้นฉบับและการแสดงตัวอย่างเอฟเฟกต์ของแถบสี CLUT: SMPTE เป็น
แสดงที่ด้านบนขวาและด้านล่างแถบสีเดียวกันที่ประมวลผลโดยการเปลี่ยนสี

จากนั้น ผลของ Hald CLUT นี้สามารถมองเห็นได้ด้วย:

ffplay input.mkv -vf "movie=clut.png, [ใน] haldclut"

พลิก
พลิกวิดีโออินพุตในแนวนอน

ตัวอย่างเช่น หากต้องการพลิกวิดีโออินพุตในแนวนอนด้วย ffmpeg:

ffmpeg -i in.avi -vf "hflip" out.avi

ฮิสทีค
ตัวกรองนี้ใช้การปรับฮิสโตแกรมของสีทั่วโลกโดยพิจารณาจากแต่ละเฟรม

สามารถใช้เพื่อแก้ไขวิดีโอที่มีช่วงความเข้มของพิกเซลที่บีบอัดได้ ดิ
ตัวกรองจะกระจายความเข้มของพิกเซลเพื่อปรับการกระจายให้เท่ากันทั่วทั้ง
ช่วงความเข้ม อาจถูกมองว่าเป็น "การปรับฟิลเตอร์คอนทราสต์โดยอัตโนมัติ" นี้
ตัวกรองมีประโยชน์สำหรับการแก้ไขวิดีโอต้นทางที่ลดคุณภาพหรือจับภาพได้ไม่ดีเท่านั้น

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความแข็งแรง
กำหนดปริมาณของการทำให้เท่าเทียมกันที่จะใช้ เมื่อความแรงลดลง
การกระจายความเข้มของพิกเซลที่เข้าใกล้เฟรมอินพุตมากขึ้นเรื่อยๆ
ค่าต้องเป็นจำนวนทศนิยมในช่วง [0,1] และค่าเริ่มต้นคือ 0.200

ความรุนแรง
ตั้งค่าความเข้มสูงสุดที่สามารถสร้างและปรับขนาดเอาต์พุตได้
อย่างเหมาะสม. ควรตั้งค่าความแรงตามต้องการ จากนั้นจึงปรับความเข้มได้
จำกัดหากจำเป็นเพื่อหลีกเลี่ยงการชะล้างออก ค่าต้องเป็นจำนวนทศนิยมในช่วง
[0,1] และค่าเริ่มต้นเป็น 0.210

ป้องกันการพันกัน
ตั้งค่าระดับการต่อต้านแบนด์ หากเปิดใช้งานตัวกรองจะสุ่มเปลี่ยนความสว่างของ
พิกเซลเอาต์พุตในปริมาณเล็กน้อยเพื่อหลีกเลี่ยงแถบฮิสโตแกรม ค่าที่เป็นไปได้คือ
"ไม่มี", "อ่อนแอ" หรือ "แข็งแกร่ง" มีค่าเริ่มต้นเป็น "ไม่มี"

histogram
คำนวณและวาดฮิสโตแกรมการกระจายสีสำหรับวิดีโออินพุต

ฮิสโตแกรมที่คำนวณแล้วเป็นตัวแทนของการกระจายองค์ประกอบสีใน an
ภาพ.

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

โหมด
ตั้งค่าโหมดฮิสโตแกรม

ยอมรับค่าต่อไปนี้:

ระดับ
ฮิสโตแกรมมาตรฐานที่แสดงการกระจายองค์ประกอบสีในรูปภาพ
แสดงกราฟสีสำหรับองค์ประกอบแต่ละสี แสดงการกระจายของ Y, U, V,
คอมโพเนนต์ A หรือ R, G, B ในเฟรมปัจจุบัน ขึ้นอยู่กับรูปแบบอินพุต ด้านล่าง
แต่ละกราฟจะแสดงมาตรวัดมาตราส่วนองค์ประกอบสี

สี
แสดงค่าสี (การจัดตำแหน่งสี U/V) ในกราฟสองมิติ (ซึ่งก็คือ
เรียกว่าเวคเตอร์สโคป) ยิ่งพิกเซลสว่างในเวคเตอร์สโคป พิกเซลของ .ก็จะยิ่งมากขึ้น
กรอบอินพุตสอดคล้องกับพิกเซลนั้น (เช่น พิกเซลมากขึ้นมี chroma . นี้
ค่า). คอมโพเนนต์ V จะแสดงบนแกนนอน (X) โดยชิดซ้ายสุด
ด้านที่เป็น V = 0 และด้านขวาสุดคือ V = 255 ส่วนประกอบ U คือ
แสดงบนแกนแนวตั้ง (Y) โดยด้านบนแทน U = 0 และด้านล่าง
แทน U = 255

ตำแหน่งของพิกเซลสีขาวในกราฟสอดคล้องกับค่าโครมาของa
พิกเซลของคลิปอินพุต กราฟจึงสามารถใช้อ่านสีได้ (สี
รส) และความอิ่มตัวของสี (ความโดดเด่นของสีในสี) เป็นสีของ
เปลี่ยนสี มันจะเคลื่อนที่ไปรอบๆ สี่เหลี่ยมจัตุรัส ที่ใจกลางจตุรัส
ความอิ่มตัวเป็นศูนย์ ซึ่งหมายความว่าพิกเซลที่เกี่ยวข้องไม่มีสี ถ้า
จำนวนสีเฉพาะเพิ่มขึ้น (ในขณะที่สีอื่นไม่เปลี่ยนแปลง)
ความอิ่มตัวจะเพิ่มขึ้น และตัวบ่งชี้จะเคลื่อนไปที่ขอบของสี่เหลี่ยมจัตุรัส

color2
ค่าโครมาในเวคเตอร์สโคป คล้ายกับ "สี" แต่ค่าโครมาที่แท้จริงคือ
แสดง

รูปแบบของคลื่น
กราฟองค์ประกอบสีต่อแถว/คอลัมน์ ในโหมดแถว กราฟทางด้านซ้าย
แทนค่าส่วนประกอบสี 0 และด้านขวาแทนค่า = 255 In
โหมดคอลัมน์ ด้านบนแทนค่าองค์ประกอบสี = 0 และด้านล่าง
แสดงถึงมูลค่า = 255.

ค่าเริ่มต้นคือ "ระดับ"

ระดับ_ความสูง
กำหนดความสูงของระดับใน "ระดับ" ค่าเริ่มต้นคือ 200 ช่วงที่อนุญาตคือ [50, 2048]

ขนาด_ความสูง
กำหนดความสูงของระดับสีใน "ระดับ" ค่าเริ่มต้นคือ 12 ช่วงที่อนุญาตคือ [0, 40]

ขั้นตอน
ตั้งค่าขั้นตอนสำหรับโหมด "รูปคลื่น" ค่าที่น้อยกว่ามีประโยชน์ในการหาจำนวนค่าของ
ความสว่างเดียวกันจะกระจายไปตามแถว/คอลัมน์อินพุต ค่าเริ่มต้นคือ 10
ช่วงที่อนุญาตคือ [1, 255]

รูปคลื่น_mode
ตั้งค่าโหมดสำหรับ "รูปคลื่น" จะเป็น "แถว" หรือ "คอลัมน์" ก็ได้ ค่าเริ่มต้นคือ "แถว"

รูปคลื่น_mirror
ตั้งค่าโหมดมิเรอร์สำหรับ "รูปคลื่น" 0 หมายถึงไม่สะท้อน 1 หมายถึงมิเรอร์ ในมิเรอร์
โหมด ค่าที่สูงกว่าจะแสดงทางด้านซ้ายสำหรับโหมด "แถว" และที่ด้านบน
สำหรับโหมด "คอลัมน์" ค่าเริ่มต้นคือ 0 (ไม่สะท้อน)

display_mode
ตั้งค่าโหมดการแสดงผลสำหรับ "รูปคลื่น" และ "ระดับ" ยอมรับค่าต่อไปนี้:

ขบวนแห่
แสดงกราฟแยกสำหรับส่วนประกอบสีเคียงข้างกันในรูปคลื่น "แถว"
โหมดหรือหนึ่งด้านล่างในโหมด "คอลัมน์" ของรูปคลื่นสำหรับฮิสโตแกรม "รูปคลื่น"
โหมด. สำหรับโหมดฮิสโตแกรม "ระดับ" ต่อกราฟองค์ประกอบสีจะอยู่ด้านล่าง
ซึ่งกันและกัน

การใช้โหมดการแสดงผลนี้ในโหมดฮิสโตแกรม "รูปคลื่น" ทำให้มองเห็นสีได้ง่าย
ใช้ไฮไลท์และเงาของภาพโดยเปรียบเทียบรูปทรงของ
กราฟด้านบนและด้านล่างของแต่ละรูปคลื่น เนื่องจากสีขาว สีเทา และสีดำเป็น
โดดเด่นด้วยพื้นที่เป็นกลางสีแดง สีเขียว และสีน้ำเงินในปริมาณที่เท่ากันทุกประการ
รูปภาพควรแสดงรูปคลื่นสามรูปที่มีความกว้าง/ความสูงเท่ากันโดยประมาณ ถ้าไม่,
การแก้ไขทำได้ง่ายโดยทำการปรับระดับรูปคลื่นทั้งสาม

วางซ้อน
นำเสนอข้อมูลเหมือนกับใน "ขบวนพาเหรด" ยกเว้นว่ากราฟ
การแสดงองค์ประกอบสีจะซ้อนทับกันโดยตรง

โหมดการแสดงผลนี้ในโหมดฮิสโตแกรม "รูปคลื่น" ช่วยให้มองเห็นสัมพัทธ์ได้ง่ายขึ้น
ความแตกต่างหรือความคล้ายคลึงกันในพื้นที่ทับซ้อนขององค์ประกอบสีที่เป็น
ควรจะเหมือนกัน เช่น สีขาวกลาง สีเทา หรือสีดำ

ค่าเริ่มต้นคือ "ขบวนพาเหรด"

ระดับ_mode
ตั้งค่าโหมดสำหรับ "ระดับ" สามารถเป็นได้ทั้ง "เชิงเส้น" หรือ "ลอการิทึม" ค่าเริ่มต้นคือ "เชิงเส้น"

ส่วนประกอบ
กำหนดองค์ประกอบสีที่จะแสดงสำหรับโหมด "ระดับ" ค่าเริ่มต้นคือ 7

ตัวอย่าง

· คำนวณและวาดฮิสโตแกรม:

ffplay -i อินพุต -vf histogram

hqdn3d
นี่คือตัวกรอง 3d denoise ที่มีความแม่นยำสูง/คุณภาพสูง มีจุดมุ่งหมายเพื่อลดสัญญาณรบกวนของภาพ
ให้ภาพที่ราบรื่นและทำให้ภาพนิ่งนิ่งจริงๆ ควรปรับปรุง
การบีบอัด

ยอมรับพารามิเตอร์ทางเลือกต่อไปนี้:

luma_spatial
ตัวเลขทศนิยมไม่เป็นลบซึ่งระบุความแรงของลูมาเชิงพื้นที่ มัน
ค่าเริ่มต้นเป็น 4.0

chroma_spatial
ตัวเลขทศนิยมไม่เป็นลบซึ่งระบุความแรงของสีเชิงพื้นที่ มัน
ค่าเริ่มต้นเป็น 3.0*luma_spatial/ 4.0

luma_tmp
เลขทศนิยมซึ่งระบุความแรงชั่วคราวของลูมา มีค่าเริ่มต้นเป็น
* 6.0luma_spatial/ 4.0

chroma_tmp
เลขทศนิยมซึ่งระบุความแรงชั่วขณะของสี มีค่าเริ่มต้นเป็น
luma_tmp*chroma_spatial/luma_spatial.

เอชคิวเอ็กซ์
ใช้ฟิลเตอร์ขยายคุณภาพสูงที่ออกแบบมาสำหรับภาพพิกเซล ตัวกรองนี้คือ
สร้างสรรค์โดย Maxim Stepin

ยอมรับตัวเลือกต่อไปนี้:

n กำหนดขนาดมาตราส่วน: 2 สำหรับ "hq2x", 3 สำหรับ "hq3x" และ 4 สำหรับ "hq4x" ค่าเริ่มต้นคือ 3

กอง
ซ้อนวิดีโออินพุตในแนวนอน

สตรีมทั้งหมดต้องมีรูปแบบพิกเซลและความสูงเท่ากัน

โปรดทราบว่าตัวกรองนี้เร็วกว่าการใช้ วางซ้อน และ เบาะ กรองเพื่อสร้างผลลัพธ์เดียวกัน

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

nb_inputs
กำหนดจำนวนอินพุตสตรีม ค่าเริ่มต้นคือ 2

สี
ปรับเปลี่ยนเฉดสีและ/หรือความอิ่มตัวของสีอินพุต

ยอมรับพารามิเตอร์ต่อไปนี้:

h ระบุมุมสีเป็นจำนวนองศา ยอมรับนิพจน์และค่าเริ่มต้น
เป็น "0"

s ระบุความอิ่มตัวในช่วง [-10,10] ยอมรับนิพจน์และค่าเริ่มต้นเป็น
"1/XNUMX/XNUMX"

H ระบุมุมเฉดสีเป็นจำนวนเรเดียน ยอมรับนิพจน์และค่าเริ่มต้น
เป็น "0"

b ระบุความสว่างในช่วง [-10,10] ยอมรับนิพจน์และค่าเริ่มต้นเป็น
"0/XNUMX/XNUMX"

h และ H เป็นคนละเรื่องกัน และไม่สามารถระบุพร้อมกันได้

พื้นที่ b, h, H และ s ค่าตัวเลือกคือนิพจน์ที่มีค่าคงที่ต่อไปนี้:

n จำนวนเฟรมของเฟรมอินพุตเริ่มต้นจาก 0

พีทีเอส การประทับเวลาการนำเสนอของกรอบอินพุตที่แสดงในหน่วยฐานเวลา

r อัตราเฟรมของวิดีโออินพุต NAN หากไม่ทราบอัตราเฟรมอินพุต

t การประทับเวลาแสดงเป็นวินาที NAN หากไม่ทราบการประทับเวลาอินพุต

tb ฐานเวลาของวิดีโออินพุต

ตัวอย่าง

· ตั้งค่าเฉดสีเป็น 90 องศาและความอิ่มตัวของสีเป็น 1.0:

ฮิว=h=90:s=1

· คำสั่งเดียวกันแต่แสดงสีเป็นเรเดียน:

ฮิว=H=PI/2:s=1

· หมุนสีและทำให้ความอิ่มตัวแกว่งไปมาระหว่าง 0 ถึง 2 ในช่วงเวลา 1 วินาที:

hue="H=2*PI*t: s=sin(2*PI*t)+1"

· ใช้เอฟเฟกต์เฟดอินความอิ่มตัวของสี 3 วินาทีโดยเริ่มที่ 0:

hue="s=min(t/3\,1)"

นิพจน์เฟดอินทั่วไปสามารถเขียนได้ดังนี้:

hue="s=min(0\, max((t-START)/DURATION\, 1))"

· ใช้เอฟเฟกต์เฟดเอาต์ความอิ่มตัวของสี 3 วินาทีโดยเริ่มที่ 5 วินาที:

hue="s=max(0\, min(1\, (8-t)/3))"

นิพจน์เฟดเอาท์ทั่วไปสามารถเขียนได้ดังนี้:

hue="s=max(0\, min(1\, (START+DURATION-t)/DURATION))"

คำสั่ง

ตัวกรองนี้สนับสนุนคำสั่งต่อไปนี้:

b
s
h
H ปรับเปลี่ยนเฉดสีและ/หรือความอิ่มตัวและ/หรือความสว่างของวิดีโออินพุต ดิ
คำสั่งยอมรับไวยากรณ์เดียวกันของตัวเลือกที่เกี่ยวข้อง

ถ้านิพจน์ที่ระบุไม่ถูกต้อง นิพจน์นั้นจะถูกเก็บไว้ที่ค่าปัจจุบัน

ไอเดต
ตรวจจับประเภทการอินเทอร์เลซของวิดีโอ

ตัวกรองนี้พยายามตรวจหาว่าเฟรมอินพุตเป็นแบบอินเทอร์เลซ โปรเกรสซีฟ บนหรือล่าง
สนามก่อน. นอกจากนี้ยังจะพยายามตรวจหาช่องที่ซ้ำกันระหว่างเฟรมที่อยู่ติดกัน
(สัญลักษณ์ของ telecine)

การตรวจจับเฟรมเดียวจะพิจารณาเฉพาะเฟรมที่อยู่ติดกันทันทีเมื่อจำแนกแต่ละเฟรม
กรอบ. การตรวจจับเฟรมหลายเฟรมรวมประวัติการจัดหมวดหมู่ของก่อนหน้า
เฟรม

ตัวกรองจะบันทึกค่าข้อมูลเมตาเหล่านี้:

single.current_frame
ตรวจพบประเภทของเฟรมปัจจุบันโดยใช้การตรวจจับเฟรมเดียว หนึ่งใน: ``tff'' (บน
ช่องแรก), ``bff'' (ช่องล่างก่อน), ``ก้าวหน้า'' หรือ ``ไม่ระบุ''

single.tff
จำนวนเฟรมสะสมที่ตรวจพบเป็นฟิลด์บนสุดก่อนโดยใช้การตรวจจับเฟรมเดียว

หลาย.tff
ตรวจพบจำนวนเฟรมสะสมเป็นฟิลด์บนสุดก่อนโดยใช้หลายเฟรม
การตรวจพบ

โสด.bff
ตรวจพบจำนวนเฟรมสะสมเป็นฟิลด์ด้านล่างก่อนโดยใช้เฟรมเดียว
การตรวจพบ

หลาย.current_frame
ตรวจพบประเภทของเฟรมปัจจุบันโดยใช้การตรวจจับหลายเฟรม หนึ่งใน: ``tff'' (บน
ช่องแรก), ``bff'' (ช่องล่างก่อน), ``ก้าวหน้า'' หรือ ``ไม่ระบุ''

หลาย.bff
ตรวจพบจำนวนเฟรมสะสมเป็นฟิลด์ด้านล่างก่อนโดยใช้หลายเฟรม
การตรวจพบ

เดียว.ก้าวหน้า
จำนวนเฟรมสะสมที่ตรวจพบเป็นโปรเกรสซีฟโดยใช้การตรวจจับเฟรมเดียว

หลาย.ก้าวหน้า
จำนวนเฟรมสะสมที่ตรวจพบเป็นโปรเกรสซีฟโดยใช้การตรวจจับหลายเฟรม

โสดไม่กำหนด
จำนวนเฟรมสะสมที่ไม่สามารถจำแนกได้โดยใช้การตรวจจับเฟรมเดียว

หลาย. บึกบึน
จำนวนเฟรมสะสมที่ไม่สามารถจำแนกได้โดยใช้หลายเฟรม
การตรวจพบ

ซ้ำ.current_frame
ช่องใดในเฟรมปัจจุบันซ้ำจากช่องสุดท้าย หนึ่งใน ``ไม่''
``บน'' หรือ ``ล่าง''

ซ้ำ.ไม่ทั้ง
จำนวนเฟรมสะสมที่ไม่มีฟิลด์ซ้ำ

ซ้ำ.top
จำนวนเฟรมสะสมที่มีฟิลด์บนซ้ำจากเฟรมบนสุดของเฟรมก่อนหน้า
สนาม

ซ้ำ.ด้านล่าง
จำนวนเฟรมสะสมที่มีช่องด้านล่างซ้ำจากเฟรมก่อนหน้า
ฟิลด์ด้านล่าง

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

intl_thres
ตั้งค่าเกณฑ์การอินเทอร์เลซ

prog_thres
กำหนดเกณฑ์แบบก้าวหน้า

ทำซ้ำ_thres
เกณฑ์สำหรับการตรวจจับสนามซ้ำ

ครึ่งชีวิต
จำนวนของเฟรมหลังจากนั้น เฟรมที่มีส่วนร่วมกับสถิติจะลดลงครึ่งหนึ่ง
(กล่าวคือ มีส่วนในการจัดประเภทเพียง 0.5) ค่าเริ่มต้นของ 0 หมายความว่า
เฟรมทั้งหมดที่เห็นจะได้รับน้ำหนักเต็ม 1.0 ตลอดไป

วิเคราะห์_interlaced_flag
เมื่อนี่ไม่ใช่ 0 แล้ว idet จะใช้จำนวนเฟรมที่ระบุเพื่อกำหนดว่า
แฟล็กอินเทอร์เลซนั้นแม่นยำ จะไม่นับเฟรมที่บึกบึน ถ้าธง
พบว่ามีความถูกต้องก็จะนำไปใช้โดยไม่ต้องคำนวณเพิ่มเติมหากเป็น
พบว่าไม่ถูกต้องจะถูกล้างออกโดยไม่ต้องคำนวณเพิ่มเติม นี้
อนุญาตให้ใส่ตัวกรอง idet เป็นวิธีการคำนวณต่ำเพื่อทำความสะอาด
ธงอินเทอร์เลซ

il
ฟิลด์ Deinterleave หรือ interleave

ตัวกรองนี้อนุญาตให้ประมวลผลฟิลด์รูปภาพแบบอินเทอร์เลซโดยไม่ต้องแยกส่วน
Deinterleaving แบ่งเฟรมอินพุตออกเป็น 2 ช่อง (เรียกว่าครึ่งภาพ) เส้นคี่
จะถูกย้ายไปยังครึ่งบนของภาพที่ส่งออก แม้กระทั่งเส้นที่ครึ่งล่าง คุณสามารถ
ประมวลผล (กรอง) อย่างอิสระแล้วแทรกเข้าไปใหม่

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ลูมา_โหมด, l
โครมา_โหมด, c
อัลฟ่า_โหมด, a
ค่าที่ใช้ได้สำหรับ luma_mode, chroma_mode และ โหมดอัลฟ่า คือ:

ไม่มี
ไม่ทำอะไร.

ดีอินเตอร์ลีฟ, d
ฟิลด์ Deinterleave โดยวางไว้เหนืออีกฟิลด์หนึ่ง

แทรกแซง i
ฟิลด์อินเตอร์ลีฟ ย้อนกลับผลของการแยกทางออกจากกัน

ค่าเริ่มต้นคือ "ไม่มี"

luma_swap, ls
โครมา_swap, cs
alpha_swap, as
สลับฟิลด์ luma/chroma/alpha แลกเปลี่ยนเส้นคู่และคี่ ค่าเริ่มต้นคือ 0

พอง
ใช้เอฟเฟกต์พองกับวิดีโอ

ตัวกรองนี้แทนที่พิกเซลด้วย ในประเทศ(3x3) เฉลี่ยโดยพิจารณาเท่านั้น
ค่าที่สูงกว่าพิกเซล

ยอมรับตัวเลือกต่อไปนี้:

ธรณีประตู0
ธรณีประตู1
ธรณีประตู2
ธรณีประตู3
จำกัดการเปลี่ยนแปลงสูงสุดสำหรับแต่ละระนาบ ค่าเริ่มต้นคือ 65535 หาก 0 เครื่องบินจะยังคงอยู่
ไม่เปลี่ยนแปลง

จักสาน
ฟิลเตอร์อินเทอร์เลซอย่างง่ายจากเนื้อหาแบบโปรเกรสซีฟ สิ่งนี้สอดแทรกบน (หรือต่ำกว่า)
เส้นจากเฟรมคี่ที่มีเส้นล่าง (หรือบน) จากเฟรมคู่ ลดอัตราเฟรมลงครึ่งหนึ่ง
และรักษาความสูงของภาพ

ต้นฉบับ ต้นฉบับ ใหม่ เฟรม
เฟรม 'j' เฟรม 'j+1' (tff)
=======================================
บรรทัดที่ 0 --------------------> เฟรม 'j' สาย 0
บรรทัดที่ 1 บรรทัดที่ 1 ----> เฟรม 'j+1' Line 1
บรรทัดที่ 2 ---------------------> เฟรม 'j' สาย 2
บรรทัดที่ 3 บรรทัดที่ 3 ----> เฟรม 'j+1' Line 3
-
เฟรมใหม่ + 1 จะถูกสร้างขึ้นโดยเฟรม 'j+2' และเฟรม 'j+3' เป็นต้น

ยอมรับพารามิเตอร์ทางเลือกต่อไปนี้:

การสแกน
สิ่งนี้กำหนดว่าเฟรมอินเทอร์เลซถูกนำมาจากคู่ (tff - ค่าเริ่มต้น) หรือ
เส้นคี่ (bff) ของกรอบโปรเกรสซีฟ

โลว์พาส
เปิดใช้งาน (ค่าเริ่มต้น) หรือปิดใช้งานตัวกรองความถี่ต่ำในแนวตั้งเพื่อหลีกเลี่ยงการทับซ้อนกันของ twitter
และลดลวดลายมัวร์

เคอเรนท์
วิดีโออินพุต Deinterlace โดยใช้การดีเทอร์ลิงเคอร์เนลแบบปรับได้ของ Donald Graft ทำงาน
ส่วนต่าง ๆ ของวิดีโอแบบอินเทอร์เลซเพื่อสร้างเฟรมโปรเกรสซีฟ

คำอธิบายของพารามิเตอร์ที่ยอมรับมีดังนี้

นวด
ตั้งค่าเกณฑ์ที่ส่งผลต่อความคลาดเคลื่อนของตัวกรองเมื่อพิจารณาว่าพิกเซล
ไลน์ต้องถูกประมวลผล ต้องเป็นจำนวนเต็มในช่วง [0,255] และค่าเริ่มต้นเป็น 10
ค่า 0 จะส่งผลให้มีการใช้กระบวนการนี้กับทุกๆ พิกเซล

แผนที่ ระบายสีพิกเซลที่เกินค่าเกณฑ์เป็นสีขาว หากตั้งค่าเป็น 1 ค่าเริ่มต้นคือ 0

ใบสั่ง
ตั้งค่าลำดับของฟิลด์ สลับฟิลด์หากตั้งค่าเป็น 1 ปล่อยให้ฟิลด์อยู่คนเดียวถ้า 0 ค่าเริ่มต้นคือ 0

คม
เปิดใช้งานการลับเพิ่มเติมหากตั้งค่าเป็น 1 ค่าเริ่มต้นคือ 0

สองทาง
เปิดใช้งานการลับสองทางหากตั้งค่าเป็น 1 ค่าเริ่มต้นคือ 0

ตัวอย่าง

· ใช้ค่าเริ่มต้น:

kerndeint=thresh=10:map=0:order=0:sharp=0:twoway=0

· เปิดใช้งานการเหลาเพิ่มเติม:

kerndeint=คม=1

· ระบายสีพิกเซลที่ประมวลผลเป็นสีขาว:

kerndeint=แผนที่=1

การแก้ไขเลนส์
ความผิดเพี้ยนของเลนส์เรเดียลที่ถูกต้อง

ตัวกรองนี้สามารถใช้เพื่อแก้ไขความผิดเพี้ยนในแนวรัศมีที่เกิดจากการใช้
เลนส์มุมกว้าง และด้วยเหตุนี้จึงแก้ไขภาพใหม่ เพื่อค้นหาพารามิเตอร์ที่เหมาะสม เราสามารถ
ใช้เครื่องมือที่มีให้เช่นเป็นส่วนหนึ่งของ opencv หรือเพียงแค่ลองผิดลองถูก ใช้
opencv ใช้ตัวอย่างการสอบเทียบ (ภายใต้ sample/cpp) จากแหล่ง opencv และแตกไฟล์
ค่าสัมประสิทธิ์ k1 และ k2 จากเมทริกซ์ผลลัพธ์

โปรดทราบว่าตัวกรองเดียวกันมีอยู่ในเครื่องมือโอเพนซอร์ซอย่างมีประสิทธิภาพ Krita และ
Digikam จากโครงการ KDE

ในทางตรงกันข้ามกับ บทความสั้น ฟิลเตอร์ ซึ่งยังสามารถใช้เพื่อชดเชยข้อผิดพลาดของเลนส์ได้อีกด้วย
ฟิลเตอร์แก้ไขการบิดเบือนของภาพในขณะที่ บทความสั้น แก้ไขความสว่าง
การกระจาย ดังนั้นคุณอาจต้องการใช้ตัวกรองทั้งสองร่วมกันในบางกรณี แม้ว่าคุณ
จะต้องดูแลการสั่งงาน คือ ควรทาขอบมืดก่อนหรือ
หลังจากแก้ไขเลนส์

Options

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

cx พิกัด x สัมพัทธ์ของจุดโฟกัสของภาพ และด้วยเหตุนี้จุดศูนย์กลางของ
การบิดเบือน ค่านี้มีช่วง [0,1] และแสดงเป็นเศษส่วนของภาพ
ความกว้าง

cy พิกัด y สัมพัทธ์ของจุดโฟกัสของภาพ และด้วยเหตุนี้จุดศูนย์กลางของ
การบิดเบือน ค่านี้มีช่วง [0,1] และแสดงเป็นเศษส่วนของภาพ
ความสูง

k1 สัมประสิทธิ์ของระยะการแก้ไขกำลังสอง 0.5 หมายถึงไม่มีการแก้ไข

k2 สัมประสิทธิ์ของเทอมการแก้ไขกำลังสอง 0.5 หมายถึงไม่มีการแก้ไข

สูตรที่สร้างการแก้ไขคือ:

r_src = r_tgt * (1 + k1 * (r_tgt / ร_0)^2 + k2 * (r_tgt / ร_0)^4)

ที่ไหน ร_0 เป็นครึ่งหนึ่งของภาพในแนวทแยงและ r_src และ r_tgt คือระยะทางจาก
จุดโฟกัสในภาพต้นทางและเป้าหมายตามลำดับ

lut3d
ใช้ 3D LUT กับวิดีโออินพุต

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ไฟล์
ตั้งชื่อไฟล์ 3D LUT

รูปแบบที่รองรับในปัจจุบัน:

3dl AfterEffects

ลูกบาศก์
อิริดาส

ดาด ดาวินซี่

m3d แพนโดร่า

ฝึกงาน
เลือกโหมดการแก้ไข

ค่าที่ใช้ได้คือ:

ที่ใกล้ที่สุด
ใช้ค่าจากจุดที่กำหนดที่ใกล้ที่สุด

ไตรลิเนียร์
สอดแทรกค่าโดยใช้จุด 8 จุดที่กำหนดลูกบาศก์

จัตุรมุข
สอดแทรกค่าโดยใช้จัตุรมุข

อ้วน, ลัทเกิร์บ, ลูทูฟ
คำนวณตารางการค้นหาสำหรับการผูกค่าอินพุตของส่วนประกอบแต่ละพิกเซลเข้ากับค่าเอาต์พุต
และนำไปใช้กับวิดีโออินพุต

ลูทูฟ ใช้ตารางค้นหากับวิดีโออินพุต YUV ลูทริก ไปยังวิดีโออินพุต RGB

ตัวกรองเหล่านี้ยอมรับพารามิเตอร์ต่อไปนี้:

c0 ตั้งค่านิพจน์องค์ประกอบพิกเซลแรก

c1 ตั้งค่านิพจน์องค์ประกอบพิกเซลที่สอง

c2 ตั้งค่านิพจน์องค์ประกอบพิกเซลที่สาม

c3 ตั้งค่านิพจน์องค์ประกอบพิกเซลที่สี่ สอดคล้องกับองค์ประกอบอัลฟา

r ตั้งค่านิพจน์องค์ประกอบสีแดง

g ตั้งค่านิพจน์องค์ประกอบสีเขียว

b ตั้งค่านิพจน์องค์ประกอบสีน้ำเงิน

a นิพจน์องค์ประกอบอัลฟา

y ตั้งค่านิพจน์องค์ประกอบ Y/ความสว่าง

u ตั้งค่านิพจน์องค์ประกอบ U/Cb

v ตั้งค่านิพจน์องค์ประกอบ V/Cr

แต่ละคนระบุนิพจน์ที่จะใช้สำหรับการคำนวณตารางค้นหาสำหรับ
ค่าองค์ประกอบพิกเซลที่สอดคล้องกัน

องค์ประกอบที่แน่นอนที่เกี่ยวข้องกับแต่ละ c* ตัวเลือกขึ้นอยู่กับรูปแบบในการป้อนข้อมูล

พื้นที่ LUT ตัวกรองต้องใช้รูปแบบพิกเซล YUV หรือ RGB ในอินพุต ลูทริก ต้องการ RGB
รูปแบบพิกเซลในการป้อนข้อมูลและ ลูทูฟ ต้องใช้ YUV

นิพจน์สามารถมีค่าคงที่และฟังก์ชันต่อไปนี้:

w
h ความกว้างและความสูงของอินพุต

คลื่น ค่าอินพุตสำหรับส่วนประกอบพิกเซล

คลิปวาล
ค่าอินพุตที่ตัดไปที่ นาที-แม็กซ์แวล พิสัย.

แม็กซ์แวล
ค่าสูงสุดสำหรับองค์ประกอบพิกเซล

นาที
ค่าต่ำสุดสำหรับองค์ประกอบพิกเซล

เนกวาล
ค่าที่เป็นลบสำหรับค่าองค์ประกอบพิกเซล ที่ตัดไปที่ นาที-แม็กซ์แวล พิสัย;
มันสอดคล้องกับนิพจน์ "maxval-clipval+minval"

คลิป(วาล)
ค่าที่คำนวณได้ใน คลื่น, ตัดมาที่ นาที-แม็กซ์แวล พิสัย.

กัมมาวัล(แกมมา)
ค่าการแก้ไขแกมมาที่คำนวณแล้วของค่าองค์ประกอบพิกเซลที่ตัดไปที่
นาที-แม็กซ์แวล พิสัย. มันสอดคล้องกับนิพจน์
"pow((clipval-minval)/(maxval-minval)\,แกมมา)*(maxval-minval)+minval"

นิพจน์ทั้งหมดมีค่าเริ่มต้นเป็น "val"

ตัวอย่าง

· ลบวิดีโออินพุต:

lutrgb="r=maxval+minval-val:g=maxval+minval-val:b=maxval+minval-val"
lutyuv="y=maxval+minval-val:u=maxval+minval-val:v=maxval+minval-val"

ข้างต้นเหมือนกับ:

lutrgb="r=negval:g=negval:b=negval"
lutyuv="y=negval:u=negval:v=negval"

· ลบล้างความส่องสว่าง:

lutyuv=y=เนกวาล

· ลบองค์ประกอบโครมา เปลี่ยนวิดีโอเป็นภาพโทนสีเทา:

lutyuv="u=128:v=128"

· ใช้เอฟเฟกต์การเผาไหม้ของลูมา:

lutyuv="y=2*val"

· ลบส่วนประกอบสีเขียวและสีน้ำเงิน:

lutrgb="g=0:b=0"

· ตั้งค่าช่องอัลฟาคงที่ในการป้อนข้อมูล:

format=rgba,lutrgb=a="maxval-minval/2"

· แก้ไขแกมมาความส่องสว่างด้วยปัจจัย 0.5:

lutyuv=y=แกมมาวาล(0.5)

· ทิ้ง luma ที่มีนัยสำคัญน้อยที่สุด:

lutyuv=y='bitand(วาล 128+64+32)'

เครื่องบินผสาน
รวมองค์ประกอบช่องสีจากสตรีมวิดีโอหลายรายการ

ตัวกรองรับกระแสข้อมูลอินพุตสูงสุด 4 ช่อง และรวมระนาบอินพุตที่เลือกเข้ากับเอาต์พุต
วีดีโอ

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้:

การทำแผนที่
ตั้งค่าอินพุตเพื่อแมประนาบเอาต์พุต ค่าเริ่มต้นคือ 0

การแมปถูกระบุเป็นบิตแมป ควรระบุเป็นเลขฐานสิบหก
ในรูปแบบ 0xAa[Bb[Cc[Dd]]] 'Aa' อธิบายการทำแผนที่สำหรับระนาบแรกของ
กระแสเอาต์พุต 'A' กำหนดจำนวนของอินพุตสตรีมที่จะใช้ (จาก 0 ถึง 3) และ 'a'
หมายเลขเครื่องบินของอินพุตที่เกี่ยวข้องที่จะใช้ (จาก 0 ถึง 3) ส่วนที่เหลือของ
การแมปคล้ายกัน 'Bb' อธิบายการแมปสำหรับระนาบที่สองของสตรีมเอาต์พุต
'Cc' อธิบายการแมปสำหรับระนาบที่สามของกระแสเอาต์พุตและ 'Dd' อธิบาย
การทำแผนที่สำหรับระนาบที่สี่ของเอาต์พุตสตรีม

รูป
ตั้งค่ารูปแบบพิกเซลเอาต์พุต ค่าเริ่มต้นคือ "yuva444p"

ตัวอย่าง

· รวมวิดีโอสตรีมสีเทาสามรายการที่มีความกว้างและความสูงเท่ากันเป็นสตรีมวิดีโอเดียว:

[a0][a1][a2]mergeplanes=0x001020:yuv444p

· รวมสตรีม yuv1p ที่ 444 และสตรีมวิดีโอสีเทาที่ 2 เข้ากับสตรีมวิดีโอ yuva444p:

[a0][a1]mergeplanes=0x00010210:yuva444p

·สลับ Y และเครื่องบินในสตรีม yuva444p:

รูปแบบ=yuva444p,mergeplanes=0x03010200:yuva444p

· สลับระนาบ U และ V ในสตรีม yuv420p:

รูปแบบ=yuv420p,ผสานระนาบ=0x000201:yuv420p

· ส่งคลิป rgb24 ไปที่ yuv444p:

รูปแบบ=rgb24,mergeplanes=0x000102:yuv444p

แมคดีอิน
ใช้ดีเทอร์เลซชดเชยการเคลื่อนไหว

ต้องการหนึ่งฟิลด์ต่อเฟรมเป็นอินพุตและต้องใช้ร่วมกับ yadif=1/3 หรือ
เท่ากัน

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้:

โหมด
ตั้งค่าโหมดดีอินเตอร์เลซ

ยอมรับค่าใดค่าหนึ่งต่อไปนี้:

รวดเร็ว
กลาง
ช้า
ใช้การประมาณการเคลื่อนไหวแบบวนซ้ำ

พิเศษ_ช้า
กดไลก์ ช้าแต่ใช้หลายหน้าต่างอ้างอิง

ค่าเริ่มต้นคือ รวดเร็ว.

ความเท่าเทียมกัน
ตั้งค่าความเท่าเทียมกันของฟิลด์ภาพที่สมมติขึ้นสำหรับวิดีโออินพุต มันจะต้องเป็นหนึ่งใน
ค่าต่อไปนี้:

0, ทีเอฟ
ถือว่าบนสุดก่อน

1, BFF
ถือว่าช่องล่างก่อน

ค่าเริ่มต้นคือ BFF.

qp ตั้งค่าพารามิเตอร์เชิงปริมาณต่อบล็อก (QP) ที่ใช้โดยตัวเข้ารหัสภายใน

ค่าที่สูงกว่าควรส่งผลให้สนามเวกเตอร์เคลื่อนไหวราบรื่นขึ้นแต่มีความเหมาะสมน้อยกว่า
เวกเตอร์ส่วนบุคคล ค่าเริ่มต้นคือ 1

mpdecimate
วางเฟรมที่ไม่แตกต่างจากเฟรมก่อนหน้าอย่างมากเพื่อลดเฟรม
อัตรา

ตัวกรองนี้ใช้เป็นหลักสำหรับการเข้ารหัสที่มีบิตเรตต่ำมาก (เช่น การสตรีมผ่าน dialup
โมเด็ม) แต่ในทางทฤษฎีแล้ว มันสามารถใช้ในการซ่อมภาพยนตร์ที่ถูกเทเลซิเนแบบผกผันได้
ไม่ถูกต้อง

คำอธิบายของตัวเลือกที่ยอมรับมีดังนี้

แม็กซ์ กำหนดจำนวนเฟรมต่อเนื่องสูงสุดที่ดร็อปได้ (ถ้าเป็นบวก) หรือ
ช่วงเวลาต่ำสุดระหว่างเฟรมที่หลุด (ถ้าเป็นลบ) หากค่าเป็น 0 ค่า
เฟรมหลุดโดยไม่คำนึงถึงจำนวนของเฟรมที่หลุดตามลำดับก่อนหน้านี้

ค่าเริ่มต้นคือ 0

hi
lo
เสื้อหางยาว
ตั้งค่าขีดจำกัดการดร็อป

ค่าสำหรับ hi และ lo ใช้สำหรับบล็อกพิกเซล 8x8 และแสดงค่าพิกเซลจริง
ความแตกต่าง ดังนั้นขีดจำกัด 64 จะเท่ากับ 1 หน่วยของความแตกต่างสำหรับแต่ละพิกเซล
หรือสิ่งเดียวกันแผ่ออกไปแตกต่างกันในบล็อก

เฟรมเป็นตัวเลือกสำหรับดรอปหากไม่มีบล็อก 8x8 ที่แตกต่างกันมากกว่าเกณฑ์
of hiและถ้าไม่เกิน เสื้อหางยาว บล็อก (1 หมายถึงทั้งภาพ) ต่างกันมากกว่า
ธรณีประตูของ lo.

ค่าเริ่มต้นสำหรับ hi คือ 64*12 ค่าเริ่มต้นสำหรับ lo คือ 64*5 และค่าเริ่มต้นสำหรับ
เสื้อหางยาว คือ 0.33

ปฏิเสธ
ลบวิดีโออินพุต

ยอมรับจำนวนเต็มในอินพุต หากไม่เป็นศูนย์ จะเป็นการลบล้างองค์ประกอบอัลฟ่า (ถ้ามี)
ค่าเริ่มต้นในการป้อนข้อมูลคือ 0

ไม่จัดรูปแบบ
บังคับให้ libavfilter ไม่ใช้รูปแบบพิกเซลที่ระบุใด ๆ สำหรับอินพุตถัดไป
กรอง.

ยอมรับพารามิเตอร์ต่อไปนี้:

pix_fmts
รายการที่คั่นด้วยชื่อรูปแบบพิกเซล '|' เช่น apix_fmts=yuv420p|monow|rgb24"

ตัวอย่าง

· บังคับให้ libavfilter ใช้รูปแบบที่แตกต่างจาก yuv420p สำหรับอินพุตไปยัง vflip
กรอง:

noformat=pix_fmts=yuv420p,vflip

· แปลงวิดีโออินพุตเป็นรูปแบบใด ๆ ที่ไม่อยู่ในรายการ:

noformat=yuv420p|yuv444p|yuv410p

สัญญาณรบกวน
เพิ่มสัญญาณรบกวนบนเฟรมอินพุตวิดีโอ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

all_seed
c0_seed
c1_seed
c2_seed
c3_seed
ตั้งค่าสัญญาณรบกวนสำหรับส่วนประกอบพิกเซลเฉพาะหรือส่วนประกอบพิกเซลทั้งหมดในกรณีของ
all_seed. ค่าเริ่มต้นคือ 123457

ความแข็งแกร่งทั้งหมด, ทั้งหมด
c0_ความแข็งแกร่ง, ซีทูเอส
c1_ความแข็งแกร่ง, ซีทูเอส
c2_ความแข็งแกร่ง, ซีทูเอส
c3_ความแข็งแกร่ง, ซีทูเอส
ตั้งค่าความแรงของสัญญาณรบกวนสำหรับส่วนประกอบพิกเซลเฉพาะหรือส่วนประกอบพิกเซลทั้งหมดในกรณี
ความแข็งแกร่งทั้งหมด. ค่าเริ่มต้นคือ 0 ช่วงที่อนุญาตคือ [0, 100]

ทั้งหมด_ธง, ทั้งหมด
c0_ธง, c0f
c1_ธง, c1f
c2_ธง, c2f
c3_ธง, c3f
ตั้งค่าสถานะส่วนประกอบพิกเซลหรือตั้งค่าสถานะสำหรับส่วนประกอบทั้งหมด if ทั้งหมด_ธง. ที่มีจำหน่าย
ค่าสำหรับแฟล็กส่วนประกอบคือ:

a เสียงชั่วขณะโดยเฉลี่ย (เรียบขึ้น)

p ผสมเสียงสุ่มกับ (กึ่ง) รูปแบบปกติ

t เสียงชั่วขณะ (รูปแบบสัญญาณรบกวนเปลี่ยนแปลงระหว่างเฟรม)

u เสียงสม่ำเสมอ (gaussian อย่างอื่น)

ตัวอย่าง

เพิ่มสัญญาณรบกวนชั่วคราวและสม่ำเสมอให้กับวิดีโออินพุต:

เสียงรบกวน=ทั้งหมด=20:allf=t+u

โมฆะ
ส่งผ่านแหล่งวิดีโอที่ไม่เปลี่ยนแปลงไปยังเอาต์พุต

ocv
ใช้การแปลงวิดีโอโดยใช้ libopencv

ในการเปิดใช้งานตัวกรองนี้ ให้ติดตั้งไลบรารีและส่วนหัว libopencv และกำหนดค่า FFmpeg ด้วย
"--เปิดใช้งาน-libopencv".

ยอมรับพารามิเตอร์ต่อไปนี้:

ตัวกรอง_ชื่อ
ชื่อของตัวกรอง libopencv ที่จะใช้

filter_params
พารามิเตอร์ที่จะส่งผ่านไปยังตัวกรอง libopencv หากไม่ได้ระบุไว้ ค่าเริ่มต้น
จะถือว่า

อ้างถึงเอกสาร libopencv อย่างเป็นทางการสำหรับข้อมูลที่แม่นยำยิ่งขึ้น:
<http://docs.opencv.org/master/modules/imgproc/doc/filtering.html>

รองรับตัวกรอง libopencv หลายตัว ดูส่วนย่อยต่อไปนี้

ขยาย

ขยายรูปภาพโดยใช้องค์ประกอบโครงสร้างเฉพาะ มันสอดคล้องกับlibopencv
ฟังก์ชัน "cvDilate"

ยอมรับพารามิเตอร์: struct_el|nb_การวนซ้ำ.

struct_el แสดงถึงองค์ประกอบโครงสร้างและมีไวยากรณ์:
ปลอกคอxแถว+สมอ_xxสมอ_y/รูปร่าง

ปลอกคอ และ แถว แทนจำนวนคอลัมน์และแถวขององค์ประกอบโครงสร้าง
สมอ_x และ สมอ_y จุดยึดและ รูปร่าง รูปร่างขององค์ประกอบโครงสร้าง
รูปร่าง ต้องเป็น "rect", "cross", "ellipse" หรือ "custom"

ถ้าค่าของ รูปร่าง เป็น "กำหนดเอง" จะต้องตามด้วยสตริงของ form
"=ชื่อไฟล์" . ไฟล์ที่มีชื่อ ชื่อไฟล์ ถือว่าเป็นตัวแทนของภาพไบนารีโดยแต่ละ
อักขระที่พิมพ์ได้ซึ่งสอดคล้องกับพิกเซลที่สว่าง เมื่อเป็นธรรมเนียม รูปร่าง ถูกนำมาใช้, ปลอกคอ และ
แถว จะถูกละเว้น ตัวเลขหรือคอลัมน์และแถวของไฟล์ที่อ่านจะถูกถือว่าแทน

ค่าเริ่มต้นสำหรับ struct_el คือ "3x3+0x0/rect"

nb_การวนซ้ำ ระบุจำนวนครั้งที่ใช้การแปลงกับรูปภาพและ
ค่าเริ่มต้นเป็น 1

ตัวอย่างบางส่วน:

# ใช้ค่าเริ่มต้น
ocv=ขยาย

# ขยายโดยใช้องค์ประกอบโครงสร้างที่มีกากบาท 5x5 วนซ้ำสองครั้ง
ocv=filter_name=dilate:filter_params=5x5+2x2/cross|2

# อ่านรูปร่างจากไฟล์ diamond.shape วนซ้ำ XNUMX ครั้ง
#ไฟล์ diamond.shape อาจมีรูปแบบตัวอักษรแบบนี้
-
-
-
-
-
# คอลัมน์และแถวที่ระบุจะถูกละเว้น
#แต่พิกัดจุดยึดไม่ใช่
ocv=dilate:0x0+2x2/custom=diamond.shape|2

กัดกร่อน

กัดเซาะรูปภาพโดยใช้องค์ประกอบโครงสร้างเฉพาะ มันสอดคล้องกับlibopencv
ฟังก์ชัน "cvErode"

ยอมรับพารามิเตอร์: struct_el:nb_การวนซ้ำโดยมีรูปแบบและความหมายเหมือนกับ
ขยาย กรอง.

เรียบ

เรียบวิดีโออินพุต

ตัวกรองใช้พารามิเตอร์ต่อไปนี้: ชนิด|พารา 1|พารา 2|พารา 3|พารา 4.

ชนิด เป็นชนิดของตัวกรองแบบเรียบที่จะใช้ และต้องเป็นหนึ่งในค่าต่อไปนี้:
"เบลอ", "blur_no_scale", "มัธยฐาน", "เกาส์เซียน" หรือ "ทวิภาคี" ค่าเริ่มต้นคือ
"เกาส์เซียน".

ความหมายของ พารา 1, พารา 2, พารา 3และ พารา 4 ขึ้นอยู่กับประเภทเรียบ พารา 1 และ
พารา 2 ยอมรับค่าบวกจำนวนเต็มหรือ 0 พารา 3 และ พารา 4 ยอมรับจุดลอยตัว
ค่า

ค่าเริ่มต้นสำหรับ พารา 1 คือ 3 ค่าเริ่มต้นสำหรับพารามิเตอร์อื่นๆ คือ 0

พารามิเตอร์เหล่านี้สอดคล้องกับพารามิเตอร์ที่กำหนดให้กับฟังก์ชัน libopencv
"ซีวีสมูธ".

วางซ้อน
วางซ้อนวิดีโอหนึ่งทับวิดีโออื่น

มันใช้สองอินพุตและมีหนึ่งเอาต์พุต อินพุตแรกคือวิดีโอ "หลัก" ที่
อินพุตที่สองถูกซ้อนทับ

ยอมรับพารามิเตอร์ต่อไปนี้:

คำอธิบายของตัวเลือกที่ยอมรับมีดังนี้

x
y ตั้งค่านิพจน์สำหรับพิกัด x และ y ของวิดีโอที่วางซ้อนบน main
วิดีโอ ค่าเริ่มต้นคือ "0" สำหรับทั้งสองนิพจน์ ในกรณีที่นิพจน์ไม่ถูกต้อง
มันถูกตั้งค่าเป็นค่ามหาศาล (หมายความว่าโอเวอร์เลย์จะไม่แสดงภายใน
เอาท์พุทพื้นที่ที่มองเห็นได้)

อีออฟแอคชั่น
การดำเนินการเมื่อพบ EOF ในอินพุตรอง มันยอมรับหนึ่งใน
ค่าต่อไปนี้:

ทำซ้ำ
ทำซ้ำเฟรมสุดท้าย (ค่าเริ่มต้น)

เอนดอล
จบทั้งสองสตรีม

ส่ง
ผ่านอินพุตหลักผ่าน

ประเมิน
ตั้งค่าเมื่อนิพจน์สำหรับ xและ y ได้รับการประเมิน

ยอมรับค่าต่อไปนี้:

init
ประเมินนิพจน์เพียงครั้งเดียวในระหว่างการเริ่มต้นตัวกรองหรือเมื่อคำสั่ง
กำลังดำเนินการ

กรอบ
ประเมินนิพจน์สำหรับแต่ละเฟรมที่เข้ามา

ค่าเริ่มต้นคือ กรอบ.

ที่สั้นที่สุด
หากตั้งค่าเป็น 1 ให้บังคับเอาต์พุตให้ยุติเมื่ออินพุตที่สั้นที่สุดสิ้นสุด ค่าเริ่มต้น
ค่าคือ 0

รูป
กำหนดรูปแบบสำหรับวิดีโอที่ส่งออก

ยอมรับค่าต่อไปนี้:

ยูฟ420
บังคับ YUV420 เอาต์พุต

ยูฟ422
บังคับ YUV422 เอาต์พุต

ยูฟ444
บังคับ YUV444 เอาต์พุต

RGB บังคับเอาต์พุต RGB

ค่าเริ่มต้นคือ ยูฟ420.

RGB (เลิกใช้แล้ว)
หากตั้งค่าเป็น 1 ให้บังคับให้ตัวกรองยอมรับอินพุตในพื้นที่สี RGB ค่าเริ่มต้น
คือ 0 ตัวเลือกนี้เลิกใช้แล้ว ใช้ รูป แทน.

ทำซ้ำ
หากตั้งค่าเป็น 1 ให้บังคับให้ตัวกรองวาดเฟรมซ้อนทับสุดท้ายเหนืออินพุตหลักจนถึง
จุดสิ้นสุดของกระแสน้ำ ค่า 0 ปิดใช้งานลักษณะการทำงานนี้ ค่าเริ่มต้นคือ 1

พื้นที่ xและ y นิพจน์สามารถมีพารามิเตอร์ต่อไปนี้

main_w, W
main_h, H
ความกว้างและความสูงของอินพุตหลัก

ซ้อนทับ_w, w
ซ้อนทับ_h, h
ความกว้างและความสูงของอินพุตโอเวอร์เลย์

x
y ค่าที่คำนวณได้สำหรับ x และ y. พวกเขาจะประเมินสำหรับแต่ละเฟรมใหม่

ฮซบ
เทียบกับ
ค่าตัวอย่างย่อยของโครมาแนวนอนและแนวตั้งของรูปแบบเอาต์พุต ตัวอย่างเช่นสำหรับ
รูปแบบพิกเซล "yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

n จำนวนเฟรมอินพุตเริ่มต้นจาก0

โพสต์ ตำแหน่งในไฟล์ของเฟรมอินพุต NAN ถ้าไม่ทราบ

t การประทับเวลา แสดงเป็นวินาที เป็น NAN หากไม่ทราบการประทับเวลาของอินพุต

โปรดทราบว่า n, โพสต์, t ตัวแปรจะมีให้เมื่อประเมินเสร็จเท่านั้น ต่อ กรอบ,
และจะประเมินเป็น NAN เมื่อ ประเมิน ถูกตั้งค่าเป็น init.

โปรดทราบว่าเฟรมจะถูกนำมาจากวิดีโออินพุตแต่ละรายการในลำดับการประทับเวลา ดังนั้นหากเฟรมเหล่านั้น
การประทับเวลาเริ่มต้นต่างกัน ควรส่งอินพุตทั้งสองผ่าน a
setpts=PTS-STARTPTS กรองเพื่อให้เริ่มต้นในการประทับเวลาศูนย์เดียวกันดังตัวอย่าง
สำหรับ หนัง ตัวกรองไม่

คุณสามารถโยงภาพซ้อนทับกันได้มากขึ้น แต่คุณควรทดสอบประสิทธิภาพของวิธีการดังกล่าว

คำสั่ง

ตัวกรองนี้สนับสนุนคำสั่งต่อไปนี้:

x
y แก้ไข x และ y ของอินพุตโอเวอร์เลย์ คำสั่งยอมรับไวยากรณ์เดียวกันของ
ตัวเลือกที่เกี่ยวข้อง

ถ้านิพจน์ที่ระบุไม่ถูกต้อง นิพจน์นั้นจะถูกเก็บไว้ที่ค่าปัจจุบัน

ตัวอย่าง

· วาดโอเวอร์เลย์ที่ 10 พิกเซลจากมุมล่างขวาของวิดีโอหลัก:

ซ้อนทับ=main_w-overlay_w-10:main_h-overlay_h-10

การใช้ตัวเลือกที่มีชื่อ ตัวอย่างข้างต้นจะกลายเป็น:

ซ้อนทับ=x=main_w-overlay_w-10:y=main_h-overlay_h-10

· แทรกโลโก้ PNG แบบโปร่งใสที่มุมล่างซ้ายของอินพุตโดยใช้ ffmpeg
เครื่องมือที่มีตัวเลือก "-filter_complex":

ffmpeg -i อินพุต -i โลโก้ -filter_complex เอาต์พุต 'overlay=10:main_h-overlay_h-10'

· ใส่โลโก้ PNG โปร่งใสที่แตกต่างกัน 2 แบบ (โลโก้ที่สองที่มุมล่างขวา) โดยใช้
ffmpeg เครื่องมือ:

ffmpeg -i input -i logo1 -i logo2 -filter_complex 'overlay=x=10:y=Hh-10,overlay=x=Ww-10:y=Hh-10' output

· เพิ่มเลเยอร์สีโปร่งใสที่ด้านบนของวิดีโอหลัก "WxH" ต้องระบุขนาดของ
อินพุตหลักไปยังตัวกรองโอเวอร์เลย์:

[ป้องกันอีเมล]:size=WxH [บน]; [ใน] [มากกว่า] ซ้อนทับ [ออก]

·เล่นวิดีโอต้นฉบับและเวอร์ชันที่กรองแล้ว (พร้อมตัวกรอง deshake) เคียงข้าง
ด้านที่ใช้ ffplay เครื่องมือ:

ffplay input.avi -vf 'split[a][b]; [a]pad=iw*2:ih[src]; [b]deshake[กรอง]; [src][filt]โอเวอร์เลย์=w'

คำสั่งข้างต้นเหมือนกับ:

ffplay input.avi -vf 'split[b], pad=iw*2[src], [b]deshake, [src]โอเวอร์เลย์=w'

·สร้างภาพซ้อนทับแบบเลื่อนที่ปรากฏจากด้านซ้ายไปด้านบนขวาของหน้าจอ
เริ่มตั้งแต่เวลา 2:

ซ้อนทับ=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0

· เขียนเอาท์พุตโดยใส่วิดีโออินพุตสองอันไว้ข้างกัน:

ffmpeg -i left.avi -i right.avi -filter_complex "
nullsrc=size=200x100 [พื้นหลัง];
[0:v] setpts=PTS-STARTPTS, มาตราส่วน=100x100 [ซ้าย];
[1:v] setpts=PTS-STARTPTS, มาตราส่วน=100x100 [ขวา];
[พื้นหลัง][ซ้าย] ซ้อนทับ=สั้นที่สุด=1 [พื้นหลัง+ซ้าย];
[พื้นหลัง+ซ้าย][ขวา] ซ้อนทับ=สั้นที่สุด=1:x=100 [ซ้าย+ขวา]
"

·ปิดบังวิดีโอ 10-20 วินาทีโดยใช้ตัวกรอง delogo กับส่วน

ffmpeg -i test.avi -ตัวแปลงสัญญาณ:v:0 wmv2 -ar 11025 -b:v 9000k
-vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]'
สวมหน้ากาก.avi

· เชื่อมโยงหลาย ๆ การซ้อนทับกันในน้ำตก:

nullsrc=s=200x200 [บีจี];
testsrc=s=100x100, split=4 [in0][in1][in2][in3];
[in0] lutrgb=r=0, [bg] โอเวอร์เลย์=0:0 [กลาง];
[in1] lutrgb=g=0, [มิด0] โอเวอร์เลย์=100:0 [มิด1];
[in2] lutrgb=b=0, [mid1] โอเวอร์เลย์=0:100 [มิด2];
[in3] null, [mid2] โอเวอร์เลย์=100:100 [ออก0]

แย่
ใช้ Denoiser Wavelet Overcomplete

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ความลึก
กำหนดความลึก

ค่าความลึกที่มากขึ้นจะทำให้ส่วนประกอบความถี่ต่ำลดลงมากขึ้น แต่ช้าลง
การกรอง

ต้องเป็น int ในช่วง 8-16 ค่าเริ่มต้นคือ 8

luma_strength, ls
ตั้งค่าความแรงของลูมา

ต้องเป็นค่าสองเท่าในช่วง 0-1000, ค่าเริ่มต้นคือ 1.0

ความเข้มของสี cs
ตั้งค่าความเข้มของสี

ต้องเป็นค่าสองเท่าในช่วง 0-1000, ค่าเริ่มต้นคือ 1.0

เบาะ
เพิ่มช่องว่างภายในภาพอินพุต และวางอินพุตต้นฉบับที่ช่องที่ให้มา x, y
พิกัด.

ยอมรับพารามิเตอร์ต่อไปนี้:

ความกว้าง w
ความสูง h
ระบุนิพจน์สำหรับขนาดของภาพที่ส่งออกโดยเพิ่มช่องว่างภายใน ถ้า
คุ้มค่าสำหรับ ความกว้าง or ความสูง คือ 0 ขนาดอินพุตที่สอดคล้องกันใช้สำหรับเอาต์พุต

พื้นที่ ความกว้าง นิพจน์สามารถอ้างอิงค่าที่กำหนดโดย ความสูง การแสดงออกและรอง
ในทางกลับกัน

ค่าเริ่มต้นของ ความกว้าง และ ความสูง คือ 0

x
y ระบุออฟเซ็ตเพื่อวางอิมเมจอินพุตที่ภายในพื้นที่บุนวมด้วยความเคารพ
ไปที่ขอบบน/ซ้ายของภาพที่ส่งออก

พื้นที่ x นิพจน์สามารถอ้างอิงค่าที่กำหนดโดย y การแสดงออก และในทางกลับกัน

ค่าเริ่มต้นของ x และ y คือ 0

สี
ระบุสีของพื้นที่เบาะ สำหรับไวยากรณ์ของตัวเลือกนี้ ให้เลือก "สี"
ในคู่มือ ffmpeg-utils

ค่าเริ่มต้นของ สี คือ "ดำ"

ค่าสำหรับ ความกว้าง, ความสูง, xและ y ตัวเลือกคือนิพจน์ที่มีดังต่อไปนี้
ค่าคงที่:

ใน_w
ใน_h
ความกว้างและความสูงของวิดีโออินพุต

iw
ih พวกนี้ก็เหมือนกับ ใน_w และ ใน_h.

ออก_w
ออก_h
ความกว้างและความสูงของเอาต์พุต (ขนาดของพื้นที่บุนวม) ตามที่ระบุโดย ความกว้าง
และ ความสูง นิพจน์

ow
oh พวกนี้ก็เหมือนกับ ออก_w และ ออก_h.

x
y x และ y ชดเชยตามที่ระบุโดย x และ y นิพจน์หรือ NAN ถ้ายังไม่ได้
ระบุไว้

a เช่นเดียวกับที่ iw / ih

sar อินพุตอัตราส่วนตัวอย่าง

Dar อัตราส่วนการแสดงผลอินพุตจะเหมือนกับ (iw / ih) * sar

ฮซบ
เทียบกับ
ค่าตัวอย่างย่อยของสีแนวนอนและแนวตั้ง ตัวอย่างเช่นสำหรับรูปแบบพิกเซล
"yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

ตัวอย่าง

· เพิ่มช่องว่างภายในด้วย "สีม่วง" ให้กับวิดีโออินพุต ขนาดวิดีโอที่ส่งออกคือ
640x480 และมุมบนซ้ายของวิดีโออินพุตจะอยู่ที่คอลัมน์ 0, แถว40

เบาะ=640:480:0:40:ม่วง

ตัวอย่างข้างต้นเทียบเท่ากับคำสั่งต่อไปนี้:

แผ่น=กว้าง=640:สูง=480:x=0:y=40:สี=สีม่วง

· แพดอินพุตเพื่อให้ได้เอาต์พุตที่มีขนาดเพิ่มขึ้น 3/2 แล้วใส่อินพุต
วิดีโอที่กึ่งกลางของพื้นที่บุนวม:

pad="3/2*iw:3/2*ih:(ow-iw)/2:(oh-ih)/2"

· แพดอินพุตเพื่อให้ได้เอาต์พุตกำลังสองที่มีขนาดเท่ากับค่าสูงสุดระหว่าง
ความกว้างและความสูงของอินพุต และวางวิดีโออินพุตไว้ที่กึ่งกลางของพื้นที่บุนวม:

pad="max(iw\,ih):ow:(ow-iw)/2:(oh-ih)/2"

· แพดอินพุตเพื่อให้ได้อัตราส่วน w/h สุดท้ายเป็น 16:9:

pad="ih*16/9:ih:(ow-iw)/2:(oh-ih)/2"

· ในกรณีของวิดีโออนามอร์ฟิก เพื่อกำหนดลักษณะการแสดงผลเอาต์พุตให้ถูกต้อง
จำเป็นต้องใช้ sar ในนิพจน์ตามความสัมพันธ์:

(ih * X / ih) * sar = output_dar
X = output_dar / ซาร์

ดังนั้น ต้องแก้ไขตัวอย่างก่อนหน้านี้เป็น:

pad="ih*16/9/sar:ih:(ow-iw)/2:(oh-ih)/2"

· เพิ่มขนาดเอาต์พุตเป็นสองเท่าและใส่วิดีโออินพุตที่มุมล่างขวาของ
พื้นที่เบาะขาออก:

pad="2*iw:2*ih:ow-iw:oh-ih"

จานสี
สร้างจานสีเดียวสำหรับการสตรีมวิดีโอทั้งหมด

ยอมรับตัวเลือกต่อไปนี้:

max_colors
กำหนดจำนวนสีสูงสุดที่จะควอนไทซ์ในจานสี หมายเหตุ: จานสีจะ
ยังคงมี 256 สี; รายการจานสีที่ไม่ได้ใช้จะเป็นสีดำ

สำรอง_โปร่งใส
สร้างจานสีสูงสุด 255 สีและจองสีสุดท้ายเพื่อความโปร่งใส
การจองสีโปร่งใสมีประโยชน์สำหรับการเพิ่มประสิทธิภาพ GIF หากไม่ได้ตั้งค่า
จำนวนสีสูงสุดในจานสีคือ 256 คุณอาจต้องการปิดการใช้งานตัวเลือกนี้
สำหรับภาพแบบสแตนด์อโลน ตั้งเป็นค่าเริ่มต้น

สถิติ_โหมด
ตั้งค่าโหมดสถิติ

ยอมรับค่าต่อไปนี้:

เต็ม
คำนวณฮิสโตแกรมแบบเต็มเฟรม

diff
คำนวณฮิสโตแกรมเฉพาะส่วนที่แตกต่างจากเฟรมก่อนหน้าเท่านั้น นี้อาจจะ
มีความเกี่ยวข้องเพื่อให้มีความสำคัญมากขึ้นกับส่วนที่เคลื่อนไหวของข้อมูลของคุณหาก
พื้นหลังเป็นแบบคงที่

ค่าเริ่มต้นคือ เต็ม.

ตัวกรองยังส่งออกข้อมูลเมตาของเฟรม "lavfi.color_quant_ratio" ("nb_color_in /
nb_color_out") ซึ่งคุณสามารถใช้ประเมินระดับของการหาปริมาณสีของ
จานสี ข้อมูลนี้สามารถดูได้ที่ ข้อมูล ระดับการบันทึก

ตัวอย่าง

·สร้างจานสีตัวแทนของวิดีโอที่กำหนดโดยใช้ ffmpeg:

ffmpeg -i input.mkv -vf จานสีจานสี png

จานสี
ใช้จานสีเพื่อสุ่มตัวอย่างสตรีมวิดีโออินพุต

ตัวกรองรับสองอินพุต: สตรีมวิดีโอหนึ่งรายการและจานสี จานสีต้องเป็น 256
ภาพพิกเซล

ยอมรับตัวเลือกต่อไปนี้:

สองจิตสองใจ
เลือกโหมดการฟอกสี อัลกอริทึมที่ใช้ได้คือ:

ไบเออร์
สั่งซื้อ 8x8 ไบเออร์ dithering (กำหนด)

เฮคเบิร์ต
Dithering ตามคำจำกัดความของ Paul Heckbert ในปี 1982 (การกระจายข้อผิดพลาดอย่างง่าย) บันทึก:
การปรับสีนี้บางครั้งถือว่า "ผิด" และรวมไว้เป็นข้อมูลอ้างอิง

ฟลอยด์_สไตน์เบิร์ก
Floyd และ Steingberg dithering (การกระจายข้อผิดพลาด)

sierra2
Frankie Sierra dithering v2 (การกระจายข้อผิดพลาด)

เซียร่า2_4a
Frankie Sierra dithering v2 "Lite" (การกระจายข้อผิดพลาด)

ค่าเริ่มต้นคือ เซียร่า2_4a.

ไบเออร์_สเกล
เมื่อ ไบเออร์ เลือก dithering แล้ว ตัวเลือกนี้จะกำหนดมาตราส่วนของรูปแบบ (how
มองเห็นลายขวางได้มาก) ค่าต่ำหมายถึงรูปแบบที่มองเห็นได้มากขึ้นสำหรับ
แถบสีที่น้อยลง และค่าที่สูงกว่าหมายถึงรูปแบบที่มองเห็นได้น้อยลงโดยใช้แถบสีที่มากขึ้น

ตัวเลือกต้องเป็นค่าจำนวนเต็มในช่วง [0,5] ค่าเริ่มต้นคือ 2.

diff_mode
หากตั้งค่าไว้ ให้กำหนดโซนที่จะประมวลผล

รูปสี่เหลี่ยมผืนผ้า
เฉพาะสี่เหลี่ยมที่เปลี่ยนแปลงเท่านั้นที่จะถูกประมวลผลใหม่ สิ่งนี้คล้ายกับ GIF
กลไกการครอบตัด/ชดเชยการบีบอัด ตัวเลือกนี้จะเป็นประโยชน์สำหรับความเร็ว if
มีการเปลี่ยนแปลงเพียงบางส่วนของภาพและมีกรณีการใช้งานเช่นการจำกัดขอบเขต
ของการกระจายข้อผิดพลาด สองจิตสองใจ ไปยังสี่เหลี่ยมที่กั้นฉากเคลื่อนที่ (it
นำไปสู่ผลลัพธ์ที่ชัดเจนยิ่งขึ้นหากฉากไม่เปลี่ยนแปลงมากนักและเป็น
ส่งผลให้เสียงรบกวนน้อยลงและการบีบอัด GIF ที่ดีขึ้น)

ค่าเริ่มต้นคือ ไม่มี.

ตัวอย่าง

· ใช้จานสี (สร้างเช่น with จานสี) เพื่อเข้ารหัส GIF โดยใช้ ffmpeg:

ffmpeg -i input.mkv -i จานสี.png -lavfi จานสีใช้ output.gif

มุมมอง
มุมมองที่ถูกต้องของวิดีโอที่ไม่ได้บันทึกในแนวตั้งฉากกับหน้าจอ

คำอธิบายของพารามิเตอร์ที่ยอมรับมีดังนี้

x0
y0
x1
y1
x2
y2
x3
y3 ตั้งค่านิพจน์พิกัดสำหรับซ้ายบน ขวาบน ซ้ายล่าง และขวาล่าง
มุม ค่าเริ่มต้นคือ "0:0:W:0:0:H:W:H" ซึ่งเปอร์สเปคทีฟจะยังคงอยู่
ไม่เปลี่ยนแปลง หากตั้งค่าตัวเลือก "ความรู้สึก" เป็น "ต้นทาง" จุดที่ระบุจะ
ถูกส่งไปยังมุมของปลายทาง หากตั้งค่าตัวเลือก "ความรู้สึก" เป็น
"ปลายทาง" จากนั้นมุมของแหล่งที่มาจะถูกส่งไปยังที่ระบุ
พิกัด.

นิพจน์สามารถใช้ตัวแปรต่อไปนี้:

W
H ความกว้างและความสูงของเฟรมวิดีโอ

การแก้ไข
ตั้งค่าการแก้ไขสำหรับการแก้ไขเปอร์สเปคทีฟ

ยอมรับค่าต่อไปนี้:

เชิงเส้น
เป็นลูกบาศก์

ค่าเริ่มต้นคือ เชิงเส้น.

ความรู้สึก
ตั้งค่าการตีความตัวเลือกพิกัด

ยอมรับค่าต่อไปนี้:

0, แหล่ง
ส่งจุดในแหล่งกำเนิดที่ระบุโดยพิกัดที่กำหนดไปยังมุมของ
ปลายทาง

1, ปลายทาง
ส่งมุมต้นทางไปยังจุดปลายทางที่ระบุโดย
พิกัดที่ได้รับ

ค่าเริ่มต้นคือ แหล่ง.

ระยะ
หน่วงเวลาวิดีโอแบบอินเทอร์เลซหนึ่งฟิลด์เพื่อให้ลำดับของฟิลด์เปลี่ยนแปลง

วัตถุประสงค์การใช้งานคือการแก้ไขภาพยนตร์ PAL ที่ถ่ายด้วยฟิลด์ตรงข้าม
คำสั่งโอนภาพยนตร์เป็นวิดีโอ

คำอธิบายของพารามิเตอร์ที่ยอมรับมีดังนี้

โหมด
ตั้งค่าโหมดเฟส

ยอมรับค่าต่อไปนี้:

t จับลำดับฟิลด์บนสุด โอนล่างสุดก่อน ตัวกรองจะหน่วงเวลา
ฟิลด์ด้านล่าง

b จับลำดับของฟิลด์จากล่างสุดก่อน โอนจากบนสุดก่อน ตัวกรองจะหน่วงเวลาด้านบน
สนาม

p จับภาพและโอนด้วยคำสั่งภาคสนามเดียวกัน โหมดนี้มีให้สำหรับ .เท่านั้น
เอกสารประกอบของตัวเลือกอื่น ๆ ที่จะอ้างถึง แต่ถ้าคุณเลือกจริงๆ
ตัวกรองจะไม่ทำอะไรเลย

a จับลำดับเขตกำหนดโดยอัตโนมัติโดยแฟล็กฟิลด์ โอนตรงข้าม
ตัวกรองเลือกระหว่าง t และ b โหมดแบบเฟรมต่อเฟรมโดยใช้แฟล็กฟิลด์ ถ้า
ไม่มีข้อมูลภาคสนาม ก็ใช้งานได้เหมือน u.

u จับที่ไม่รู้จักหรือต่างกัน โอนฝั่งตรงข้าม ตัวกรองเลือกระหว่าง t และ b เมื่อ
เฟรมต่อเฟรมโดยการวิเคราะห์ภาพและเลือกทางเลือกที่
สร้างการจับคู่ที่ดีที่สุดระหว่างฟิลด์

T จับภาพอันดับแรก ถ่ายโอนที่ไม่รู้จักหรือแตกต่างกัน ตัวกรองเลือกระหว่าง t และ p
โดยใช้การวิเคราะห์ภาพ

B จับภาพด้านล่างก่อน ถ่ายโอนที่ไม่รู้จักหรือแตกต่างกัน ตัวกรองเลือกระหว่าง b และ p
โดยใช้การวิเคราะห์ภาพ

A จับกำหนดโดยธงฟิลด์ โอนไม่ทราบหรือแตกต่างกัน ตัวกรองเลือก
ในหมู่ t, b และ p โดยใช้ธงสนามและการวิเคราะห์ภาพ หากไม่มีข้อมูลภาคสนามคือ
ใช้ได้แล้วมันก็ใช้งานได้เหมือน U. นี่คือโหมดเริ่มต้น

U ทั้งจับและโอนไม่ทราบหรือแตกต่างกัน ตัวกรองเลือกระหว่าง t, b และ p
โดยใช้การวิเคราะห์ภาพเท่านั้น

pixdectest
ตัวกรองการทดสอบตัวบอกรูปแบบพิกเซล มีประโยชน์สำหรับการทดสอบภายในเป็นหลัก วิดีโอเอาท์พุต
ควรเท่ากับวิดีโออินพุต

ตัวอย่างเช่น:

format=monow, pixdestest

สามารถใช้เพื่อทดสอบคำจำกัดความของรูปแบบพิกเซลขาวดำ

pp
เปิดใช้งานห่วงโซ่ที่ระบุของตัวกรองย่อยหลังการประมวลผลโดยใช้ libpostproc ห้องสมุดนี้
ควรเลือกโดยอัตโนมัติด้วยบิลด์ GPL ("--enable-gpl") ตัวกรองย่อยจะต้อง
คั่นด้วย '/' และสามารถปิดใช้งานได้โดยการเติม '-' ตัวกรองย่อยแต่ละรายการและตัวเลือกบางอย่าง
มีชื่อสั้นและยาวใช้แทนกันได้ กล่าวคือ dr/dering คือ
เหมือนกัน.

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ตัวกรองย่อย
ตั้งค่าสตริงตัวกรองย่อยภายหลังการประมวลผล

ตัวกรองย่อยทั้งหมดแบ่งปันตัวเลือกทั่วไปเพื่อกำหนดขอบเขต:

a/อัตโนมัติ
ให้เกียรติคำสั่งคุณภาพสำหรับตัวกรองย่อยนี้

ซี/โครม
ทำการกรองโครมิแนนซ์ด้วย (ค่าเริ่มต้น)

ใช่/โนโครม
กรองแสงเท่านั้น (ไม่มีสี)

n/โนลูมา
ทำการกรองโครมิแนนซ์เท่านั้น (ไม่มีความส่องสว่าง)

ตัวเลือกเหล่านี้สามารถต่อท้ายชื่อตัวกรองย่อย โดยคั่นด้วย '|'

ตัวกรองย่อยที่ใช้ได้คือ:

hb/hdeblock[|ความแตกต่าง[|ความเรียบ]]
ตัวกรองการดีบล็อกแนวนอน

ความแตกต่าง
ปัจจัยความแตกต่างที่ค่าที่สูงกว่าหมายถึงการดีบล็อกมากขึ้น (ค่าเริ่มต้น: 32)

ความเรียบ
เกณฑ์ความเรียบโดยที่ค่าที่ต่ำกว่าหมายถึงการดีบล็อกมากขึ้น (ค่าเริ่มต้น: 39)

vb/vdeblock[|ความแตกต่าง[|ความเรียบ]]
ตัวกรองการดีบล็อกแนวตั้ง

ความแตกต่าง
ปัจจัยความแตกต่างที่ค่าที่สูงกว่าหมายถึงการดีบล็อกมากขึ้น (ค่าเริ่มต้น: 32)

ความเรียบ
เกณฑ์ความเรียบโดยที่ค่าที่ต่ำกว่าหมายถึงการดีบล็อกมากขึ้น (ค่าเริ่มต้น: 39)

ฮ่า/hadeblock[|ความแตกต่าง[|ความเรียบ]]
ตัวกรองการดีบล็อกแนวนอนที่แม่นยำ

ความแตกต่าง
ปัจจัยความแตกต่างที่ค่าที่สูงกว่าหมายถึงการดีบล็อกมากขึ้น (ค่าเริ่มต้น: 32)

ความเรียบ
เกณฑ์ความเรียบโดยที่ค่าที่ต่ำกว่าหมายถึงการดีบล็อกมากขึ้น (ค่าเริ่มต้น: 39)

va/vadeblock[|ความแตกต่าง[|ความเรียบ]]
ตัวกรองการดีบล็อกแนวตั้งที่แม่นยำ

ความแตกต่าง
ปัจจัยความแตกต่างที่ค่าที่สูงกว่าหมายถึงการดีบล็อกมากขึ้น (ค่าเริ่มต้น: 32)

ความเรียบ
เกณฑ์ความเรียบโดยที่ค่าที่ต่ำกว่าหมายถึงการดีบล็อกมากขึ้น (ค่าเริ่มต้น: 39)

ตัวกรองการดีบล็อกแนวนอนและแนวตั้งแบ่งปันค่าความแตกต่างและความเรียบดังนั้น
คุณไม่สามารถตั้งค่าเกณฑ์แนวนอนและแนวตั้งที่แตกต่างกันได้

h1/x1hdeblock
ตัวกรองการดีบล็อกแนวนอนแบบทดลอง

v1/x1vdeblock
ตัวกรองการดีบล็อกแนวตั้งแบบทดลอง

ดร/เดอริง
ตัวกรอง Dering

tn/tmpnoise[|เกณฑ์1[|เกณฑ์2[|เกณฑ์3]]], ชั่วขณะ สัญญาณรบกวน ลด
ธรณีประตู1
ใหญ่ขึ้น -> กรองแรงขึ้น

ธรณีประตู2
ใหญ่ขึ้น -> กรองแรงขึ้น

ธรณีประตู3
ใหญ่ขึ้น -> กรองแรงขึ้น

al/autolevels[:f/fullrange], อัตโนมัติ ความสว่าง / ตรงกันข้าม การแก้ไข
f/fullrange
ยืดความสว่างไปที่ "0-255"

ปอนด์/linblenddeint
ตัวกรองการดีอินเทอร์เลซแบบผสมผสานเชิงเส้นที่แยกบล็อกที่กำหนดโดยการกรองทั้งหมด
บรรทัดที่มีตัวกรอง "(1 2 1)"

ลิ/ลินิโปลเดอินท์
ตัวกรองดีอินเทอร์เลซอินเทอร์โพเลตเชิงเส้นที่แยกอินเทอร์เลซบล็อกที่กำหนดโดย
การสอดแทรกเชิงเส้นทุกบรรทัดที่สอง

ci/cubicpoldeint
ตัวกรอง deinterlacing แบบลูกบาศก์ interpolating deinterlaces บล็อกที่กำหนดโดย cubically
สอดแทรกทุกบรรทัดที่สอง

md/มัธยฐาน
ค่ามัธยฐานตัวกรองดีอินเทอร์เลซที่แยกบล็อกที่กำหนดโดยใช้ค่ามัธยฐาน
กรองทุกบรรทัดที่สอง

fd/ffmpegdeint.fd/ffmpegdeint.fd
FFmpeg deinterlacing filter ที่แยกบล็อกที่กำหนดโดยการกรอง every
บรรทัดที่สองพร้อมตัวกรอง "(-1 4 2 4 -1)"

l5/โลว์พาสส์5
ฟิลเตอร์ดีอินเทอร์เลซ FIR โลว์พาสที่ใช้ในแนวตั้งซึ่งดีอินเตอร์เลซบล็อกที่กำหนด
โดยการกรองทุกบรรทัดด้วยตัวกรอง "(-1 2 6 2 -1)"

fq/forceQuant[|ควอไทเซอร์]
แทนที่ตารางควอนไทเซอร์จากอินพุตด้วยควอไทเซอร์คงที่ที่คุณระบุ

ปริมาณ
ปริมาณการใช้

เด / ค่าเริ่มต้น
ชุดค่าผสมตัวกรอง pp เริ่มต้น ("hb|a,vb|a,dr|a")

ฟ้า/เร็ว
การรวมตัวกรอง pp ที่รวดเร็ว ("h1|a,v1|a,dr|a")

ac การรวมตัวกรอง pp คุณภาพสูง ("ha|a|128|7,va|a,dr|a")

ตัวอย่าง

· ใช้การดีบล็อกแนวนอนและแนวตั้ง การปรับความสว่าง/ความคมชัดอัตโนมัติ:

pp=hb/vb/dr/อัล

· ใช้ตัวกรองเริ่มต้นโดยไม่มีการแก้ไขความสว่าง/ความคมชัด:

pp=เด/-อัล

· ใช้ตัวกรองเริ่มต้นและตัวลบเวลา:

pp=ค่าเริ่มต้น/tmpnoise|1|2|3

· ใช้การดีบล็อกบนความสว่างเท่านั้น และเปิดหรือปิดการดีบล็อกแนวตั้ง
โดยอัตโนมัติขึ้นอยู่กับเวลา CPU ที่มีอยู่:

pp=hb|y/vb|ก

pp7
ใช้ตัวกรองหลังการประมวลผล 7 เป็นตัวแปรของ เอสพีพี ตัวกรองคล้ายกับ spp = 6 กับ 7
จุด DCT ซึ่งใช้เฉพาะตัวอย่างที่อยู่ตรงกลางหลังจาก IDCT

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

qp บังคับพารามิเตอร์การหาปริมาณคงที่ ยอมรับจำนวนเต็มในช่วง 0 ถึง 63 ถ้า
ไม่ได้ตั้งค่า ตัวกรองจะใช้ QP จากสตรีมวิดีโอ (ถ้ามี)

โหมด
ตั้งค่าโหมดเกณฑ์ โหมดที่ใช้ได้คือ:

ยาก
ตั้งค่าขีดจำกัดที่ยาก

อ่อนนุ่ม
ตั้งค่าขีดจำกัดที่นุ่มนวล

กลาง
ตั้งค่าเกณฑ์กลาง (ผลลัพธ์ที่ดี ค่าเริ่มต้น)

psnr
รับ PSNR เฉลี่ย สูงสุด และต่ำสุด (อัตราส่วนสัญญาณต่อสัญญาณรบกวนสูงสุด) ระหว่างสอง
วิดีโออินพุต

ตัวกรองนี้รับอินพุตวิดีโออินพุต XNUMX รายการโดยอินพุตแรกถือเป็น "หลัก"
และส่งผ่านไปยังเอาต์พุตไม่เปลี่ยนแปลง อินพุตที่สองใช้เป็น "ข้อมูลอ้างอิง"
วิดีโอสำหรับการคำนวณ PSNR

อินพุตวิดีโอทั้งสองต้องมีความละเอียดและรูปแบบพิกเซลเหมือนกันเพื่อให้ตัวกรองนี้ทำงานได้
อย่างถูกต้อง นอกจากนี้ยังถือว่าอินพุตทั้งสองมีจำนวนเฟรมเท่ากัน ซึ่งก็คือ
เปรียบเทียบทีละคน

PSNR เฉลี่ยที่ได้รับจะพิมพ์ผ่านระบบบันทึก

ตัวกรองจะเก็บ MSE ที่สะสมไว้ (ค่าเฉลี่ยความคลาดเคลื่อนกำลังสอง) ของแต่ละเฟรม และในตอนท้าย
ของการประมวลผลจะเฉลี่ยในทุกเฟรมเท่ากัน และสูตรต่อไปนี้คือ
สมัครเพื่อรับ PSNR:

PSNR = 10*log10(สูงสุด^2/MSE)

โดยที่ MAX คือค่าเฉลี่ยของค่าสูงสุดของแต่ละองค์ประกอบของภาพ

คำอธิบายของพารามิเตอร์ที่ยอมรับมีดังนี้

สถิติ_ไฟล์, f
หากระบุตัวกรองจะใช้ไฟล์ที่มีชื่อเพื่อบันทึก PSNR ของแต่ละคน
กรอบ

ไฟล์ที่พิมพ์ if stats_file ถูกเลือก มีลำดับของคู่คีย์/ค่าของ
ฟอร์ม สำคัญ:ความคุ้มค่า สำหรับแต่ละเฟรมเปรียบเทียบ

คำอธิบายของพารามิเตอร์ที่แสดงแต่ละรายการมีดังนี้:

n หมายเลขลำดับของเฟรมอินพุตเริ่มต้นจาก1

mse_avg
Mean Square Error ความแตกต่างเฉลี่ยแบบพิกเซลต่อพิกเซลของเฟรมที่เปรียบเทียบ, ค่าเฉลี่ย
เหนือองค์ประกอบภาพทั้งหมด

mse_y, มิส_ยู, mse_v, mse_r, mse_g, mse_g, mse_a
Mean Square Error ความแตกต่างเฉลี่ยแบบพิกเซลต่อพิกเซลของเฟรมที่เปรียบเทียบสำหรับ
องค์ประกอบที่ระบุโดยคำต่อท้าย

psnr_y, psnr_u, psnr_v, psnr_r, psnr_g, psnr_b, psnr_a
อัตราส่วนสัญญาณต่อสัญญาณรบกวนสูงสุดของเฟรมที่เปรียบเทียบสำหรับส่วนประกอบที่ระบุโดย
วิภัตติ

ตัวอย่างเช่น:

movie=ref_movie.mpg, setpts=PTS-STARTPTS [หลัก];
[main][ref] psnr="stats_file=stats.log" [ออก]

ในตัวอย่างนี้ ไฟล์อินพุตที่กำลังประมวลผลจะถูกเปรียบเทียบกับไฟล์อ้างอิง
ref_movie.mpg. PSNR ของแต่ละเฟรมจะถูกเก็บไว้ใน สถิติ.log.

ดึงขึ้น
ตัวกรองย้อนกลับแบบดึงลง (เทเลซีนผกผัน) ซึ่งสามารถจัดการกับเทเลซีนแบบแข็งแบบผสมได้
24000/1001 fps โปรเกรสซีฟ และ 30000/1001 fps โปรเกรสซีฟเนื้อหา

ตัวกรองพูลอัปออกแบบมาเพื่อใช้ประโยชน์จากบริบทในอนาคตในการตัดสินใจ
ตัวกรองนี้ไร้สัญชาติในแง่ที่ว่าไม่ได้ล็อคเข้ากับรูปแบบที่จะปฏิบัติตาม แต่
แทนที่จะมองไปข้างหน้าไปยังฟิลด์ต่อไปนี้เพื่อระบุการจับคู่และสร้างใหม่
เฟรมโปรเกรสซีฟ

ในการสร้างเนื้อหาที่มีอัตราเฟรมเท่ากัน ให้ใส่ฟิลเตอร์ fps หลังจากดึงขึ้น ใช้
"fps=24000/1001" หากอัตราเฟรมอินพุตเป็น 29.97fps, "fps=24" สำหรับ 30fps และ (หายาก)
อินพุต 25fps telecined

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

jl
jr
jt
jb ตัวเลือกเหล่านี้กำหนดจำนวน "ขยะ" ที่จะละเว้นที่ด้านซ้าย ขวา บน และล่าง
ของภาพ ตามลำดับ ซ้ายและขวาอยู่ในหน่วย 8 พิกเซล ขณะที่ด้านบนและ
ด้านล่างมีหน่วยเป็น 2 บรรทัด ค่าเริ่มต้นคือ 8 พิกเซลในแต่ละด้าน

sb กำหนดการแบ่งอย่างเข้มงวด การตั้งค่าตัวเลือกนี้เป็น 1 จะลดโอกาสของตัวกรอง
สร้างเฟรมไม่ตรงกันเป็นครั้งคราว แต่ก็อาจทำให้จำนวนมากเกินไป
ของเฟรมที่จะดร็อประหว่างลำดับการเคลื่อนไหวสูง ในทางกลับกัน ตั้งค่าเป็น -1
จะทำให้ฟิลด์จับคู่ตัวกรองง่ายขึ้น ซึ่งอาจช่วยประมวลผลวิดีโอเมื่อ
มีความเบลอเล็กน้อยระหว่างฟิลด์ แต่อาจทำให้มีการอินเทอร์เลซ
เฟรมในเอาต์พุต ค่าเริ่มต้นคือ 0

mp ตั้งค่าระนาบเมตริกที่จะใช้ ยอมรับค่าต่อไปนี้:

l ใช้เครื่องบินลูมา

u ใช้ระนาบสีน้ำเงิน

v ใช้ระนาบสีแดงเข้ม

ตัวเลือกนี้อาจตั้งค่าให้ใช้ระนาบสีแทนระนาบ luma เริ่มต้นสำหรับการทำ
การคำนวณของตัวกรอง การทำเช่นนี้อาจช่วยปรับปรุงความถูกต้องของแหล่งข้อมูลที่สะอาดมาก แต่
มีแนวโน้มจะลดความแม่นยำลงโดยเฉพาะถ้ามีเสียงโครมา (รุ้ง
เอฟเฟกต์) หรือวิดีโอระดับสีเทาใดๆ วัตถุประสงค์หลักของการตั้งค่า mp สู่ระนาบสีคือ
เพื่อลดภาระของ CPU และทำให้ pullup ใช้งานได้แบบเรียลไทม์บนเครื่องที่ช้า

เพื่อผลลัพธ์ที่ดีที่สุด (โดยไม่มีเฟรมซ้ำในไฟล์เอาต์พุต) จำเป็นต้องเปลี่ยน
อัตราเฟรมเอาต์พุต ตัวอย่างเช่น หากต้องการผกผันอินพุต NTSC ของ telecine:

ffmpeg -i อินพุต -vf pullup -r 24000/1001 ...

qp
เปลี่ยนพารามิเตอร์การหาปริมาณวิดีโอ (QP)

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

qp ตั้งค่านิพจน์สำหรับพารามิเตอร์ quantization

นิพจน์ได้รับการประเมินผ่าน eval API และสามารถมี
ค่าคงที่ต่อไปนี้:

ที่รู้จักกัน
1 ถ้าดัชนีไม่ใช่ 129 มิฉะนั้น 0

qp ดัชนีตามลำดับเริ่มต้นจาก -129 ถึง 128

ตัวอย่าง

· สมการบางอย่างเช่น:

qp=2+2*บาป(PI*qp)

สุ่ม
ล้างเฟรมวิดีโอจากแคชภายในของเฟรมเป็นลำดับแบบสุ่ม ไม่มีกรอบคือ
ทิ้ง ได้รับแรงบันดาลใจจาก ฟรี0r ตัวกรองประสาท

เฟรม
กำหนดขนาดเป็นจำนวนเฟรมของแคชภายใน ในช่วง 2 ถึง 512 ค่าเริ่มต้นคือ 30

เมล็ดพันธุ์
ตั้งค่าเมล็ดพันธุ์สำหรับเครื่องกำเนิดตัวเลขสุ่ม ต้องเป็นจำนวนเต็มที่รวมระหว่าง 0 ถึง
"UNT32_MAX" หากไม่ระบุ หรือหากตั้งค่าไว้น้อยกว่า 0 อย่างชัดเจน ตัวกรองจะ
พยายามใช้เมล็ดพันธุ์สุ่มที่ดีอย่างดีที่สุด

ลบเกรน
ฟิลเตอร์รีมูฟเกรนเป็นตัวลดพื้นที่สำหรับวิดีโอโปรเกรสซีฟ

m0 ตั้งค่าโหมดสำหรับเครื่องบินลำแรก

m1 ตั้งค่าโหมดสำหรับระนาบที่สอง

m2 ตั้งค่าโหมดสำหรับเครื่องบินลำที่สาม

m3 ตั้งค่าโหมดสำหรับระนาบที่สี่

ช่วงของโหมดอยู่ระหว่าง 0 ถึง 24 คำอธิบายแต่ละโหมดดังนี้:

0 ปล่อยให้ระนาบอินพุตไม่เปลี่ยนแปลง ค่าเริ่มต้น.

1 คลิปพิกเซลที่มีพิกเซลเพื่อนบ้านต่ำสุดและสูงสุด 8 พิกเซล

2 คลิปพิกเซลโดยมีค่าต่ำสุดและสูงสุดอันดับที่สองของพิกเซลเพื่อนบ้าน 8 พิกเซล

3 คลิปพิกเซลโดยมีค่าต่ำสุดและสูงสุดที่สามของพิกเซลเพื่อนบ้าน 8 พิกเซล

4 คลิปพิกเซลโดยมีค่าต่ำสุดและสูงสุดที่สี่ของพิกเซลเพื่อนบ้าน 8 พิกเซล นี้
เทียบเท่ากับตัวกรองค่ามัธยฐาน

5 การตัดแบบไวต่อเส้นทำให้เกิดการเปลี่ยนแปลงน้อยที่สุด

6 การตัดที่ไวต่อเส้น ระดับกลาง

7 การตัดที่ไวต่อเส้น ระดับกลาง

8 การตัดที่ไวต่อเส้น ระดับกลาง

9 การตัดตามเส้นบนเส้นที่พิกเซลข้างเคียงอยู่ใกล้ที่สุด

10 แทนที่พิกเซลเป้าหมายด้วยเพื่อนบ้านที่ใกล้ที่สุด

11 [1 2 1] เคอร์เนลเบลอแนวนอนและแนวตั้ง

12 เช่นเดียวกับโหมด 11

13 โหมด Bob สอดแทรกฟิลด์บนสุดจากบรรทัดที่พิกเซลเพื่อนบ้านคือ
ใกล้เคียงที่สุด

14 โหมด Bob สอดแทรกฟิลด์ด้านล่างจากบรรทัดที่พิกเซลเพื่อนบ้านคือ
ใกล้เคียงที่สุด

15 โหมด Bob สอดแทรกฟิลด์บนสุด เช่นเดียวกับ 13 แต่มีการแก้ไขที่ซับซ้อนมากขึ้น
สูตร.

16 โหมด Bob สอดแทรกฟิลด์ด้านล่าง เหมือน14แต่ซับซ้อนกว่า
สูตรการแก้ไข

17 คลิปพิกเซลด้วยค่าต่ำสุดและสูงสุดตามลำดับสูงสุดและต่ำสุดตามลำดับ
ของแต่ละคู่ของพิกเซลเพื่อนบ้านที่อยู่ตรงข้ามกัน

18 การตัดเส้นแบบไวโดยใช้เพื่อนบ้านตรงข้ามที่มีระยะห่างมากที่สุดจาก
พิกเซลปัจจุบันน้อยที่สุด

19 แทนที่พิกเซลด้วยค่าเฉลี่ยของเพื่อนบ้าน 8 คน

20 เฉลี่ย 9 พิกเซล ([1 1 1] เบลอแนวนอนและแนวตั้ง)

21 คลิปพิกเซลโดยใช้ค่าเฉลี่ยของเพื่อนบ้านที่อยู่ตรงข้าม

22 เหมือนกับโหมด 21 แต่ง่ายกว่าและเร็วกว่า

23 ลบขอบและรัศมีเล็กน้อย แต่ขึ้นชื่อว่าไร้ประโยชน์

24 คล้ายกับ 23

ลบโลโก้
ระงับโลโก้สถานีโทรทัศน์ โดยใช้ไฟล์ภาพเพื่อกำหนดว่าพิกเซลใดประกอบด้วย
โลโก้ ทำงานโดยเติมพิกเซลที่ประกอบด้วยโลโก้ที่มีพิกเซลข้างเคียง

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ชื่อไฟล์, f
ตั้งค่าไฟล์ตัวกรองบิตแมป ซึ่งสามารถเป็นรูปแบบภาพใดก็ได้ที่ libavformat รองรับ
ความกว้างและความสูงของไฟล์ภาพต้องตรงกับที่สตรีมวิดีโอคือ
ประมวลผล.

พิกเซลในภาพบิตแมปที่ให้มาโดยมีค่าศูนย์ไม่ถือว่าเป็นส่วนหนึ่งของ
โลโก้พิกเซลที่ไม่ใช่ศูนย์ถือว่าเป็นส่วนหนึ่งของโลโก้ หากคุณใช้สีขาว (255) สำหรับโลโก้
และสีดำ (0) สำหรับส่วนที่เหลือ คุณจะปลอดภัย สำหรับการสร้างตัวกรองบิตแมปก็คือ
แนะนำให้ถ่ายหน้าจอกรอบสีดำที่มีโลโก้ให้เห็นแล้ว
ใช้ตัวกรองธรณีประตูตามด้วยตัวกรองการกัดเซาะครั้งหรือสองครั้ง

หากจำเป็น รอยเปื้อนเล็กน้อยสามารถแก้ไขได้ด้วยตนเอง จำไว้ว่าถ้าพิกเซลของโลโก้ไม่ใช่
ครอบคลุมคุณภาพของตัวกรองจะลดลงมาก การทำเครื่องหมายพิกเซลมากเกินไปเป็นส่วนหนึ่งของ
โลโก้ไม่เจ็บเท่าแต่จะเพิ่มปริมาณการเบลอที่ต้องปกปิด
เหนือรูปภาพและจะทำลายข้อมูลมากเกินความจำเป็น และพิกเซลพิเศษจะ
ทำให้ทุกอย่างช้าลงในโลโก้ขนาดใหญ่

สนามซ้ำ
ตัวกรองนี้ใช้การตั้งค่าสถานะ repeat_field จากส่วนหัวของ Video ES และช่องฮาร์ดซ้ำ
ขึ้นอยู่กับมูลค่าของมัน

ย้อนกลับ ตรงกันข้าม
ย้อนคลิป.

คำเตือน: ตัวกรองนี้ต้องใช้หน่วยความจำในการบัฟเฟอร์ทั้งคลิป ดังนั้นจึงแนะนำให้ตัดแต่ง

ตัวอย่าง

· ใช้เวลา 5 วินาทีแรกของคลิปแล้วย้อนกลับ

trim=end=5,ย้อนกลับ

หมุน
หมุนวิดีโอตามมุมที่กำหนดโดยแสดงเป็นเรเดียน

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

คำอธิบายของพารามิเตอร์ทางเลือกดังต่อไปนี้

มุม, a
กำหนดนิพจน์สำหรับมุมที่จะหมุนวิดีโออินพุตตามเข็มนาฬิกา
แสดงเป็นจำนวนเรเดียน ค่าลบจะส่งผลให้ทวนเข็มนาฬิกา
การหมุน โดยค่าเริ่มต้น จะถูกตั้งค่าเป็น "0"

นิพจน์นี้ได้รับการประเมินสำหรับแต่ละเฟรม

ออก_w, ow
ตั้งค่านิพจน์ความกว้างเอาต์พุต ค่าเริ่มต้นคือ "iw" นิพจน์นี้ได้รับการประเมิน
เพียงครั้งเดียวระหว่างการกำหนดค่า

ออก_h, oh
ตั้งค่านิพจน์ความสูงของเอาต์พุต ค่าเริ่มต้นคือ "ih" นิพจน์นี้ได้รับการประเมิน
เพียงครั้งเดียวระหว่างการกำหนดค่า

ทวิ
เปิดใช้งานการแก้ไขแบบ bilinear หากตั้งค่าเป็น 1 ค่า 0 จะปิดใช้งาน ค่าเริ่มต้นคือ
1.

เติมสี, c
ตั้งค่าสีที่ใช้เติมพื้นที่ส่งออกที่ไม่ครอบคลุมโดยภาพที่หมุน สำหรับ
ไวยากรณ์ทั่วไปของตัวเลือกนี้ ตรวจสอบส่วน "สี" ในคู่มือ ffmpeg-utils
หากเลือกค่าพิเศษ "ไม่มี" จะไม่มีการพิมพ์พื้นหลัง (มีประโยชน์สำหรับ
ตัวอย่างถ้าพื้นหลังไม่แสดง)

ค่าเริ่มต้นคือ "สีดำ"

นิพจน์สำหรับมุมและขนาดเอาต์พุตสามารถมีค่าคงที่ต่อไปนี้และ
ฟังก์ชั่น:

n หมายเลขลำดับของเฟรมอินพุต เริ่มต้นจาก 0 จะเป็น NAN ก่อน . เสมอ
เฟรมแรกถูกกรอง

t เวลาเป็นวินาทีของเฟรมอินพุต ตั้งค่าเป็น 0 เมื่อมีการกำหนดค่าตัวกรอง มัน
เป็น NAN เสมอก่อนกรองเฟรมแรก

ฮซบ
เทียบกับ
ค่าตัวอย่างย่อยของสีแนวนอนและแนวตั้ง ตัวอย่างเช่นสำหรับรูปแบบพิกเซล
"yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

ใน_w, iw
ใน_h, ih
ความกว้างและความสูงของวิดีโออินพุต

ออก_w, ow
ออก_h, oh
ความกว้างและความสูงของเอาต์พุต นั่นคือขนาดของพื้นที่บุนวมตามที่ .กำหนด
ความกว้าง และ ความสูง การแสดงออก

rotw(ก)
โรท (ก)
ความกว้าง/ความสูงขั้นต่ำที่จำเป็นสำหรับวิดีโออินพุตที่หมุนโดย
a เรเดียน

สิ่งเหล่านี้ใช้ได้เฉพาะเมื่อคำนวณ ออก_w และ ออก_h นิพจน์

ตัวอย่าง

· หมุนอินพุตโดย PI/6 เรเดียนตามเข็มนาฬิกา:

หมุน=PI/6

· หมุนอินพุตโดย PI/6 เรเดียนทวนเข็มนาฬิกา:

หมุน=-PI/6

· หมุนอินพุต 45 องศาตามเข็มนาฬิกา:

หมุน=45*PI/180

· ใช้การหมุนคงที่ด้วยจุด T โดยเริ่มจากมุมของ PI/3:

หมุน=PI/3+2*PI*t/T

· ทำให้การหมุนวิดีโออินพุตสั่นด้วยช่วงเวลา T วินาทีและแอมพลิจูด
ของเรเดียน A:

หมุน=A*บาป(2*PI/T*t)

· หมุนวิดีโอ เลือกขนาดเอาต์พุตเพื่อให้วิดีโออินพุตหมุนทั้งหมดเป็น
มีอยู่ในเอาต์พุตอย่างสมบูรณ์เสมอ:

หมุน='2*PI*t:ow=hypot(iw,ih):oh=ow'

· หมุนวิดีโอ ลดขนาดเอาต์พุตเพื่อไม่ให้แสดงพื้นหลัง:

หมุน=2*PI*t:ow='นาที(iw,ih)/ตร.ว(2)':oh=ow:c=none

คำสั่ง

ตัวกรองรองรับคำสั่งต่อไปนี้:

a, มุม
ตั้งค่านิพจน์มุม คำสั่งยอมรับไวยากรณ์เดียวกันของที่สอดคล้องกัน
ตัวเลือก

ถ้านิพจน์ที่ระบุไม่ถูกต้อง นิพจน์นั้นจะถูกเก็บไว้ที่ค่าปัจจุบัน

ผู้ทำลาย
ใช้ Shape Adaptive Blur

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

luma_radius, lr
ตั้งค่าความแรงของฟิลเตอร์ luma blur ต้องเป็นค่าในช่วง 0.1-4.0 ค่าเริ่มต้นคือ 1.0
ค่าที่มากขึ้นจะทำให้ภาพเบลอมากขึ้นและประมวลผลช้าลง

luma_pre_filter_radius, lpfr
ตั้งค่ารัศมีตัวกรองล่วงหน้า luma ต้องเป็นค่าในช่วง 0.1-2.0 ค่าเริ่มต้นคือ
1.0.

luma_strength, ls
ตั้งค่าความแตกต่างสูงสุดของ luma ระหว่างพิกเซลให้ยังคงได้รับการพิจารณา ต้องเป็นค่าใน
ช่วง 0.1-100.0 ค่าเริ่มต้นคือ 1.0

โครมา_รัศมี, cr
ตั้งค่าความเข้มของฟิลเตอร์เบลอของสี ต้องเป็นค่าในช่วง 0.1-4.0 คุ้มค่ากว่า
จะส่งผลให้ภาพเบลอมากขึ้นและการประมวลผลช้าลง

chroma_pre_filter_radius, ซีพีเอฟ
กำหนดรัศมีตัวกรองล่วงหน้าของสี ต้องเป็นค่าในช่วง 0.1-2.0

ความเข้มของสี cs
ตั้งค่าความแตกต่างสูงสุดของสีระหว่างพิกเซลให้ยังคงได้รับการพิจารณา ต้องเป็นค่า
ในช่วง 0.1-100.0 น.

ค่าตัวเลือกโครมาแต่ละรายการ หากไม่ได้ระบุไว้อย่างชัดเจน จะถูกตั้งค่าเป็น luma . ที่สอดคล้องกัน
ค่าตัวเลือก

ขนาด
ปรับขนาด (ปรับขนาด) วิดีโออินพุตโดยใช้ไลบรารี libswscale

ตัวกรองมาตราส่วนบังคับให้อัตราส่วนกว้างยาวของการแสดงผลเอาต์พุตเท่ากับอินพุตโดย
การเปลี่ยนอัตราส่วนกว้างยาวของตัวอย่างเอาต์พุต

หากรูปแบบภาพที่ป้อนแตกต่างจากรูปแบบที่ร้องขอโดยตัวกรองถัดไป
ตัวกรองมาตราส่วนจะแปลงอินพุตเป็นรูปแบบที่ร้องขอ

Options

ตัวกรองยอมรับตัวเลือกต่อไปนี้ หรือตัวเลือกใดๆ ที่ . รองรับ
ตัวปรับขนาด libswscale

ดู ffmpeg-scaler คู่มือ สำหรับรายการตัวเลือกสเกลทั้งหมด

ความกว้าง w
ความสูง h
ตั้งค่านิพจน์มิติวิดีโอเอาต์พุต ค่าเริ่มต้นคือมิติข้อมูลเข้า

หากค่าเป็น 0 ความกว้างของอินพุตจะถูกใช้สำหรับเอาต์พุต

หากค่าใดค่าหนึ่งเป็น -1 ตัวกรองมาตราส่วนจะใช้ค่าที่รักษา
อัตราส่วนกว้างยาวของภาพที่นำเข้า คำนวณจากมิติอื่นที่ระบุ ถ้า
ทั้งคู่คือ -1 ใช้ขนาดอินพุต

หากค่าใดค่าหนึ่งคือ -n โดยมี n > 1 ตัวกรองมาตราส่วนจะใช้ค่าที่
รักษาอัตราส่วนภาพของภาพที่นำเข้าโดยคำนวณจากค่าอื่นที่ระบุ
มิติ. หลังจากนั้นจะตรวจสอบให้แน่ใจว่ามิติที่คำนวณได้คือ
หารด้วย n และปรับค่าถ้าจำเป็น

ดูรายการค่าคงที่ที่ยอมรับด้านล่างเพื่อใช้ในนิพจน์มิติ

อินเตอร์
ตั้งค่าโหมดอินเทอร์เลซ ยอมรับค่าต่อไปนี้:

1 บังคับให้ปรับขนาดการรับรู้แบบอินเทอร์เลซ

0 อย่าใช้การปรับขนาดแบบอินเทอร์เลซ

-1 เลือกการปรับขนาดการรับรู้แบบอินเทอร์เลซโดยขึ้นอยู่กับว่าเฟรมต้นทางถูกตั้งค่าสถานะหรือไม่
เป็นแบบอินเทอร์เลซหรือไม่

ค่าเริ่มต้นคือ 0.

ธง
ตั้งค่าสถานะการปรับขนาด libswscale ดู ffmpeg-scaler คู่มือ สำหรับรายการทั้งหมดของ
ค่านิยม หากไม่ได้ระบุอย่างชัดเจน ตัวกรองจะใช้แฟล็กเริ่มต้น

ขนาด, s
กำหนดขนาดวิดีโอ สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ ขนาด" ส่วน in
ffmpeg-ยูทิลิตี้ คู่มือ.

in_color_matrix
out_color_matrix
ตั้งค่าประเภทพื้นที่สี YCbCr เข้า/ส่งออก

ซึ่งช่วยให้สามารถแทนที่ค่าที่ตรวจพบอัตโนมัติและอนุญาตให้บังคับ a
ค่าเฉพาะที่ใช้สำหรับเอาต์พุตและตัวเข้ารหัส

หากไม่ระบุ ประเภทปริภูมิสีจะขึ้นอยู่กับรูปแบบพิกเซล

ค่าที่เป็นไปได้:

รถยนต์
เลือกโดยอัตโนมัติ

bt709
รูปแบบที่สอดคล้องกับข้อเสนอแนะของสหภาพโทรคมนาคมระหว่างประเทศ (ITU)
บท.709.

FCC ตั้งค่าปริภูมิสีให้สอดคล้องกับ United States Federal Communications Commission
(FCC) ประมวลกฎหมายของรัฐบาลกลาง (CFR) หัวข้อ 47 (2003) 73.682 (a)

bt601
กำหนดขอบเขตสีให้สอดคล้องกับ:

· คำแนะนำภาควิทยุคมนาคม ITU (ITU-R) BT.601

· บันทึก ITU-R BT.470-6 (1998) ระบบ B, B1 และ G

· สมาคมวิศวกรภาพยนตร์และโทรทัศน์ (SMPTE) ST 170:2004

เอสเอ็มพีเต้240ม
ตั้งค่าปริภูมิสีให้สอดคล้องกับ SMPTE ST 240:1999

อยู่ในช่วง
นอกช่วง
ตั้งค่าช่วงตัวอย่าง YCbCr เข้า/ออก

ซึ่งช่วยให้สามารถแทนที่ค่าที่ตรวจพบอัตโนมัติและอนุญาตให้บังคับ a
ค่าเฉพาะที่ใช้สำหรับเอาต์พุตและตัวเข้ารหัส หากไม่ระบุ ช่วงจะขึ้นอยู่กับ
รูปแบบพิกเซล ค่าที่เป็นไปได้:

รถยนต์
เลือกโดยอัตโนมัติ

jpeg/เต็ม/pc
ตั้งค่าฟูลเรนจ์ (0-255 ในกรณี 8 บิต luma)

mpeg/ทีวี
ตั้งค่าช่วง "MPEG" (16-235 ในกรณี 8-bit luma)

force_original_aspect_อัตราส่วน
เปิดใช้งานการลดหรือเพิ่มความกว้างหรือความสูงของวิดีโอเอาต์พุตหากจำเป็นเพื่อให้
อัตราส่วนภาพเดิม ค่าที่เป็นไปได้:

ปิดการใช้งาน
ปรับขนาดวิดีโอตามที่ระบุและปิดใช้งานคุณลักษณะนี้

ลดลง
ขนาดวิดีโอที่ส่งออกจะลดลงโดยอัตโนมัติหากจำเป็น

เพิ่ม
ขนาดวิดีโอเอาต์พุตจะเพิ่มขึ้นโดยอัตโนมัติหากจำเป็น

ตัวอย่างที่มีประโยชน์อย่างหนึ่งของตัวเลือกนี้คือเมื่อคุณทราบค่าสูงสุดของอุปกรณ์เฉพาะ
ความละเอียดที่อนุญาต คุณสามารถใช้สิ่งนี้เพื่อ จำกัด วิดีโอเอาต์พุตในขณะที่
การรักษาอัตราส่วนภาพ ตัวอย่างเช่น อุปกรณ์ A อนุญาตให้เล่น 1280x720 และ .ของคุณ
วิดีโอมีขนาด 1920x800 ใช้ตัวเลือกนี้ (ตั้งค่าให้ลด) และระบุ 1280x720 เป็น
บรรทัดคำสั่งทำให้เอาต์พุต 1280x533

โปรดทราบว่านี่แตกต่างจากการระบุ -1 สำหรับ w or h, คุณยังคง
จำเป็นต้องระบุความละเอียดเอาต์พุตเพื่อให้ตัวเลือกนี้ใช้งานได้

ค่าของ w และ h ตัวเลือกคือนิพจน์ที่มีค่าคงที่ต่อไปนี้:

ใน_w
ใน_h
ความกว้างและความสูงของอินพุต

iw
ih พวกนี้ก็เหมือนกับ ใน_w และ ใน_h.

ออก_w
ออก_h
ความกว้างและความสูงเอาต์พุต (สเกล)

ow
oh พวกนี้ก็เหมือนกับ ออก_w และ ออก_h

a เหมือนกับ iw / ih

sar อินพุตอัตราส่วนตัวอย่าง

Dar อัตราส่วนการแสดงผลอินพุต คำนวณจาก "(iw / ih) * sar"

ฮซบ
เทียบกับ
ค่าตัวอย่างย่อยของสีอินพุตแนวนอนและแนวตั้ง ตัวอย่างเช่น สำหรับพิกเซล
รูปแบบ "yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

โอซุบ
ovsub
ค่าตัวอย่างย่อยของโครมาเอาต์พุตแนวนอนและแนวตั้ง ตัวอย่างเช่น สำหรับพิกเซล
รูปแบบ "yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

ตัวอย่าง

· ปรับขนาดวิดีโออินพุตเป็นขนาด 200x100

มาตราส่วน=w=200:h=100

นี่เทียบเท่ากับ:

มาตราส่วน=200:100

หรือ:

มาตราส่วน=200x100

· ระบุตัวย่อขนาดสำหรับขนาดผลลัพธ์:

มาตราส่วน=qcif

ซึ่งสามารถเขียนได้ดังนี้

ขนาด=ขนาด=qcif

· ปรับขนาดอินพุตเป็น 2x:

มาตราส่วน=w=2*iw:h=2*ih

· ข้างต้นเหมือนกับ:

มาตราส่วน=2*in_w:2*in_h

· ปรับขนาดอินพุตเป็น 2x ด้วยการบังคับแบบอินเทอร์เลซ:

มาตราส่วน=2*iw:2*ih:interl=1

· ปรับขนาดอินพุตเป็นขนาดครึ่งหนึ่ง:

มาตราส่วน=w=iw/2:h=ih/2

· เพิ่มความกว้างและกำหนดความสูงเป็นขนาดเดียวกัน:

มาตราส่วน=3/2*iw:ow

·แสวงหาความสามัคคีกรีก:

มาตราส่วน=iw:1/PHI*iw
มาตราส่วน=ih*PHI:ih

· เพิ่มความสูงและตั้งค่าความกว้างเป็น 3/2 ของความสูง:

มาตราส่วน=w=3/2*oh:h=3/5*ih

· เพิ่มขนาด ทำให้ขนาดเป็นค่าตัวอย่างย่อยของโครมาหลายค่า:

scale="trunc(3/2*iw/hsub)*hsub:trunc(3/2*ih/vsub)*vsub"

· เพิ่มความกว้างสูงสุด 500 พิกเซล โดยคงอัตราส่วนกว้างยาวเท่ากับ
การป้อนข้อมูล:

มาตราส่วน=w='นาที(500\, iw*3/2):ชม.=-1'

คำสั่ง

ตัวกรองนี้สนับสนุนคำสั่งต่อไปนี้:

ความกว้าง w
ความสูง h
ตั้งค่านิพจน์ขนาดวิดีโอเอาต์พุต คำสั่งยอมรับไวยากรณ์เดียวกันของ
ตัวเลือกที่เกี่ยวข้อง

ถ้านิพจน์ที่ระบุไม่ถูกต้อง นิพจน์นั้นจะถูกเก็บไว้ที่ค่าปัจจุบัน

มาตราส่วน2ref
ปรับขนาด (ปรับขนาด) วิดีโออินพุตตามวิดีโออ้างอิง

ดูตัวกรองมาตราส่วนสำหรับตัวเลือกที่มี Scale2ref รองรับสิ่งเดียวกันแต่ใช้
วิดีโออ้างอิงแทนอินพุตหลักเป็นพื้นฐาน

ตัวอย่าง

· ปรับขนาดสตรีมคำบรรยายให้ตรงกับขนาดวิดีโอหลักก่อนวางซ้อน

'scale2ref[b][a];[a][b]โอเวอร์เลย์'

แยกช่อง
"separatefields" รับอินพุตวิดีโอแบบเฟรมและแยกแต่ละเฟรมออกเป็น
ช่องส่วนประกอบ สร้างคลิปครึ่งความสูงใหม่ด้วยอัตราเฟรมสองเท่าและสองเท่า
จำนวนเฟรม

ตัวกรองนี้ใช้ข้อมูลการครอบงำภาคสนามในเฟรมเพื่อตัดสินว่าแต่ละคู่ของ
ฟิลด์ที่จะวางก่อนในผลลัพธ์ ถ้าใช้ผิดก็ใช้ เซตฟิลด์ กรองไว้ก่อน
ตัวกรอง "ช่องแยก"

เซ็ทดาร์ เซ็ตซาร์
ตัวกรอง "setdar" ตั้งค่าอัตราส่วนการแสดงผลสำหรับวิดีโอเอาต์พุตตัวกรอง

ทำได้โดยการเปลี่ยนอัตราส่วนภาพตัวอย่าง (aka Pixel) ที่ระบุตาม
สมการต่อไปนี้:

= / *

โปรดทราบว่าตัวกรอง "setdar" ไม่ได้แก้ไขขนาดพิกเซลของวิดีโอ
กรอบ. นอกจากนี้ อัตราส่วนการแสดงผลที่กำหนดโดยตัวกรองนี้อาจเปลี่ยนแปลงได้โดยตัวกรองภายหลัง
ใน filterchain เช่น ในกรณีของ scaling หรือถ้าตัวกรอง "setdar" หรือ "setsar" อื่นเป็น
ประยุกต์

ตัวกรอง "setsar" ตั้งค่าอัตราส่วนภาพตัวอย่าง (aka Pixel) สำหรับวิดีโอเอาต์พุตตัวกรอง

โปรดทราบว่าผลที่ตามมาของการใช้ตัวกรองนี้ การแสดงผลด้านการแสดงผล
อัตราส่วนจะเปลี่ยนไปตามสมการข้างต้น

โปรดทราบว่าอัตราส่วนตัวอย่างที่กำหนดโดยตัวกรอง "setsar" อาจเปลี่ยนแปลงได้โดย
ภายหลังตัวกรองใน filterchain เช่นถ้าตัวกรอง "setsar" หรือ "setdar" อื่นคือ
ประยุกต์

ยอมรับพารามิเตอร์ต่อไปนี้:

r, อัตราส่วน Dar ("เซทดาร์" เท่านั้น), sar ("เซทซาร์" เท่านั้น)
ตั้งค่าอัตราส่วนกว้างยาวที่ใช้โดยตัวกรอง

พารามิเตอร์อาจเป็นสตริงตัวเลขทศนิยม นิพจน์ หรือสตริงของ
ฟอร์ม NUM:วันที่นี่มี NUM และ วัน เป็นตัวเศษและส่วนของอัตราส่วนกว้างยาว
หากไม่ได้ระบุพารามิเตอร์ จะถือว่าเป็นค่า "0" ในกรณีที่แบบฟอร์ม
"NUM:วัน" ถูกใช้ อักขระ ":" ควรหลีกเลี่ยง

แม็กซ์ ตั้งค่าจำนวนเต็มสูงสุดเพื่อใช้แสดงตัวเศษและส่วนเมื่อ
การลดอัตราส่วนกว้างยาวที่แสดงเป็นเหตุผล ค่าเริ่มต้นคือ 100

พารามิเตอร์ sar เป็นนิพจน์ที่มีค่าคงที่ต่อไปนี้:

E, พีไอ พี
ค่าเหล่านี้เป็นค่าโดยประมาณสำหรับค่าคงที่ทางคณิตศาสตร์ e (จำนวนออยเลอร์), pi
(ปี่กรีก) และพี (อัตราส่วนทองคำ)

w, h
ความกว้างและความสูงของอินพุต

a พวกนี้ก็เหมือนกับ w / h.

sar อัตราส่วนกว้างยาวของตัวอย่างอินพุต

Dar อัตราส่วนการแสดงผลอินพุต มันเหมือนกับ (w / h) * sar.

ฮับ เทียบกับ
ค่าตัวอย่างย่อยของโครมาแนวนอนและแนวตั้ง ตัวอย่างเช่น สำหรับรูปแบบพิกเซล
"yuv422p" ฮซบ เป็น 2 และ เทียบกับ คือ 1

ตัวอย่าง

· หากต้องการเปลี่ยนอัตราส่วนการแสดงผลเป็น 16:9 ให้ระบุข้อใดข้อหนึ่งต่อไปนี้:

setdar=dar=1.77777
setdar=ดาร์=16/9
setdar=dar=1.77777

· หากต้องการเปลี่ยนอัตราส่วนตัวอย่างเป็น 10:11 ให้ระบุ:

เซซาร์=ซาร์=10/11

· ตั้งค่าอัตราส่วนการแสดงผลเป็น 16:9 และระบุค่าจำนวนเต็มสูงสุดที่ 1000 นิ้ว
การลดอัตราส่วนภาพ ใช้คำสั่ง:

setdar=อัตราส่วน=16/9:สูงสุด=1000

เซตฟิลด์
ฟิลด์บังคับสำหรับเฟรมวิดีโอเอาต์พุต

ตัวกรอง "setfield" ทำเครื่องหมายฟิลด์ประเภทอินเทอร์เลซสำหรับเฟรมเอาต์พุต มันไม่ใช่
เปลี่ยนเฟรมอินพุต แต่ตั้งค่าคุณสมบัติที่เกี่ยวข้องเท่านั้น ซึ่งส่งผลต่อวิธีการ
เฟรมได้รับการปฏิบัติโดยตัวกรองต่อไปนี้ (เช่น "fieldorder" หรือ "yadif")

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

โหมด
ค่าที่ใช้ได้คือ:

รถยนต์
เก็บคุณสมบัติฟิลด์เดียวกัน

BFF ทำเครื่องหมายเฟรมเป็นช่องล่างสุดก่อน

ทีเอฟ ทำเครื่องหมายเฟรมเป็นช่องบนสุดก่อน

โปรแกรม
ทำเครื่องหมายเฟรมเป็นโปรเกรสซีฟ

ShowInfo
แสดงบรรทัดที่มีข้อมูลต่างๆ สำหรับแต่ละเฟรมวิดีโออินพุต วิดีโออินพุตคือ
ไม่ได้แก้ไข

บรรทัดที่แสดงมีลำดับของคู่คีย์/ค่าของรูปแบบ สำคัญ:ความคุ้มค่า.

ค่าต่อไปนี้จะแสดงในผลลัพธ์:

n หมายเลข (ตามลำดับ) ของเฟรมอินพุต เริ่มจาก 0

พีทีเอส Presentation TimeStamp ของกรอบการป้อนข้อมูล แสดงเป็นจำนวนฐานเวลา
หน่วย หน่วยฐานเวลาขึ้นอยู่กับแผ่นป้อนข้อมูลตัวกรอง

pts_time
Presentation TimeStamp ของเฟรมอินพุต แสดงเป็นจำนวนวินาที

โพสต์ ตำแหน่งของเฟรมในสตรีมอินพุต หรือ -1 หากข้อมูลนี้เป็น
ไม่พร้อมใช้งานและ/หรือไร้ความหมาย (เช่น ในกรณีของวิดีโอสังเคราะห์)

เอฟเอ็มที ชื่อรูปแบบพิกเซล

sar อัตราส่วนกว้างยาวตัวอย่างของกรอบอินพุตที่แสดงในรูปแบบ NUM/วัน.

s ขนาดของกรอบอินพุต สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ ขนาด"
ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ.

i ประเภทของโหมดอินเทอร์เลซ ("P" สำหรับ "โปรเกรสซีฟ", "T" สำหรับฟิลด์บนสุดก่อน, "B" สำหรับ
ช่องล่างก่อน)

ไอส์กี้
นี่คือ 1 หากเฟรมเป็นคีย์เฟรม มิฉะนั้น 0

ชนิด
ประเภทรูปภาพของกรอบอินพุต ("I" สำหรับ I-frame, "P" สำหรับ P-frame, "B" สำหรับ a
บีเฟรม หรือ "?" สำหรับประเภทที่ไม่รู้จัก) ดูเอกสารของ .ด้วย
"AVPictureType" enum และของฟังก์ชัน "av_get_picture_type_char" ที่กำหนดไว้ใน
libavutil/avutil.h.

การตรวจสอบ
เช็คซัม Adler-32 (พิมพ์เป็นเลขฐานสิบหก) ของระนาบทั้งหมดของเฟรมอินพุต

เครื่องบิน_checksum
เช็คซัม Adler-32 (พิมพ์เป็นเลขฐานสิบหก) ของแต่ละระนาบของเฟรมอินพุต
แสดงในรูปแบบ "[c0 c1 c2 c3]".

โชว์พาเลท
แสดงจานสี 256 สีของแต่ละเฟรม ตัวกรองนี้เกี่ยวข้องกับ .เท่านั้น เพื่อน 8 พิกเซล
รูปแบบเฟรม

ยอมรับตัวเลือกต่อไปนี้:

s กำหนดขนาดของกล่องที่ใช้แสดงรายการสีจานสีหนึ่งรายการ ค่าเริ่มต้นคือ 30 (สำหรับ
กล่องพิกเซล "30x30")

สับเปลี่ยนระนาบ
เรียงลำดับใหม่และ/หรือระนาบวิดีโอที่ซ้ำกัน

ยอมรับพารามิเตอร์ต่อไปนี้:

map0
ดัชนีของระนาบอินพุตที่จะใช้เป็นระนาบเอาต์พุตแรก

map1
ดัชนีของระนาบอินพุตที่จะใช้เป็นระนาบเอาต์พุตที่สอง

map2
ดัชนีของระนาบอินพุตที่จะใช้เป็นระนาบเอาต์พุตที่สาม

map3
ดัชนีของระนาบอินพุตที่จะใช้เป็นระนาบเอาต์พุตที่สี่

ระนาบแรกมีดัชนี 0 ค่าเริ่มต้นคือให้อินพุตไม่เปลี่ยนแปลง

สลับระนาบที่สองและสามของอินพุต:

ffmpeg -i INPUT -vf shuffleplanes=0:2:1:3 เอาต์พุต

สถิติสัญญาณ
ประเมินเมตริกภาพต่างๆ ที่ช่วยในการระบุปัญหาที่เกี่ยวข้องกับ
การแปลงสื่อวิดีโอแอนะล็อกให้เป็นดิจิทัล

โดยค่าเริ่มต้น ตัวกรองจะบันทึกค่าข้อมูลเมตาเหล่านี้:

ymin
แสดงค่า Y ขั้นต่ำที่อยู่ภายในกรอบอินพุต แสดงอยู่ในช่วงของ
(0-255)

สีเหลือง
แสดงค่า Y ที่เปอร์เซ็นไทล์ 10% ภายในกรอบอินพุต แสดงอยู่ในช่วง
ของ [0-255]

ยอฟจี
แสดงค่า Y เฉลี่ยภายในกรอบอินพุต แสดงอยู่ในช่วง [0-255]

สูง
แสดงค่า Y ที่เปอร์เซ็นไทล์ 90% ภายในกรอบอินพุต แสดงอยู่ในช่วง
ของ [0-255]

ymax
แสดงค่า Y สูงสุดที่อยู่ภายในกรอบอินพุต แสดงอยู่ในช่วงของ
(0-255)

ยูมิน
แสดงค่า U ขั้นต่ำที่อยู่ภายในกรอบอินพุต แสดงอยู่ในช่วงของ
(0-255)

ยูโลว์
แสดงค่า U ที่เปอร์เซ็นไทล์ 10% ภายในกรอบอินพุต แสดงอยู่ในช่วง
ของ [0-255]

ยูเอวีจี
แสดงค่า U เฉลี่ยภายในกรอบอินพุต แสดงอยู่ในช่วง [0-255]

สูง
แสดงค่า U ที่เปอร์เซ็นไทล์ 90% ภายในกรอบอินพุต แสดงอยู่ในช่วง
ของ [0-255]

ยูแม็กซ์
แสดงค่า U สูงสุดที่อยู่ภายในกรอบอินพุต แสดงอยู่ในช่วงของ
(0-255)

วีมิน
แสดงค่า V ขั้นต่ำที่อยู่ภายในกรอบอินพุต แสดงอยู่ในช่วงของ
(0-255)

วีโลว์
แสดงค่า V ที่เปอร์เซ็นไทล์ 10% ภายในกรอบอินพุต แสดงอยู่ในช่วง
ของ [0-255]

วีเอวีจี
แสดงค่า V เฉลี่ยภายในกรอบอินพุต แสดงอยู่ในช่วง [0-255]

สูง
แสดงค่า V ที่เปอร์เซ็นไทล์ 90% ภายในกรอบอินพุต แสดงอยู่ในช่วง
ของ [0-255]

วีแม็กซ์
แสดงค่า V สูงสุดที่อยู่ภายในกรอบอินพุต แสดงอยู่ในช่วงของ
(0-255)

แซทมิน
แสดงค่าความอิ่มตัวขั้นต่ำที่อยู่ภายในกรอบอินพุต แสดงใน
ช่วงของ [0-~181.02]

แซทโลว์
แสดงค่าความอิ่มตัวที่เปอร์เซ็นไทล์ 10% ภายในกรอบอินพุต แสดงออก
ในช่วง [0-~181.02]

ซาตาวีจี
แสดงค่าความอิ่มตัวเฉลี่ยภายในกรอบอินพุต แสดงอยู่ในช่วงของ
[0-~181.02]

สาทิจ
แสดงค่าความอิ่มตัวที่เปอร์เซ็นไทล์ 90% ภายในกรอบอินพุต แสดงออก
ในช่วง [0-~181.02]

SATMAX
แสดงค่าความอิ่มตัวสูงสุดที่มีอยู่ในกรอบอินพุต แสดงใน
ช่วงของ [0-~181.02]

ฮูเมด
แสดงค่ามัธยฐานของเฉดสีภายในกรอบอินพุต แสดงอยู่ในช่วงของ
(0-360)

HUEAVG
แสดงค่าเฉลี่ยของเฉดสีภายในกรอบอินพุต แสดงอยู่ในช่วงของ
(0-360)

วายดีไอเอฟ
แสดงค่าเฉลี่ยความแตกต่างของค่าตัวอย่างระหว่างค่าทั้งหมดของระนาบ Y ใน
เฟรมปัจจุบันและค่าที่สอดคล้องกันของเฟรมอินพุตก่อนหน้า แสดงใน
ช่วงของ [0-255]

ยูดีเอฟ
แสดงค่าเฉลี่ยความแตกต่างของค่าตัวอย่างระหว่างค่าทั้งหมดของระนาบ U ใน
เฟรมปัจจุบันและค่าที่สอดคล้องกันของเฟรมอินพุตก่อนหน้า แสดงใน
ช่วงของ [0-255]

วีดีไอเอฟ
แสดงค่าเฉลี่ยความแตกต่างของค่าตัวอย่างระหว่างค่าทั้งหมดของระนาบ V ใน
เฟรมปัจจุบันและค่าที่สอดคล้องกันของเฟรมอินพุตก่อนหน้า แสดงใน
ช่วงของ [0-255]

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

stat
ออก stat ระบุรูปแบบเพิ่มเติมของการวิเคราะห์ภาพ ออก ส่งออกวิดีโอด้วย
ประเภทของพิกเซลที่ระบุถูกเน้น

ทั้งสองตัวเลือกยอมรับค่าต่อไปนี้:

ทั้งหมด
แยกแยะ ชั่วขณะ ค่าผิดปกติ พิกเซล อา ชั่วขณะ ค่าผิดปกติ เป็นพิกเซลที่แตกต่างจาก
พิกเซลที่อยู่ใกล้เคียงของฟิลด์เดียวกัน ตัวอย่างของค่าผิดปกติชั่วคราว ได้แก่
ผลลัพธ์ของวิดีโอขาดหาย หัวอุดตัน หรือปัญหาการติดตามเทป

วีอาร์พี
แยกแยะ แนวตั้ง เส้น การทำซ้ำ. การทำซ้ำเส้นแนวตั้งรวมถึงแถวที่คล้ายกัน
ของพิกเซลภายในเฟรม ในการทำซ้ำเส้นแนวตั้งของวิดีโอดิจิทัลที่เกิดคือ
ทั่วไป แต่รูปแบบนี้ไม่ธรรมดาในวิดีโอที่แปลงเป็นดิจิทัลจากแหล่งอนาล็อก
เมื่อมันเกิดขึ้นในวิดีโอที่เป็นผลมาจากการแปลงเป็นดิจิทัลของแหล่งสัญญาณแอนะล็อกนั้น
สามารถบ่งบอกถึงการปกปิดจากค่าชดเชยการออกกลางคัน

นำ
ระบุพิกเซลที่อยู่นอกขอบเขตการออกอากาศตามกฎหมาย

สี, c
ตั้งค่าสีไฮไลท์สำหรับ ออก ตัวเลือก. สีเริ่มต้นคือสีเหลือง

ตัวอย่าง

· ข้อมูลเอาท์พุตของตัวชี้วัดวิดีโอต่างๆ:

ffprobe -f lavfi movie=example.mov,signalstats="stat=tout+vrep+brng" -show_frames

· ส่งออกข้อมูลเฉพาะเกี่ยวกับค่าต่ำสุดและสูงสุดของระนาบ Y ต่อเฟรม:

ffprobe -f lavfi movie=example.mov,signalstats -show_entries frame_tags=lavfi.signalstats.YMAX,lavfi.signalstats.YMIN

· เล่นวิดีโอในขณะที่ไฮไลต์พิกเซลที่อยู่นอกช่วงการออกอากาศเป็นสีแดง

ffplay example.mov -vf signalstats="out=brng:color=red"

· เล่นวิดีโอด้วยข้อมูลเมตาของ signalstats ที่วาดเหนือเฟรม

ตัวอย่าง ffplay.mov -vf signalstats=stat=brng+vrep+tout,drawtext=fontfile=FreeSerif.ttf:textfile=signalstat_drawtext.txt

เนื้อหาของ signalstat_drawtext.txt ที่ใช้ในคำสั่งคือ:

เวลา %{pts:hms}
Y (%{ข้อมูลเมตา:lavfi.signalstats.YMIN}-%{ข้อมูลเมตา:lavfi.signalstats.YMAX})
U (%{ข้อมูลเมตา:lavfi.signalstats.UMIN}-%{ข้อมูลเมตา:lavfi.signalstats.UMAX})
V (%{ข้อมูลเมตา:lavfi.signalstats.VMIN}-%{ข้อมูลเมตา:lavfi.signalstats.VMAX})
ความอิ่มตัวสูงสุด: %{metadata:lavfi.signalstats.SATMAX}

สมาร์ทเบลอ
เบลอวิดีโออินพุตโดยไม่ส่งผลกระทบต่อโครงร่าง

ยอมรับตัวเลือกต่อไปนี้:

luma_radius, lr
ตั้งค่ารัศมีลูมา ค่าตัวเลือกต้องเป็นตัวเลขลอยตัวในช่วง [0.1,5.0]
ที่ระบุความแปรปรวนของฟิลเตอร์เกาส์เซียนที่ใช้ในการเบลอภาพ (ช้ากว่าถ้า
ใหญ่กว่า) ค่าเริ่มต้นคือ 1.0

luma_strength, ls
ตั้งค่าความแรงของลูมา ค่าตัวเลือกต้องเป็นตัวเลขลอยตัวในช่วง [-1.0,1.0]
ที่กำหนดค่าการเบลอ ค่าที่รวมอยู่ใน [0.0,1.0] จะทำให้ภาพเบลอ
ในขณะที่ค่าที่รวมอยู่ใน [-1.0,0.0] จะทำให้ภาพคมชัดขึ้น ค่าเริ่มต้นคือ 1.0

luma_threshold, lt
ตั้งค่าเกณฑ์ luma ที่ใช้เป็นสัมประสิทธิ์เพื่อกำหนดว่าพิกเซลควรเป็น
เบลอหรือไม่ ค่าตัวเลือกต้องเป็นจำนวนเต็มในช่วง [-30,30] ค่าของ
0 จะกรองภาพทั้งหมด ค่าที่รวมอยู่ใน [0,30] จะกรองพื้นที่ราบและ a
ค่าที่รวมอยู่ใน [-30,0] จะกรองขอบ ค่าเริ่มต้นคือ 0

โครมา_รัศมี, cr
กำหนดรัศมีของสี ค่าตัวเลือกต้องเป็นตัวเลขลอยตัวในช่วง [0.1,5.0]
ที่ระบุความแปรปรวนของฟิลเตอร์เกาส์เซียนที่ใช้ในการเบลอภาพ (ช้ากว่าถ้า
ใหญ่กว่า) ค่าเริ่มต้นคือ 1.0

ความเข้มของสี cs
ตั้งค่าความเข้มของสี ค่าตัวเลือกต้องเป็นตัวเลขลอยตัวในช่วง
[-1.0,1.0] ที่กำหนดค่าการเบลอ ค่าที่รวมอยู่ใน [0.0,1.0] จะเบลอ
ภาพในขณะที่ค่าที่รวมอยู่ใน [-1.0,0.0] จะทำให้ภาพคมชัดขึ้น ค่าเริ่มต้นคือ
1.0.

chroma_threshold, ct
กำหนดขีดจำกัดของสีที่ใช้เป็นสัมประสิทธิ์เพื่อกำหนดว่าพิกเซลควรเป็น
เบลอหรือไม่ ค่าตัวเลือกต้องเป็นจำนวนเต็มในช่วง [-30,30] ค่าของ
0 จะกรองภาพทั้งหมด ค่าที่รวมอยู่ใน [0,30] จะกรองพื้นที่ราบและ a
ค่าที่รวมอยู่ใน [-30,0] จะกรองขอบ ค่าเริ่มต้นคือ 0

หากไม่ได้ตั้งค่าตัวเลือกสีไว้อย่างชัดเจน ค่า luma ที่เกี่ยวข้องจะถูกตั้งค่า

ซิม
รับ SSIM (Structural SImilarity Metric) ระหว่างวิดีโออินพุตสองรายการ

ตัวกรองนี้รับอินพุตวิดีโออินพุต XNUMX รายการโดยอินพุตแรกถือเป็น "หลัก"
และส่งผ่านไปยังเอาต์พุตไม่เปลี่ยนแปลง อินพุตที่สองใช้เป็น "ข้อมูลอ้างอิง"
วิดีโอสำหรับการคำนวณ SSIM

อินพุตวิดีโอทั้งสองต้องมีความละเอียดและรูปแบบพิกเซลเหมือนกันเพื่อให้ตัวกรองนี้ทำงานได้
อย่างถูกต้อง นอกจากนี้ยังถือว่าอินพุตทั้งสองมีจำนวนเฟรมเท่ากัน ซึ่งก็คือ
เปรียบเทียบทีละคน

ตัวกรองเก็บ SSIM ที่คำนวณได้ของแต่ละเฟรม

คำอธิบายของพารามิเตอร์ที่ยอมรับมีดังนี้

สถิติ_ไฟล์, f
หากระบุตัวกรองจะใช้ไฟล์ที่มีชื่อเพื่อบันทึก SSIM ของแต่ละคน
กรอบ

ไฟล์ที่พิมพ์ if stats_file ถูกเลือก มีลำดับของคู่คีย์/ค่าของ
ฟอร์ม สำคัญ:ความคุ้มค่า สำหรับแต่ละเฟรมเปรียบเทียบ

คำอธิบายของพารามิเตอร์ที่แสดงแต่ละรายการมีดังนี้:

n หมายเลขลำดับของเฟรมอินพุตเริ่มต้นจาก1

Y, U, V, R, G, B
SSIM ของเฟรมที่เปรียบเทียบสำหรับส่วนประกอบที่ระบุโดยส่วนต่อท้าย

ทั้งหมด SSIM ของเฟรมที่เปรียบเทียบสำหรับทั้งเฟรม

dB เหมือนกับข้างบนแต่ในการแสดง dB

ตัวอย่างเช่น:

movie=ref_movie.mpg, setpts=PTS-STARTPTS [หลัก];
[main][ref] ssim="stats_file=stats.log" [ออก]

ในตัวอย่างนี้ ไฟล์อินพุตที่กำลังประมวลผลจะถูกเปรียบเทียบกับไฟล์อ้างอิง
ref_movie.mpg. SSIM ของแต่ละเฟรมจะถูกเก็บไว้ใน สถิติ.log.

อีกตัวอย่างหนึ่งที่มีทั้ง psnr และ ssim พร้อมกัน:

ffmpeg -i main.mpg -i ref.mpg -lavfi "ssim;[0:v][1:v]psnr" -f null -

สเตอริโอ 3 มิติ
แปลงระหว่างรูปแบบภาพสามมิติต่างๆ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

in ตั้งค่ารูปแบบภาพสามมิติของอินพุต

ค่าที่ใช้ได้สำหรับรูปแบบภาพที่ป้อนเข้าคือ:

เอสบีแอล
ขนานกัน (ตาซ้ายซ้าย, ตาขวาขวา)

เอสบีเอสอาร์
เคียงข้างกัน (ตาขวาซ้าย, ตาซ้ายขวา)

เอสบีเอสทูแอล
ขนานกันด้วยความละเอียดครึ่งความกว้าง (ตาซ้ายซ้าย ตาขวาขวา)

เอสบีเอส2อาร์
เคียงข้างกันด้วยความละเอียดครึ่งความกว้าง (ตาขวาซ้าย, ตาซ้ายขวา)

ABL เหนือ-ล่าง (ตาซ้ายอยู่เหนือ ตาขวาอยู่ล่าง)

เมษายน บน-ล่าง (ตาขวาบน ตาซ้ายล่าง)

ab2l
เหนือ-ล่าง สูงครึ่งหนึ่ง (ตาซ้ายอยู่เหนือ ตาขวาอยู่ล่าง)

เอบี2อาร์
ด้านบน-ล่าง ความละเอียดครึ่งความสูง (ตาขวาด้านบน ตาซ้ายด้านล่าง)

al สลับกรอบ (ตาซ้ายก่อน ตาขวาวินาที)

ar สลับกรอบ (ตาขวาก่อน ตาซ้ายวินาที)

ค่าเริ่มต้นคือ เอสบีแอล.

ออก ตั้งค่ารูปแบบภาพสามมิติของเอาต์พุต

ค่าที่ใช้ได้สำหรับรูปแบบภาพที่ส่งออกคือรูปแบบอินพุตทั้งหมดรวมถึง:

เถียง
anaglyph แดง/น้ำเงินเทา (ฟิลเตอร์สีแดงที่ตาซ้าย ฟิลเตอร์สีน้ำเงินที่ตาขวา)

หาเรื่อง
anaglyph แดง/เขียวเทา (ฟิลเตอร์สีแดงที่ตาซ้าย ฟิลเตอร์สีเขียวที่ตาขวา)

อาร์ค
anaglyph red/cyan grey (ฟิลเตอร์สีแดงที่ตาซ้าย, ฟิลเตอร์สีฟ้าที่ตาขวา)

โค้ง
anaglyph สีแดง/สีฟ้าครึ่งสี (ตัวกรองสีแดงที่ตาซ้าย, ตัวกรองสีฟ้าที่ตาขวา)

อาร์ค
anaglyph สีแดง/สีฟ้า (ตัวกรองสีแดงที่ตาซ้าย, ตัวกรองสีฟ้าที่ตาขวา)

อาร์ค
anaglyph สีแดง/สีฟ้า ปรับให้เหมาะสมด้วยการฉายภาพสี่เหลี่ยมจัตุรัสน้อยที่สุดของ dubois (สีแดง
กรองตาซ้าย กรองฟ้า ตาขวา)

สมาคม
สีเขียว anaglyph/magenta grey (ฟิลเตอร์สีเขียวที่ตาซ้าย, ฟิลเตอร์ magenta ที่ด้านขวา
ดวงตา)

อ้ากกก
สีเขียว anaglyph/สีม่วงแดงครึ่งสี (ตัวกรองสีเขียวที่ตาซ้าย, ตัวกรองสีม่วงแดง
ตาขวา)

ประชุมใหญ่
สีเขียว anaglyph/สีม่วงแดง (ตัวกรองสีเขียวที่ตาซ้าย, ตัวกรองสีม่วงแดงด้านขวา
ดวงตา)

ผู้บริหารระดับสูง
สีเขียว anaglyph/magenta ปรับให้เหมาะสมด้วยการฉายภาพสี่เหลี่ยมจัตุรัสน้อยที่สุดของ dubois
(ฟิลเตอร์สีเขียวที่ตาซ้าย ฟิลเตอร์สีม่วงแดงที่ตาขวา)

อายบี
anaglyph สีเหลือง/สีเทาสีน้ำเงิน (ฟิลเตอร์สีเหลืองที่ตาซ้าย ฟิลเตอร์สีน้ำเงินที่ตาขวา)

อาย
anaglyph สีเหลือง/สีน้ำเงินครึ่งสี (ฟิลเตอร์สีเหลืองที่ตาซ้าย ฟิลเตอร์สีน้ำเงินทางด้านขวา
ดวงตา)

เอบีซี
anaglyph สีเหลือง/สีฟ้า (ตัวกรองสีเหลืองที่ตาซ้าย, ตัวกรองสีน้ำเงินที่ตาขวา)

สบายดี
สีเหลือง/สีน้ำเงิน anaglyph ปรับให้เหมาะสมด้วยการฉายภาพสี่เหลี่ยมน้อยที่สุดของ dubois
(ฟิลเตอร์สีเหลืองที่ตาซ้าย ฟิลเตอร์สีน้ำเงินที่ตาขวา)

IRL แถวแทรก (ตาซ้ายมีแถวบน ตาขวาเริ่มแถวถัดไป)

irr แถวแทรก (ตาขวามีแถวบน ตาซ้ายเริ่มแถวถัดไป)

ml เอาต์พุตโมโน (ตาซ้ายเท่านั้น)

mr เอาต์พุตโมโน (เฉพาะตาขวา)

ค่าเริ่มต้นคือ อาร์ค.

ตัวอย่าง

· แปลงวิดีโออินพุตจากคู่ขนานกันเป็น anaglyph dubois สีเหลือง/น้ำเงิน:

stereo3d=sbsl:aybd

· แปลงวิดีโออินพุตจากด้านบนด้านล่าง (ตาซ้ายด้านบน ตาขวาด้านล่าง) เป็นเคียงข้างกัน
ตาขวาง

stereo3d=abl:sbsr

เอสพีพี
ใช้ตัวกรองหลังการประมวลผลอย่างง่ายที่บีบอัดและขยายขนาดรูปภาพได้หลายส่วน
(หรือ - ในกรณีของ คุณภาพ ระดับ 6 - ทั้งหมด) กะและเฉลี่ยผลลัพธ์

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

คุณภาพ
กำหนดคุณภาพ ตัวเลือกนี้กำหนดจำนวนระดับสำหรับการหาค่าเฉลี่ย มันยอมรับและ
จำนวนเต็มในช่วง 0-6 หากตั้งค่าเป็น 0 ตัวกรองจะไม่มีผลใดๆ ค่า6
หมายถึงคุณภาพที่สูงขึ้น สำหรับการเพิ่มขึ้นของค่านั้นแต่ละครั้ง ความเร็วจะลดลงหนึ่งปัจจัย
ประมาณ 2 ค่าเริ่มต้นคือ 3

qp บังคับพารามิเตอร์การหาปริมาณคงที่ หากไม่ได้ตั้งค่า ตัวกรองจะใช้ QP จาก
สตรีมวิดีโอ (ถ้ามี)

โหมด
ตั้งค่าโหมดเกณฑ์ โหมดที่ใช้ได้คือ:

ยาก
ตั้งค่าขีดจำกัดแบบตายตัว (ค่าเริ่มต้น)

อ่อนนุ่ม
ตั้งค่าขีดจำกัดที่นุ่มนวล

use_bframe_qp
เปิดใช้งานการใช้ QP จาก B-Frames หากตั้งค่าเป็น 1 การใช้ตัวเลือกนี้อาจทำให้
สั่นไหวเนื่องจาก B-Frame มักจะมี QP ​​ที่ใหญ่กว่า ค่าเริ่มต้นคือ 0 (ไม่ได้เปิดใช้งาน)

คำบรรยาย
วาดคำบรรยายที่ด้านบนของวิดีโออินพุตโดยใช้ไลบรารี libass

ในการเปิดใช้งานการรวบรวมตัวกรองนี้ คุณต้องกำหนดค่า FFmpeg ด้วย "--enable-libass"
ตัวกรองนี้ยังต้องการบิลด์ที่มี libavcodec และ libavformat เพื่อแปลงค่าที่ผ่าน
ไฟล์คำบรรยายเป็นรูปแบบคำบรรยาย ASS (Advanced Substation Alpha)

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ชื่อไฟล์, f
ตั้งชื่อไฟล์ของไฟล์คำบรรยายที่จะอ่าน มันต้องระบุ

ต้นฉบับ_ขนาด
ระบุขนาดของวิดีโอต้นฉบับ ซึ่งเป็นวิดีโอที่ประกอบไฟล์ ASS
สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ ขนาด" ส่วน in ffmpeg-ยูทิลิตี้
คู่มือ. เนื่องจากการออกแบบที่ไม่ถูกต้องในการคำนวณอัตราส่วนกว้างยาวของ ASS จำเป็นต้อง
ปรับขนาดแบบอักษรให้ถูกต้องหากอัตราส่วนกว้างยาวเปลี่ยนไป

แบบอักษร
ตั้งค่าเส้นทางไดเรกทอรีที่มีแบบอักษรที่ตัวกรองสามารถใช้ได้ แบบอักษรเหล่านี้
จะถูกใช้นอกเหนือจากสิ่งที่ผู้ให้บริการฟอนต์ใช้

ชาเร็น
ตั้งค่าการเข้ารหัสอักขระอินพุตคำบรรยาย ตัวกรอง "คำบรรยาย" เท่านั้น มีประโยชน์ก็ต่อเมื่อไม่
UTF-8

สตรีม_ดัชนี, si
ตั้งค่าดัชนีสตรีมคำบรรยาย ตัวกรอง "คำบรรยาย" เท่านั้น

แรง_สไตล์
แทนที่พารามิเตอร์ข้อมูลรูปแบบหรือสคริปต์เริ่มต้นของคำบรรยาย มันยอมรับสตริง
มีคู่รูปแบบสไตล์ ASS "KEY=VALUE" คั่นด้วย ","

หากไม่ได้ระบุคีย์แรก จะถือว่าค่าแรกระบุ
ชื่อไฟล์.

ตัวอย่างเช่น การแสดงไฟล์ ย่อย srt ที่ด้านบนของวิดีโออินพุต ให้ใช้คำสั่ง:

คำบรรยาย=sub.srt

ซึ่งเทียบเท่ากับ:

คำบรรยาย=ชื่อไฟล์=sub.srt

เพื่อแสดงคำบรรยายเริ่มต้นสตรีมจากไฟล์ วิดีโอ.mkvใช้:

คำบรรยาย = video.mkv

หากต้องการแสดงคำบรรยายที่สองสตรีมจากไฟล์นั้น ให้ใช้:

คำบรรยาย=วิดีโอ.mkv:si=1

เพื่อให้คำบรรยายสตรีมจาก ย่อย srt ปรากฏเป็นสีเขียวใส "DejaVu Serif" ใช้:

subtitles=sub.srt:force_style='FontName=DejaVu Serif,PrimaryColour=&HAA00FF00'

ซุปเปอร์ทูxsai
ปรับขนาดอินพุต 2x และราบรื่นโดยใช้ภาพพิกเซล Super2xSaI (สเกลและอินเตอร์โพเลต)
อัลกอริทึมการปรับขนาด

มีประโยชน์สำหรับการขยายภาพพิกเซลอาร์ตโดยไม่ลดความคมชัด

แลกเปลี่ยน
สลับเครื่องบิน U & V

เทเลซีน
ใช้กระบวนการ telecine กับวิดีโอ

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้:

first_field
ด้านบน t
ท็อปฟิลด์ก่อน

ด้านล่าง b
ช่องล่างก่อน ค่าเริ่มต้นคือ "ด้านบน"

Belt hold
สตริงตัวเลขที่แสดงรูปแบบพูลดาวน์ที่คุณต้องการใช้ ค่าเริ่มต้น
ค่าคือ 23

รูปแบบทั่วไปบางอย่าง:

เอาต์พุต NTSC (30i):
27.5น:32222
24p: 23 (คลาสสิก)
24p: 2332 (แนะนำ)
20น:33
18น:334
16น:3444

เอาต์พุต PAL (25i):
27.5น:12222
24p: 222222222223 ("ยูโรดึงลง")
16.67น:33
16น:33333334

ภาพขนาดย่อ
เลือกเฟรมที่เป็นตัวแทนมากที่สุดในลำดับที่กำหนดของเฟรมที่ต่อเนื่องกัน

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

n กำหนดขนาดแบทช์ของเฟรมเพื่อวิเคราะห์ ในชุดของ n เฟรม ตัวกรองจะเลือกหนึ่งเฟรม
ของพวกเขาแล้วจัดการชุดต่อไปของ n เฟรมจนจบ ค่าเริ่มต้นคือ 100

เนื่องจากตัวกรองจะคอยติดตามลำดับเฟรมทั้งหมด n ค่าจะส่งผลให้
การใช้หน่วยความจำที่สูงขึ้นจึงไม่แนะนำให้ใช้ค่าสูง

ตัวอย่าง

· แยกหนึ่งภาพแต่ละ 50 เฟรม:

ภาพขนาดย่อ = 50

· ตัวอย่างที่สมบูรณ์ของการสร้างภาพขนาดย่อด้วย ffmpeg:

ffmpeg -i in.avi -vf ภาพขนาดย่อ, ขนาด=300:200 -frames:v 1 out.png

กระเบื้อง
เรียงเฟรมต่อเนื่องกันหลายเฟรมเข้าด้วยกัน

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

แบบ
กำหนดขนาดกริด (เช่น จำนวนบรรทัดและคอลัมน์) สำหรับวากยสัมพันธ์ของสิ่งนี้
ตรวจสอบตัวเลือก "วิดีโอ ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ.

nb_frames
กำหนดจำนวนเฟรมสูงสุดที่จะแสดงผลในพื้นที่ที่กำหนด ต้องน้อยกว่าหรือ
เท่ากับ wxh. ค่าเริ่มต้นคือ 0 หมายความว่าจะใช้พื้นที่ทั้งหมด

ขอบ
กำหนดระยะขอบด้านนอกเป็นพิกเซล

การขยายความ
กำหนดความหนาของเส้นขอบด้านใน (เช่น จำนวนพิกเซลระหว่างเฟรม) สำหรับข้อมูลเพิ่มเติม
ตัวเลือกการเติมขั้นสูง (เช่น การมีค่าขอบต่างกัน) โปรดดูที่
แผ่นกรองวิดีโอ

สี
ระบุสีของพื้นที่ที่ไม่ได้ใช้ สำหรับไวยากรณ์ของตัวเลือกนี้ ให้เลือก "สี"
ส่วนในคู่มือ ffmpeg-utils ค่าเริ่มต้นของ สี คือ "ดำ"

ตัวอย่าง

· สร้างไทล์ PNG 8x8 ของคีย์เฟรมทั้งหมด (-ข้าม_เฟรม ไม่เป็นไร) ในภาพยนตร์:

ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 คีย์เฟรม%03d.png

พื้นที่ -vsync 0 เป็นสิ่งจำเป็นในการป้องกัน ffmpeg จากการทำซ้ำแต่ละเฟรมเอาต์พุตถึง
รองรับอัตราเฟรมที่ตรวจพบในตอนแรก

· แสดงรูปภาพ 5 ภาพในพื้นที่เฟรม "3x2" โดยอยู่ระหว่าง 7 พิกเซล และ 2
พิกเซลของระยะขอบเริ่มต้น โดยใช้ตัวเลือกแบบแบนและแบบมีชื่อแบบผสม:

tile=3x2:nb_frames=5:padding=7:margin=2

ย้อมสี
ทำการอินเทอร์เลซฟิลด์ชั่วคราวประเภทต่างๆ

เฟรมจะถูกนับโดยเริ่มจาก 1 ดังนั้นเฟรมอินพุตแรกจึงถือเป็นเลขคี่

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

โหมด
ระบุโหมดของการอินเทอร์เลซ อ็อพชันนี้ยังสามารถระบุเป็นค่าได้
ตามลำพัง. ดูรายการค่าสำหรับตัวเลือกนี้ด้านล่าง

ค่าที่ใช้ได้คือ:

ผสาน, 0
ย้ายเฟรมคี่ไปที่ฟิลด์บน แม้แต่ในฟิลด์ล่าง สร้าง a
เฟรมความสูงสองเท่าที่อัตราครึ่งเฟรม

------> เวลา
Input:
กรอบ 1 กรอบ 2 กรอบ 3 กรอบ 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Output:
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444

drop_odd, 1
เฉพาะเอาต์พุตเฟรมคู่, เฟรมคี่จะลดลง, สร้างเฟรมที่ไม่มีการเปลี่ยนแปลง
ความสูงที่อัตราครึ่งเฟรม

------> เวลา
Input:
กรอบ 1 กรอบ 2 กรอบ 3 กรอบ 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Output:
22222 44444
22222 44444
22222 44444
22222 44444

drop_even, 2
เอาต์พุตเฟรมคี่เท่านั้น เฟรมแม้จะถูกดร็อป สร้างเฟรมที่ไม่เปลี่ยนแปลง
ความสูงที่อัตราครึ่งเฟรม

------> เวลา
Input:
กรอบ 1 กรอบ 2 กรอบ 3 กรอบ 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Output:
11111 33333
11111 33333
11111 33333
11111 33333

แผ่น 3
ขยายแต่ละเฟรมให้เต็มความสูง แต่เติมเส้นสลับกันด้วยสีดำ ทำให้เกิด
เฟรมที่มีความสูงสองเท่าที่อัตราเฟรมอินพุตเดียวกัน

------> เวลา
Input:
กรอบ 1 กรอบ 2 กรอบ 3 กรอบ 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Output:
11111 ..... 33333 .....
.....22222.....44444
11111 ..... 33333 .....
.....22222.....44444
11111 ..... 33333 .....
.....22222.....44444
11111 ..... 33333 .....
.....22222.....44444

แทรกแซง_top, 4
แทรกฟิลด์บนจากเฟรมคี่กับฟิลด์ล่างจากเฟรมคู่
สร้างเฟรมที่มีความสูงไม่เปลี่ยนแปลงที่อัตราครึ่งเฟรม

------> เวลา
Input:
กรอบ 1 กรอบ 2 กรอบ 3 กรอบ 4

11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-

Output:
11111 33333
22222 44444
11111 33333
22222 44444

interleave_bottom, 5
แทรกระหว่างฟิลด์ล่างจากเฟรมคี่กับฟิลด์บนจากเฟรมคู่
สร้างเฟรมที่มีความสูงไม่เปลี่ยนแปลงที่อัตราครึ่งเฟรม

------> เวลา
Input:
กรอบ 1 กรอบ 2 กรอบ 3 กรอบ 4

11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444

Output:
22222 44444
11111 33333
22222 44444
11111 33333

อินเตอร์เลซ2, 6
อัตราเฟรมสองเท่ากับความสูงไม่เปลี่ยนแปลง ใส่กรอบแต่ละอันที่มี
ฟิลด์ชั่วคราวที่สองจากเฟรมอินพุตก่อนหน้าและฟิลด์ชั่วคราวแรก
จากเฟรมอินพุตถัดไป โหมดนี้ใช้แฟล็ก top_field_first มีประโยชน์
สำหรับการแสดงวิดีโอแบบอินเทอร์เลซโดยไม่มีการซิงโครไนซ์ฟิลด์

------> เวลา
Input:
กรอบ 1 กรอบ 2 กรอบ 3 กรอบ 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Output:
11111 22222 22222 33333 33333 44444 44444
11111 11111 22222 22222 33333 33333 44444
11111 22222 22222 33333 33333 44444 44444
11111 11111 22222 22222 33333 33333 44444

ค่าตัวเลขเลิกใช้แล้ว แต่ยอมรับได้ด้วยเหตุผลด้านความเข้ากันได้แบบย้อนหลัง

โหมดเริ่มต้นคือ "ผสาน"

ธง
ระบุแฟล็กที่มีอิทธิพลต่อกระบวนการกรอง

มูลค่าที่มีอยู่สำหรับ ธง คือ:

กรองผ่านต่ำ, วีแอลเอฟพี
เปิดใช้งานการกรองความถี่ต่ำผ่านแนวตั้งในตัวกรอง การกรองความถี่ต่ำผ่านแนวตั้งคือ
จำเป็นเมื่อสร้างปลายทางแบบอินเทอร์เลซจากแหล่งโปรเกรสซีฟซึ่ง
มีรายละเอียดแนวตั้งที่มีความถี่สูง การกรองจะลด 'twitter' ของอินเทอร์เลซ
และลายมัวร์

สามารถเปิดใช้งานการกรองความถี่ต่ำผ่านแนวตั้งได้สำหรับ .เท่านั้น โหมด แทรกแซง_top และ
interleave_bottom.

ไขว้
สลับแถวที่มีคอลัมน์ในวิดีโออินพุตแล้วเลือกพลิก

ยอมรับพารามิเตอร์ต่อไปนี้:

dir ระบุทิศทางการย้าย

สามารถสมมติค่าต่อไปนี้:

0, 4, clock_flip
หมุน 90 องศาทวนเข็มนาฬิกาและพลิกแนวตั้ง (ค่าเริ่มต้น) นั่นคือ:

LR Ll
. . -> . .
lr Rr

1, 5, นาฬิกา
หมุนตามเข็มนาฬิกา 90 องศา นั่นคือ:

LR lL
. . -> . .
lr rR

2, 6, นาฬิกา
หมุนทวนเข็มนาฬิกา 90 องศา นั่นคือ:

LR Rr
. . -> . .
lr ll

3, 7, นาฬิกา_พลิก
หมุน 90 องศาตามเข็มนาฬิกาและพลิกแนวตั้ง นั่นคือ:

LR rR
. . -> . .
lr lL

สำหรับค่าระหว่าง 4-7 การย้ายระดับเสียงจะทำได้ก็ต่อเมื่อเรขาคณิตของวิดีโออินพุตคือ
แนวตั้งและไม่ใช่แนวนอน ค่าเหล่านี้เลิกใช้แล้ว ตัวเลือก "ส่งผ่าน"
ควรใช้แทน

ค่าตัวเลขเลิกใช้แล้ว และควรทิ้งให้มีค่าคงที่เชิงสัญลักษณ์แทน

ทะลุผ่าน
อย่าใช้การย้ายตำแหน่งถ้าเรขาคณิตอินพุตตรงกับที่ระบุโดย
ค่าที่ระบุ ยอมรับค่าต่อไปนี้:

ไม่มี
ใช้ขนย้ายเสมอ

ภาพเหมือน
รักษาเรขาคณิตแนวตั้ง (เมื่อ ความสูง >= ความกว้าง).

ภูมิประเทศ
รักษาเรขาคณิตแนวนอนไว้ (เมื่อ ความกว้าง >= ความสูง).

ค่าเริ่มต้นคือ "ไม่มี"

ตัวอย่างเช่น การหมุนตามเข็มนาฬิกา 90 องศาและรักษาเลย์เอาต์แนวตั้ง:

transpose=dir=1:ทางผ่าน=แนวตั้ง

คำสั่งข้างต้นสามารถระบุได้ดังนี้:

ทรานสโพส=1:ภาพบุคคล

ตัดแต่ง
ตัดอินพุตเพื่อให้เอาต์พุตมีส่วนย่อยต่อเนื่องของอินพุตหนึ่งส่วน

ยอมรับพารามิเตอร์ต่อไปนี้:

เริ่มต้น
ระบุเวลาที่เริ่มต้นของส่วนที่เก็บไว้ เช่น เฟรมที่มีการประทับเวลา
เริ่มต้น จะเป็นเฟรมแรกในเอาต์พุต

ปลาย ระบุเวลาเฟรมแรกที่จะดรอปคือเฟรมทันที
นำหน้าด้วยการประทับเวลา ปลาย จะเป็นเฟรมสุดท้ายในเอาต์พุต

start_pts
นี่ก็เหมือนกับ เริ่มต้นยกเว้นตัวเลือกนี้จะตั้งค่าการประทับเวลาเริ่มต้นใน timebase
หน่วยแทนที่จะเป็นวินาที

end_pts
นี่ก็เหมือนกับ ปลายยกเว้นตัวเลือกนี้จะตั้งค่าการประทับเวลาสิ้นสุดในหน่วยฐานเวลา
แทนที่จะเป็นวินาที

ระยะเวลา
ระยะเวลาสูงสุดของเอาต์พุตเป็นวินาที

start_frame
จำนวนของเฟรมแรกที่ควรส่งผ่านไปยังเอาต์พุต

end_frame
จำนวนเฟรมแรกที่ควรดรอป

เริ่มต้น, ปลายและ ระยะเวลา แสดงเป็นข้อกำหนดระยะเวลา ดู เวลา
ระยะเวลา ส่วน in ffmpeg-ยูทิลิตี้(1) คู่มือ สำหรับไวยากรณ์ที่ยอมรับ

โปรดทราบว่าสองชุดแรกของตัวเลือกเริ่มต้น/สิ้นสุดและ ระยะเวลา ตัวเลือกดูที่
การประทับเวลาของเฟรม ในขณะที่ตัวแปร _frame จะนับเฟรมที่ผ่าน
กรอง. โปรดทราบว่าตัวกรองนี้จะไม่แก้ไขการประทับเวลา หากคุณต้องการ
ประทับเวลาเอาท์พุตเพื่อเริ่มต้นที่ศูนย์ ใส่ฟิลเตอร์เซ็ตพ์หลังฟิลเตอร์ทริม

หากตั้งค่าตัวเลือกเริ่มต้นหรือสิ้นสุดหลายรายการ ตัวกรองนี้จะพยายามโลภและเก็บ . ไว้ทั้งหมด
เฟรมที่ตรงกับข้อจำกัดที่ระบุอย่างน้อยหนึ่งข้อ ให้เก็บเฉพาะส่วนที่
จับคู่ข้อ จำกัด ทั้งหมดพร้อมกัน เชื่อมโยงตัวกรองการตัดแต่งหลายตัว

ค่าดีฟอลต์เป็นเช่นนั้นอินพุตทั้งหมดจะถูกเก็บไว้ ดังนั้นจึงเป็นไปได้ที่จะตั้งค่าเช่นเพียงแค่
ค่าสิ้นสุดเพื่อให้ทุกอย่างก่อนเวลาที่กำหนด

ตัวอย่าง:

· ดรอปทุกอย่างยกเว้นนาทีที่สองของอินพุต:

ffmpeg -i อินพุต -vf trim=60:120

· เก็บเฉพาะวินาทีแรก:

ffmpeg -i อินพุต -vf การตัดแต่ง=ระยะเวลา=1

ไม่ชัด
ทำให้วิดีโออินพุตคมชัดขึ้นหรือเบลอ

ยอมรับพารามิเตอร์ต่อไปนี้:

luma_msize_x, lx
กำหนดขนาดแนวนอนของเมทริกซ์ลูมา ต้องเป็นจำนวนเต็มคี่ระหว่าง 3 ถึง 63
ค่าเริ่มต้นคือ 5

luma_msize_y, ly
กำหนดขนาดแนวตั้งของเมทริกซ์ลูมา ต้องเป็นจำนวนเต็มคี่ระหว่าง 3 ถึง 63
ค่าเริ่มต้นคือ 5

luma_จำนวน, la
ตั้งค่าความแรงของเอฟเฟกต์ luma ต้องเป็นเลขทศนิยม ค่าที่สมเหตุสมผล
อยู่ระหว่าง -1.5 ถึง 1.5

ค่าลบจะทำให้วิดีโออินพุตเบลอ ในขณะที่ค่าบวกจะทำให้วิดีโอคมชัดขึ้น a
ค่าศูนย์จะปิดการใช้งานเอฟเฟกต์

ค่าเริ่มต้นคือ 1.0

โครมา_msize_x, cx
กำหนดขนาดสีแนวนอนของเมทริกซ์ ต้องเป็นจำนวนเต็มคี่ระหว่าง 3 ถึง 63
ค่าเริ่มต้นคือ 5

โครมา_msize_y, cy
กำหนดขนาดแนวตั้งของโครมาเมทริกซ์ ต้องเป็นจำนวนเต็มคี่ระหว่าง 3 ถึง 63
ค่าเริ่มต้นคือ 5

โครมา_จำนวน, ca
ตั้งค่าความแรงของเอฟเฟกต์สี ต้องเป็นเลขทศนิยม ค่าที่สมเหตุสมผล
อยู่ระหว่าง -1.5 ถึง 1.5

ค่าลบจะทำให้วิดีโออินพุตเบลอ ในขณะที่ค่าบวกจะทำให้วิดีโอคมชัดขึ้น a
ค่าศูนย์จะปิดการใช้งานเอฟเฟกต์

ค่าเริ่มต้นคือ 0.0

โอเพนซีแอล
หากตั้งค่าเป็น 1 ให้ระบุโดยใช้ความสามารถของ OpenCL ใช้ได้เฉพาะเมื่อ FFmpeg เป็น
กำหนดค่าด้วย "--enable-opencl" ค่าเริ่มต้นคือ 0

พารามิเตอร์ทั้งหมดเป็นทางเลือกและค่าเริ่มต้นจะเทียบเท่ากับสตริง '5:5:1.0:5:5:0.0'

ตัวอย่าง

· ใช้เอฟเฟกต์ความคมชัดของลูมาที่แข็งแกร่ง:

unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5

· ใช้การเบลอที่ชัดเจนของทั้งพารามิเตอร์ luma และ chroma:

unsharp=7:7:-2:7:7:-2

ยูเอสพี
ใช้ตัวกรองหลังการประมวลผลที่ช้า/ง่ายเป็นพิเศษที่บีบอัดและขยายขนาดรูปภาพ
ที่หลาย ๆ (หรือ - ในกรณีของ คุณภาพ ระดับ 8 - ทั้งหมด) กะและเฉลี่ยผลลัพธ์

วิธีที่แตกต่างจากพฤติกรรมของ spp คือ uspp เข้ารหัสและถอดรหัสแต่ละอัน
กรณีที่มี libavcodec Snow ในขณะที่ spp ใช้ intra แบบง่ายเพียง 8x8 DCT ที่คล้ายกับ
เอ็มเจพีจี

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

คุณภาพ
กำหนดคุณภาพ ตัวเลือกนี้กำหนดจำนวนระดับสำหรับการหาค่าเฉลี่ย มันยอมรับและ
จำนวนเต็มในช่วง 0-8 หากตั้งค่าเป็น 0 ตัวกรองจะไม่มีผลใดๆ ค่า8
หมายถึงคุณภาพที่สูงขึ้น สำหรับการเพิ่มขึ้นของค่านั้นแต่ละครั้ง ความเร็วจะลดลงหนึ่งปัจจัย
ประมาณ 2 ค่าเริ่มต้นคือ 3

qp บังคับพารามิเตอร์การหาปริมาณคงที่ หากไม่ได้ตั้งค่า ตัวกรองจะใช้ QP จาก
สตรีมวิดีโอ (ถ้ามี)

Vectorscope
แสดงค่าองค์ประกอบสี 2 ค่าในกราฟสองมิติ (ซึ่งเรียกว่า a
เวคเตอร์สโคป)

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้:

โหมด, m
ตั้งค่าโหมดเวคเตอร์สโคป

ยอมรับค่าต่อไปนี้:

สีเทา
ค่าสีเทาจะแสดงบนกราฟ ความสว่างที่สูงขึ้นหมายถึงจำนวนพิกเซลที่เท่ากัน
ค่าสีของส่วนประกอบในตำแหน่งในกราฟ นี่คือโหมดเริ่มต้น

สี
ค่าสีเทาจะแสดงบนกราฟ ค่าพิกเซลโดยรอบที่ไม่ใช่
นำเสนอในเฟรมวิดีโอถูกวาดด้วยการไล่ระดับสีขององค์ประกอบ 2 สีซึ่งตั้งค่าไว้
โดยตัวเลือก "x" และ "y"

color2
ค่าองค์ประกอบสีจริงที่มีอยู่ในเฟรมวิดีโอจะแสดงบนกราฟ

color3
คล้ายกับ color2 แต่ความถี่สูงกว่าค่าเดียวกัน "x" และ "y" บนกราฟ
เพิ่มค่าขององค์ประกอบสีอื่น ซึ่งเป็นค่าความส่องสว่างตามค่าเริ่มต้น
ของ "x" และ "y"

color4
สีจริงที่มีอยู่ในเฟรมวิดีโอจะแสดงบนกราฟ ถ้าสองแตกต่างกัน
แมปสีไปยังตำแหน่งเดียวกันบนกราฟ จากนั้นให้สีที่มีค่าส่วนประกอบสูงกว่าไม่ใช่
ที่มีอยู่ในกราฟจะถูกเลือก

x กำหนดองค์ประกอบสีที่จะแสดงบนแกน X ค่าเริ่มต้นคือ 1

y กำหนดองค์ประกอบสีที่จะแสดงบนแกน Y ค่าเริ่มต้นคือ 2

ความเข้ม i
ตั้งค่าความเข้ม ใช้โดยโหมด: สีเทา สี และสี3 เพื่อเพิ่มความสว่างของ
องค์ประกอบสีซึ่งแสดงถึงความถี่ของตำแหน่ง (X, Y) ในกราฟ

ซองจดหมาย, e
ไม่มี
ไม่มีซองจดหมาย นี่เป็นค่าเริ่มต้น

ด่วน
ซองจดหมายทันที แม้แต่พิกเซลเดียวที่มืดที่สุดจะถูกเน้นอย่างชัดเจน

ยอด
เก็บค่าสูงสุดและต่ำสุดที่แสดงเป็นกราฟเมื่อเวลาผ่านไป ด้วยวิธีนี้คุณสามารถ
ยังคงมองเห็นค่านอกช่วงโดยไม่ต้องดูเวคเตอร์สโคปตลอดเวลา

พีค+ทันที
จุดสูงสุดและซองจดหมายทันทีรวมกัน

vidstabdetect
วิเคราะห์การสั่นไหวของวิดีโอ/การขจัดภาพสั่นไหว ดำเนินการผ่าน 1 จาก 2 ดู vidstabแปลง สำหรับผ่าน
2.

ตัวกรองนี้สร้างไฟล์ที่มีข้อมูลการแปลและการแปลงการหมุนที่เกี่ยวข้อง
เกี่ยวกับเฟรมที่ตามมาซึ่งใช้โดย vidstabแปลง กรอง.

ในการเปิดใช้งานการรวบรวมตัวกรองนี้ คุณต้องกำหนดค่า FFmpeg ด้วย
"--เปิดใช้งาน-libvidstab"

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้:

ผล
กำหนดเส้นทางไปยังไฟล์ที่ใช้เขียนข้อมูลการแปลง ค่าเริ่มต้นคือ
แปลง.trf.

ความสั่นคลอน
กำหนดความสั่นของวิดีโอและความเร็วของกล้อง ยอมรับจำนวนเต็มใน
ช่วง 1-10 ค่า 1 หมายถึงความสั่นสะเทือนน้อย ค่า 10 หมายถึงความสั่นสะเทือนรุนแรง
ค่าเริ่มต้นคือ 5

ความถูกต้อง
ตั้งค่าความแม่นยำของกระบวนการตรวจจับ ต้องเป็นค่าในช่วง 1-15 อา
ค่า 1 หมายถึงความแม่นยำต่ำ ค่า 15 หมายถึงความแม่นยำสูง ค่าเริ่มต้นคือ 15

ขนาดก้าว
กำหนดขนาดขั้นของกระบวนการค้นหา ขอบเขตรอบขั้นต่ำถูกสแกนด้วย 1 พิกเซล
ปณิธาน. ค่าเริ่มต้นคือ 6

ความคมชัด
ตั้งค่าคอนทราสต์ขั้นต่ำ ด้านล่างค่านี้ ฟิลด์การวัดในพื้นที่จะถูกยกเลิก ต้องเป็น
ค่าทศนิยมในช่วง 0-1 ค่าเริ่มต้นคือ 0.3

ขาตั้ง
ตั้งค่าหมายเลขกรอบอ้างอิงสำหรับโหมดขาตั้งกล้อง

หากเปิดใช้งาน การเคลื่อนไหวของเฟรมจะถูกเปรียบเทียบกับหน้าต่างอ้างอิงในตัวกรอง
สตรีม ระบุด้วยหมายเลขที่ระบุ แนวคิดคือการชดเชยทุกการเคลื่อนไหวใน
ฉากนิ่งไม่มากก็น้อยและทำให้มุมมองของกล้องนิ่งสนิท

หากตั้งค่าเป็น 0 จะปิดใช้งาน เฟรมจะเริ่มนับตั้งแต่ 1

โชว์
แสดงฟิลด์และแปลงในเฟรมผลลัพธ์ ยอมรับจำนวนเต็มในช่วง
0-2. ค่าเริ่มต้นคือ 0 ซึ่งปิดใช้งานการแสดงภาพใดๆ

ตัวอย่าง

· ใช้ค่าเริ่มต้น:

vidstabdetect

·วิเคราะห์ภาพยนตร์ที่สั่นคลอนอย่างมากและใส่ผลลัพธ์ลงในไฟล์ mytransforms.trf:

vidstabdetect=shakiness=10:accuracy=15:result="mytransforms.trf"

· เห็นภาพผลลัพธ์ของการเปลี่ยนแปลงภายในในวิดีโอที่ได้:

vidstabdetect=แสดง=1

·วิเคราะห์วิดีโอที่มีความสั่นไหวปานกลางโดยใช้ ffmpeg:

ffmpeg -i อินพุต -vf vidstabdetect=shakiness=5:show=1 dummy.avi

vidstabแปลง
การป้องกันภาพสั่นไหว/การสั่นไหวของวิดีโอ: ผ่าน 2 จาก 2 ดู vidstabdetect สำหรับผ่าน 1

อ่านไฟล์ที่มีข้อมูลการแปลงสำหรับแต่ละเฟรมและนำไปใช้/ชดเชย ด้วยกัน
กับ vidstabdetect ตัวกรองนี้สามารถใช้เพื่อแยกวิดีโอออก ดูสิ่งนี้ด้วย
<http://public.hronopik.de/vid.stab>. สิ่งสำคัญคือต้องใช้ ไม่ชัด กรองดู
ด้านล่าง

ในการเปิดใช้งานการรวบรวมตัวกรองนี้ คุณต้องกำหนดค่า FFmpeg ด้วย
"--เปิดใช้งาน-libvidstab"

Options

อินพุต
กำหนดเส้นทางไปยังไฟล์ที่ใช้ในการอ่านการแปลง ค่าเริ่มต้นคือ แปลง.trf.

การขจัดอุปสรรค
กำหนดจำนวนเฟรม (ค่า*2 + 1) ที่ใช้สำหรับการกรองความถี่ต่ำของกล้อง
การเคลื่อนไหว ค่าเริ่มต้นคือ 10

ตัวอย่างเช่น จำนวน 10 หมายความว่ามีการใช้ 21 เฟรม (10 ในอดีตและ 10 ใน
ในอนาคต) เพื่อทำให้การเคลื่อนไหวในวิดีโอราบรื่นขึ้น ค่าที่มากขึ้นนำไปสู่วิดีโอที่ราบรื่นยิ่งขึ้น
แต่จำกัดความเร่งของกล้อง (การแพน/เอียง) 0 เป็นกรณีพิเศษ
ที่ซึ่งกล้องถ่ายภาพนิ่งถูกจำลอง

ออปตัลโก
ตั้งค่าอัลกอริธึมการปรับเส้นทางกล้องให้เหมาะสม

ค่าที่ยอมรับคือ:

เกาส์
เกาส์เซียนเคอร์เนลโลว์พาสฟิลเตอร์ในการเคลื่อนไหวของกล้อง (ค่าเริ่มต้น)

เฉลี่ย ค่าเฉลี่ยของการเปลี่ยนแปลง

แม็กซ์ชิฟต์
ตั้งค่าจำนวนพิกเซลสูงสุดเพื่อแปลเฟรม ค่าเริ่มต้นคือ -1 หมายถึง no
ขีด จำกัด

แม็กซ์แองเกิล
ตั้งค่ามุมสูงสุดเป็นเรเดียน (องศา*PI/180) เพื่อหมุนเฟรม ค่าเริ่มต้นคือ -1,
ความหมายไม่มีขีดจำกัด

พืชผล
ระบุวิธีจัดการกับเส้นขอบที่อาจมองเห็นได้เนื่องจากการชดเชยการเคลื่อนไหว

ค่าที่ใช้ได้คือ:

เก็บ
เก็บข้อมูลรูปภาพจากเฟรมก่อนหน้า (ค่าเริ่มต้น)

สีดำ
เติมขอบสีดำ

กลับหัวกลับหาง
กลับด้านการแปลงหากตั้งค่าเป็น 1 ค่าเริ่มต้นคือ 0

ญาติ
พิจารณาการแปลงที่สัมพันธ์กับเฟรมก่อนหน้าหากตั้งค่าเป็น 1 แบบสัมบูรณ์หากตั้งค่าเป็น 0
ค่าเริ่มต้นคือ 0

ซูมเข้า
ตั้งค่าเปอร์เซ็นต์เพื่อซูม ค่าบวกจะส่งผลให้เอฟเฟกต์การซูมเข้า เป็นค่าลบ
ค่าในเอฟเฟกต์การซูมออก ค่าเริ่มต้นคือ 0 (ไม่มีการซูม)

ออปซูม
ตั้งค่าการซูมที่เหมาะสมที่สุดเพื่อหลีกเลี่ยงเส้นขอบ

ค่าที่ยอมรับคือ:

0 พิการ

1 ค่าการซูมคงที่ที่เหมาะสมที่สุดจะถูกกำหนด (เฉพาะการเคลื่อนไหวที่รุนแรงมากเท่านั้นที่จะนำไปสู่
เส้นขอบที่มองเห็นได้) (ค่าเริ่มต้น)

2 กำหนดค่าการซูมแบบปรับได้ที่เหมาะสมที่สุดแล้ว (จะไม่เห็นเส้นขอบ) ดู
ซูมสปีด

โปรดทราบว่าค่าที่กำหนดเมื่อซูมจะเพิ่มเข้าไปในค่าที่คำนวณได้ที่นี่

ซูมสปีด
ตั้งค่าเปอร์เซ็นต์เพื่อซูมสูงสุดในแต่ละเฟรม (เปิดใช้งานเมื่อ ออปซูม ถูกตั้งค่าเป็น 2) ช่วงคือ
จาก 0 ถึง 5 ค่าเริ่มต้นคือ 0.25

อินเตอร์โพล
ระบุประเภทของการแก้ไข

ค่าที่ใช้ได้คือ:

ไม่ ไม่มีการแก้ไข

เชิงเส้น
เชิงเส้นเท่านั้นแนวนอน

ทวิ
เชิงเส้นทั้งสองทิศทาง (ค่าเริ่มต้น)

บิคิวบิก
ลูกบาศก์ทั้งสองทิศทาง (ช้า)

ขาตั้ง
เปิดใช้งานโหมดขาตั้งกล้องเสมือนหากตั้งค่าเป็น 1 ซึ่งเทียบเท่ากับ
"ญาติ=0:เรียบ=0". ค่าเริ่มต้นคือ 0

ใช้ตัวเลือก "ขาตั้งกล้อง" ด้วย vidstabdetect.

การแก้ปัญหา
เพิ่มการใช้คำฟุ่มเฟือยบันทึกถ้าตั้งค่าเป็น 1 นอกจากนี้การเคลื่อนไหวทั่วโลกที่ตรวจพบจะถูกเขียนไปที่
ไฟล์ชั่วคราว global_motions.trf. ค่าเริ่มต้นคือ 0

ตัวอย่าง

· ใช้ ffmpeg สำหรับการรักษาเสถียรภาพทั่วไปด้วยค่าเริ่มต้น:

ffmpeg -i inp.mpeg -vf vidstabtransform, ไม่ชัดเจน=5:5:0.8:3:3:0.4 inp_stabilized.mpeg

สังเกตการใช้ ไม่ชัด ตัวกรองที่แนะนำเสมอ

· ซูมเข้าไปอีกเล็กน้อยและโหลดข้อมูลการแปลงจากไฟล์ที่กำหนด:

vidstabtransform=zoom=5:input="mytransforms.trf"

·ทำให้วิดีโอราบรื่นยิ่งขึ้น:

vidstabtransform=เรียบ=30

วีฟลิป
พลิกวิดีโออินพุตในแนวตั้ง

เช่น การพลิกวิดีโอในแนวตั้งด้วย ffmpeg:

ffmpeg -i in.avi -vf "vflip" out.avi

บทความสั้น
สร้างหรือย้อนกลับเอฟเฟกต์ขอบมืดตามธรรมชาติ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

มุม, a
ตั้งค่าการแสดงออกของมุมเลนส์เป็นจำนวนเรเดียน

ค่าถูกตัดในช่วง "[0,PI/2]"

ค่าเริ่มต้น: "PI/5"

x0
y0 ตั้งค่านิพจน์พิกัดศูนย์ ตามลำดับ "w/2" และ "h/2" โดยค่าเริ่มต้น

โหมด
ตั้งค่าโหมดเดินหน้า/ถอยหลัง

โหมดที่ใช้ได้คือ:

ข้างหน้า
ยิ่งระยะห่างจากจุดศูนย์กลางมากเท่าใด ภาพก็จะยิ่งมืดลงเท่านั้น

ย้อนกลับ
ยิ่งระยะห่างจากจุดศูนย์กลางมากเท่าใด ภาพก็จะยิ่งสว่างขึ้นเท่านั้น
สามารถใช้เพื่อย้อนกลับเอฟเฟกต์ขอบมืด แม้ว่าจะไม่มีอัตโนมัติก็ตาม
การตรวจจับเพื่อแยกเลนส์ มุม และการตั้งค่าอื่นๆ (ยัง) ใช้ได้เช่นกันค่ะ
เพื่อสร้างเอฟเฟกต์การเผาไหม้

ค่าเริ่มต้นคือ ข้างหน้า.

ประเมิน
ตั้งค่าโหมดการประเมินสำหรับนิพจน์ (มุม, x0, y0).

ยอมรับค่าต่อไปนี้:

init
ประเมินนิพจน์เพียงครั้งเดียวระหว่างการเริ่มต้นตัวกรอง

กรอบ
ประเมินนิพจน์สำหรับแต่ละเฟรมที่เข้ามา มันช้ากว่า init
โหมดเนื่องจากต้องมีการคำนวณสเกลทั้งหมดใหม่ แต่อนุญาตขั้นสูง
การแสดงออกแบบไดนามิก

ค่าเริ่มต้นคือ init.

สองจิตสองใจ
ตั้งค่า Dithering เพื่อลดเอฟเฟกต์แถบวงกลม ค่าเริ่มต้นคือ 1 (เปิดใช้งาน)

แง่มุม
กำหนดลักษณะขอบมืด การตั้งค่านี้ช่วยให้สามารถปรับรูปร่างของขอบมืดได้
การตั้งค่านี้เป็น SAR ของอินพุตจะทำให้มีขอบมืดเป็นสี่เหลี่ยม
ตามขนาดของวิดีโอ

ค่าเริ่มต้นคือ "1/1"

การแสดงออก

พื้นที่ แอลฟา, x0 และ y0 นิพจน์สามารถมีพารามิเตอร์ต่อไปนี้

w
h ความกว้างและความสูงของอินพุต

n จำนวนเฟรมอินพุตเริ่มต้นจาก0

พีทีเอส เวลา PTS (Presentation TimeStamp) ของเฟรมวิดีโอที่กรอง แสดงใน TB
หน่วย NAN ถ้าไม่ได้กำหนด

r อัตราเฟรมของวิดีโออินพุต NAN หากไม่ทราบอัตราเฟรมอินพุต

t PTS (Presentation TimeStamp) ของเฟรมวิดีโอที่กรองแล้ว แสดงเป็นวินาที
NAN ถ้าไม่ได้กำหนด

tb ฐานเวลาของวิดีโออินพุต

ตัวอย่าง

· ใช้เอฟเฟกต์ขอบมืดที่แข็งแกร่งอย่างง่าย:

บทความสั้น=PI/4

· สร้างขอบมืดริบหรี่:

บทความสั้น='PI/4+สุ่ม(1)*PI/50':eval=frame

เทียบกับสแต็ค
ซ้อนวิดีโออินพุตในแนวตั้ง

สตรีมทั้งหมดต้องมีรูปแบบพิกเซลและความกว้างเท่ากัน

โปรดทราบว่าตัวกรองนี้เร็วกว่าการใช้ วางซ้อน และ เบาะ กรองเพื่อสร้างผลลัพธ์เดียวกัน

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

nb_inputs
กำหนดจำนวนอินพุตสตรีม ค่าเริ่มต้นคือ 2

w3fdif
Deinterlace วิดีโออินพุต ("w3fdif" ย่อมาจาก "Weston 3 Field Deinterlacing Filter")

ตามกระบวนการที่อธิบายไว้โดย Martin Weston สำหรับ BBC R&D และดำเนินการตาม
อัลกอริธึม de-interlace เขียนโดย Jim Easterbrook สำหรับ BBC R&D, the Weston 3 field
ตัวกรอง deinterlacing ใช้ค่าสัมประสิทธิ์ตัวกรองที่คำนวณโดย BBC R&D

ค่าสัมประสิทธิ์การกรองมีสองชุด เรียกว่า "แบบง่าย": และ "ซับซ้อน" ชุดไหนของ
ค่าสัมประสิทธิ์การกรองสามารถตั้งค่าได้โดยผ่านพารามิเตอร์ทางเลือก:

กรอง
ตั้งค่าสัมประสิทธิ์ตัวกรองอินเทอร์เลซ ยอมรับค่าใดค่าหนึ่งต่อไปนี้:

ง่าย
ชุดค่าสัมประสิทธิ์ตัวกรองอย่างง่าย

ซับซ้อน
ชุดค่าสัมประสิทธิ์ตัวกรองที่ซับซ้อนมากขึ้น

ค่าเริ่มต้นคือ ซับซ้อน.

เจตนา
ระบุเฟรมที่จะดีอินเทอร์เลซ ยอมรับค่าใดค่าหนึ่งต่อไปนี้:

ทั้งหมด Deinterlace ทุกเฟรม

สอดประสาน
เฉพาะเฟรมดีอินเทอร์เลซที่ทำเครื่องหมายว่าอินเทอร์เลซ

ค่าเริ่มต้นคือ ทั้งหมด.

รูปแบบของคลื่น
จอภาพรูปคลื่นวิดีโอ

จอภาพรูปคลื่นแสดงความเข้มขององค์ประกอบสี โดยค่าเริ่มต้นความสว่างเท่านั้น แต่ละ
คอลัมน์ของรูปคลื่นสอดคล้องกับคอลัมน์ของพิกเซลในวิดีโอต้นทาง

ยอมรับตัวเลือกต่อไปนี้:

โหมด, m
จะเป็น "แถว" หรือ "คอลัมน์" ก็ได้ ค่าเริ่มต้นคือ "คอลัมน์" ในโหมดแถว กราฟบน
ด้านซ้ายแทนค่าส่วนประกอบสี 0 และด้านขวาแทนค่า =
255. ในโหมดคอลัมน์ ด้านบนแทนค่าส่วนประกอบสี = 0 และด้านล่าง
แสดงถึงมูลค่า = 255.

ความเข้ม i
ตั้งค่าความเข้ม ค่าที่น้อยกว่าจะมีประโยชน์ในการหาจำนวนค่าที่เท่ากัน
ความสว่างจะกระจายไปตามแถว/คอลัมน์อินพุต ค่าเริ่มต้นคือ 0.04 อนุญาต
ช่วงคือ [0, 1]

กระจกเงา, r
ตั้งค่าโหมดมิเรอร์ 0 หมายถึงไม่สะท้อน 1 หมายถึงมิเรอร์ ในโหมดมิเรอร์ สูงขึ้น
ค่าจะแสดงทางด้านซ้ายสำหรับโหมด "แถว" และที่ด้านบนสุดสำหรับ "คอลัมน์"
โหมด. ค่าเริ่มต้นคือ 1 (มิเรอร์)

แสดง, d
ตั้งค่าโหมดการแสดงผล ยอมรับค่าต่อไปนี้:

วางซ้อน
นำเสนอข้อมูลเหมือนกับใน "ขบวนพาเหรด" ยกเว้นว่ากราฟ
การแสดงองค์ประกอบสีจะซ้อนทับกันโดยตรง

โหมดการแสดงผลนี้ช่วยให้มองเห็นความแตกต่างหรือความคล้ายคลึงกันได้ง่ายขึ้นใน
พื้นที่ทับซ้อนกันขององค์ประกอบสีที่ควรจะเหมือนกัน เช่น
เป็นสีขาว เทา หรือดำที่เป็นกลาง

ขบวนแห่
แสดงกราฟแยกสำหรับส่วนประกอบสีแบบเคียงข้างกันในโหมด "แถว" หรือหนึ่ง
ด้านล่างอีกอันในโหมด "คอลัมน์"

การใช้โหมดการแสดงผลนี้ทำให้ง่ายต่อการระบุความเพี้ยนของสีในส่วนไฮไลท์และ
เงาของภาพ โดยการเปรียบเทียบเส้นขอบของกราฟด้านบนและด้านล่างของ
แต่ละรูปคลื่น เนื่องจากสีขาว สีเทา และสีดำมีความเท่าเทียมกัน
จำนวนสีแดง สีเขียว และสีน้ำเงิน พื้นที่กลางของรูปภาพควรแสดงเป็นสาม
รูปคลื่นที่มีความกว้าง/ความสูงเท่ากันโดยประมาณ หากไม่สามารถแก้ไขได้
โดยทำการปรับระดับคลื่นทั้งสาม

ค่าเริ่มต้นคือ "ขบวนพาเหรด"

ส่วนประกอบ c
กำหนดองค์ประกอบสีที่จะแสดง ค่าเริ่มต้นคือ 1 ซึ่งหมายถึงความสว่างหรือสีแดงเท่านั้น
องค์ประกอบสีหากอินพุตอยู่ในขอบเขตสี RGB หากตั้งค่าไว้เช่น 7 มันจะ
แสดงส่วนประกอบสีที่มีอยู่ทั้งหมด 3 (ถ้า)

ซองจดหมาย, e
ไม่มี
ไม่มีซองจดหมาย นี่เป็นค่าเริ่มต้น

ด่วน
ซองจดหมายทันทีค่าต่ำสุดและสูงสุดที่แสดงในกราฟจะทำได้อย่างง่ายดาย
มองเห็นได้แม้มีค่า "ขั้นตอน" เล็กน้อย

ยอด
เก็บค่าต่ำสุดและสูงสุดที่แสดงเป็นกราฟตลอดเวลา ด้วยวิธีนี้คุณสามารถ
ยังคงมองเห็นค่านอกช่วงโดยไม่ต้องดูที่รูปคลื่นตลอดเวลา

พีค+ทันที
จุดสูงสุดและซองจดหมายทันทีรวมกัน

กรอง, f
โลว์พาส
ไม่มีการกรอง นี่เป็นค่าเริ่มต้น

แบน
ลูมาและโครมารวมกัน

แบน
คล้ายคลึงกันด้านบน แต่แสดงความแตกต่างระหว่างสีน้ำเงินและสีแดง

ความเข้มของสี
แสดงเฉพาะโครมา

อโครมา
คล้ายคลึงกันด้านบน แต่แสดงความแตกต่างระหว่างสีน้ำเงินและสีแดง

สี
แสดงค่าสีจริงบนรูปคลื่น

xbr
ใช้ตัวกรองกำลังขยายคุณภาพสูง xBR ซึ่งออกแบบมาสำหรับภาพพิกเซล มัน
ปฏิบัติตามชุดกฎการตรวจจับขอบ ดู
<http://www.libretro.com/forums/viewtopic.php?f=6&t=134>.

ยอมรับตัวเลือกต่อไปนี้:

n ตั้งค่าขนาดมาตราส่วน: 2 สำหรับ "2xBR", 3 สำหรับ "3xBR" และ 4 สำหรับ "4xBR" ค่าเริ่มต้นคือ 3

ยาดิฟ
ดีอินเทอร์เลซวิดีโออินพุต ("ยาดิฟ" หมายถึง "ตัวกรองดีอินเทอร์เลซอีกอันหนึ่ง")

ยอมรับพารามิเตอร์ต่อไปนี้:

โหมด
โหมดอินเทอร์เลซที่จะนำมาใช้ ยอมรับค่าใดค่าหนึ่งต่อไปนี้:

0, send_frame
ส่งออกหนึ่งเฟรมสำหรับแต่ละเฟรม

1, send_field
ส่งออกหนึ่งเฟรมสำหรับแต่ละฟิลด์

2, send_frame_nospatial
เช่นเดียวกับ "send_frame" แต่ข้ามการตรวจสอบการอินเทอร์เลซเชิงพื้นที่

3, send_field_nospatial
เช่นเดียวกับ "send_field" แต่ข้ามการตรวจสอบการอินเทอร์เลซเชิงพื้นที่

ค่าเริ่มต้นคือ "send_frame"

ความเท่าเทียมกัน
ความเท่าเทียมกันของฟิลด์รูปภาพที่ใช้สำหรับวิดีโออินเทอร์เลซอินพุต ยอมรับหนึ่งใน
ค่าต่อไปนี้:

0, ทีเอฟ
สมมติว่าช่องบนสุดเป็นช่องแรก

1, BFF
สมมติว่าช่องด้านล่างเป็นช่องแรก

-1, รถยนต์
เปิดใช้งานการตรวจจับความเท่าเทียมกันของฟิลด์โดยอัตโนมัติ

ค่าเริ่มต้นคือ "อัตโนมัติ" หากไม่รู้จักการอินเทอร์เลซหรือตัวถอดรหัสไม่
ส่งออกข้อมูลนี้ ฟิลด์บนสุดก่อนจะถือว่า

เจตนา
ระบุเฟรมที่จะดีอินเทอร์เลซ ยอมรับค่าใดค่าหนึ่งต่อไปนี้:

0, ทั้งหมด
Deinterlace ทุกเฟรม

1, สอดประสาน
เฉพาะเฟรมดีอินเทอร์เลซที่ทำเครื่องหมายว่าอินเทอร์เลซ

ค่าเริ่มต้นคือ "ทั้งหมด"

ซูมแพน
ใช้เอฟเฟกต์ซูมและแพน

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้:

ซูม z
ตั้งค่านิพจน์การซูม ค่าเริ่มต้นคือ 1

x
y ตั้งค่านิพจน์ x และ y ค่าเริ่มต้นคือ 0

d ตั้งค่านิพจน์ระยะเวลาเป็นจำนวนเฟรม ชุดนี้กำหนดจำนวน
เอฟเฟกต์เฟรมจะคงอยู่สำหรับรูปภาพอินพุตเดียว

s ตั้งค่าขนาดภาพที่ส่งออก ค่าเริ่มต้นคือ 'hd720'

แต่ละนิพจน์สามารถมีค่าคงที่ต่อไปนี้:

ใน_w, iw
ความกว้างของอินพุต

ใน_h, ih
ความสูงของอินพุต

ออก_w, ow
ความกว้างของเอาต์พุต

ออก_h, oh
ความสูงของเอาต์พุต

in จำนวนเฟรมอินพุต

on จำนวนเฟรมเอาต์พุต

x
y ตำแหน่ง 'x' และ 'y' ที่คำนวณล่าสุดจากนิพจน์ 'x' และ 'y' สำหรับอินพุตปัจจุบัน
กรอบ

px
py 'x' และ 'y' ของเฟรมเอาต์พุตสุดท้ายของเฟรมอินพุตก่อนหน้าหรือ 0 เมื่อยังไม่มี
เฟรมดังกล่าว (เฟรมอินพุตแรก)

ซูมเข้า
การซูมที่คำนวณล่าสุดจากนิพจน์ 'z' สำหรับเฟรมอินพุตปัจจุบัน

ซูม
การซูมที่คำนวณล่าสุดของเฟรมเอาต์พุตสุดท้ายของเฟรมอินพุตก่อนหน้า

ระยะเวลา
จำนวนเฟรมเอาต์พุตสำหรับเฟรมอินพุตปัจจุบัน คำนวณจากนิพจน์ 'd' สำหรับ
แต่ละเฟรมอินพุต

หนอง
จำนวนเฟรมเอาต์พุตที่สร้างขึ้นสำหรับเฟรมอินพุตก่อนหน้า

a จำนวนตรรกยะ: ความกว้างอินพุต / ความสูงของอินพุต

sar อัตราส่วนตัวอย่าง

Dar แสดงอัตราส่วนภาพ

ตัวอย่าง

· ซูมเข้าสูงสุด 1.5 และเลื่อนไปยังจุดใกล้กึ่งกลางภาพพร้อมกัน:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360

· ซูมเข้าสูงสุด 1.5 และเลื่อนไปที่กึ่งกลางภาพเสมอ:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

VIDEO แหล่งที่มา


ด้านล่างนี้คือคำอธิบายของแหล่งวิดีโอที่มีอยู่ในปัจจุบัน

กันชน
บัฟเฟอร์เฟรมวิดีโอ และทำให้พร้อมใช้งานในห่วงโซ่ตัวกรอง

แหล่งที่มานี้มีไว้สำหรับการใช้งานแบบเป็นโปรแกรมเป็นหลัก โดยเฉพาะอย่างยิ่งผ่านอินเทอร์เฟซ
กำหนดไว้ใน libavfilter/vsrc_buffer.h.

ยอมรับพารามิเตอร์ต่อไปนี้:

วิดีโอ_ขนาด
ระบุขนาด (ความกว้างและความสูง) ของเฟรมวิดีโอที่บัฟเฟอร์ สำหรับไวยากรณ์ของ
ตัวเลือกนี้ตรวจสอบ "วิดีโอ ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ.

ความกว้าง
ความกว้างของวิดีโออินพุต

ความสูง
ความสูงของวิดีโออินพุต

pix_fmt
สตริงที่แสดงรูปแบบพิกเซลของเฟรมวิดีโอที่บัฟเฟอร์ อาจจะเป็นเ
ตัวเลขที่สอดคล้องกับรูปแบบพิกเซล หรือชื่อรูปแบบพิกเซล

เวลา_ฐาน
ระบุฐานเวลาตามการประทับเวลาของเฟรมที่บัฟเฟอร์

เฟรม_เรต
ระบุอัตราเฟรมที่คาดหวังสำหรับสตรีมวิดีโอ

พิกเซล_ขนาด, sar
อัตราส่วนตัวอย่าง (พิกเซล) ของวิดีโออินพุต

sws_param
ระบุพารามิเตอร์ทางเลือกที่จะใช้สำหรับตัวกรองมาตราส่วนซึ่งโดยอัตโนมัติ
แทรกเมื่อตรวจพบการเปลี่ยนแปลงอินพุตในขนาดหรือรูปแบบอินพุต

ตัวอย่างเช่น:

buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1

จะสั่งให้ต้นทางรับเฟรมวิดีโอขนาด 320x240 และรูปแบบ
"yuv410p" โดยถือว่า 1/24 เป็นฐานเวลาประทับเวลาและพิกเซลสี่เหลี่ยม (ตัวอย่าง 1:1
อัตราส่วน) เนื่องจากรูปแบบพิกเซลที่มีชื่อ "yuv410p" ตรงกับตัวเลข 6 (ตรวจสอบเครื่องหมาย
enum AVPixelFormat คำจำกัดความใน libavutil/pixfmt.h) ตัวอย่างนี้สอดคล้องกับ:

buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1

อีกวิธีหนึ่ง สามารถระบุตัวเลือกเป็นสตริงแบบแบนได้ แต่ไวยากรณ์นี้คือ
เลิกใช้แล้ว:

ความกว้าง:ความสูง:pix_fmt:time_base.num:time_base.den:pixel_spect.num:pixel_spect.den[:sws_param]

เซลล์ออโต้
สร้างรูปแบบที่สร้างขึ้นโดยหุ่นยนต์เคลื่อนที่ระดับประถมศึกษา

สถานะเริ่มต้นของออโตมาตันของเซลล์สามารถกำหนดได้ผ่าน ชื่อไฟล์และ
Belt hold ตัวเลือก. หากไม่ได้ระบุตัวเลือกดังกล่าว สถานะเริ่มต้นจะถูกสร้างขึ้นแบบสุ่ม

ในแต่ละเฟรมใหม่ แถวใหม่ในวิดีโอจะเต็มไปด้วยผลลัพธ์ของเซลล์
หุ่นยนต์รุ่นต่อไป พฤติกรรมเมื่อเต็มเฟรมถูกกำหนดโดย
เลื่อน ตัวเลือก

แหล่งที่มานี้ยอมรับตัวเลือกต่อไปนี้:

ชื่อไฟล์, f
อ่านสถานะออโตมาตันของเซลลูลาร์เริ่มต้น เช่น แถวเริ่มต้น จากค่าที่ระบุ
ไฟล์. ในไฟล์ อักขระที่ไม่ใช่ช่องว่างแต่ละตัวถือเป็นเซลล์ที่มีชีวิต a
ขึ้นบรรทัดใหม่จะสิ้นสุดแถว และอักขระเพิ่มเติมในไฟล์จะถูกละเว้น

รูปแบบ p
อ่านสถานะออโตมาตันของเซลลูลาร์เริ่มต้น เช่น แถวเริ่มต้น จากค่าที่ระบุ
เชือก

อักขระที่ไม่ใช่ช่องว่างแต่ละตัวในสตริงถือเป็นเซลล์ที่มีชีวิต การขึ้นบรรทัดใหม่
จะยุติแถว และอักขระเพิ่มเติมในสตริงจะถูกละเว้น

ประเมินค่า, r
กำหนดอัตราวิดีโอ นั่นคือจำนวนเฟรมที่สร้างต่อวินาที ค่าเริ่มต้นคือ 25

Random_fill_ratio, อัตราส่วน
ตั้งค่าอัตราการเติมแบบสุ่มสำหรับแถวออโตมาตันของเซลลูลาร์เริ่มต้น มันเป็นลอย
ค่าตัวเลขตั้งแต่ 0 ถึง 1 ค่าเริ่มต้นคือ 1/PHI

ตัวเลือกนี้จะถูกละเว้นเมื่อมีการระบุไฟล์หรือรูปแบบ

สุ่ม_seed, เมล็ดพันธุ์
ตั้งเมล็ดสำหรับกรอกสุ่มแถวแรกต้องเป็นจำนวนเต็มระหว่าง
0 และ UINT32_MAX หากไม่ระบุหรือตั้งค่าไว้เป็น -1 อย่างชัดเจน ตัวกรองจะพยายาม
ใช้เมล็ดพันธุ์สุ่มที่ดีบนพื้นฐานความพยายามอย่างดีที่สุด

กฎ
ตั้งกฎอัตโนมัติของเซลลูลาร์ซึ่งเป็นตัวเลขตั้งแต่ 0 ถึง 255 ค่าเริ่มต้น
คือ 110

ขนาด, s
กำหนดขนาดของวิดีโอที่ส่งออก สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ
ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ.

If ชื่อไฟล์ or Belt hold ถูกระบุ ขนาดถูกกำหนดโดยค่าเริ่มต้นเป็นความกว้างของ
ระบุแถวสถานะเริ่มต้น และความสูงถูกตั้งค่าเป็น ความกว้าง * พี.

If ขนาด ถูกตั้งค่า ต้องมีความกว้างของสตริงรูปแบบที่ระบุ และ
รูปแบบที่ระบุจะถูกจัดกึ่งกลางในแถวที่ใหญ่กว่า

หากไม่ได้ระบุชื่อไฟล์หรือสตริงรูปแบบ ค่าขนาดเริ่มต้นเป็น
"320x518" (ใช้สำหรับสถานะเริ่มต้นที่สร้างแบบสุ่ม)

เลื่อน
หากตั้งค่าเป็น 1 ให้เลื่อนเอาต์พุตขึ้นด้านบนเมื่อแถวทั้งหมดในเอาต์พุตครบ
อิ่มแล้ว. หากตั้งค่าเป็น 0 แถวที่สร้างใหม่จะถูกเขียนทับแถวบนสุด
หลังจากเติมแถวล่างสุด ค่าเริ่มต้นเป็น 1

เริ่มต้น_เต็ม, เต็ม
หากตั้งค่าเป็น 1 ให้เติมเอาต์พุตด้วยแถวที่สร้างให้สมบูรณ์ก่อนที่จะส่งออก
เฟรมแรก. นี่เป็นลักษณะการทำงานเริ่มต้น สำหรับการปิดใช้งาน ตั้งค่าเป็น 0

ตะเข็บ
หากตั้งค่าเป็น 1 ให้เย็บขอบแถวซ้ายและขวาเข้าด้วยกัน นี่คือค่าเริ่มต้น
พฤติกรรมสำหรับการปิดใช้งานตั้งค่าเป็น 0

ตัวอย่าง

·อ่านสถานะเริ่มต้นจาก Belt hold และระบุเอาต์พุตขนาด 200x400

เซลล์อัตโนมัติ=f=รูปแบบ:s=200x400

· สร้างแถวเริ่มต้นแบบสุ่มที่มีความกว้าง 200 เซลล์ โดยมีอัตราการเติม 2/3:

เซลล์อัตโนมัติ=อัตราส่วน=2/3:s=200x200

· สร้างรูปแบบที่สร้างขึ้นโดยกฎ 18 โดยเริ่มจากเซลล์ที่มีชีวิตเพียงเซลล์เดียวที่มีศูนย์กลางอยู่ที่ an
แถวแรกที่มีความกว้าง 100:

เซลล์อัตโนมัติ=p=@s=100x400:เต็ม=0:กฎ=18

· ระบุรูปแบบเริ่มต้นที่ละเอียดยิ่งขึ้น:

cellauto=p='@@ @ @@':s=100x400:full=0:rule=18

แมนเดลบรอท
สร้าง Mandelbrot set fractal และค่อยๆซูมไปยังจุดที่ระบุด้วย
เริ่มต้น_x และ start_y.

แหล่งที่มานี้ยอมรับตัวเลือกต่อไปนี้:

end_pts
ตั้งค่าเทอร์มินัล pts ค่าเริ่มต้นคือ 400

end_scale
ตั้งค่ามาตราส่วนเทอร์มินัล ต้องเป็นค่าทศนิยม ค่าเริ่มต้นคือ 0.3

ภายใน
ตั้งค่าโหมดการระบายสีภายใน ซึ่งเป็นอัลกอริธึมที่ใช้ในการวาด Mandelbrot fractal
ภูมิภาคภายใน

จะถือว่าค่าใดค่าหนึ่งดังต่อไปนี้:

สีดำ
ตั้งค่าโหมดสีดำ

การลู่เข้า
แสดงเวลาจนกว่าจะบรรจบกัน

มินโคล
ตั้งค่าสีตามจุดที่ใกล้กับจุดกำเนิดของการทำซ้ำมากที่สุด

ระยะเวลา
ตั้งค่าโหมดช่วงเวลา

ค่าเริ่มต้นคือ มินโคล.

ช่วยเหลือ
ตั้งค่าเงินช่วยเหลือ ค่าเริ่มต้นคือ 10.0

แม็กซิเตอร์
ตั้งค่าการวนซ้ำสูงสุดที่ดำเนินการโดยอัลกอริธึมการเรนเดอร์ ค่าเริ่มต้นคือ
7189.

ด้านนอก
ตั้งค่าโหมดระบายสีภายนอก จะถือว่าค่าใดค่าหนึ่งดังต่อไปนี้:

การวนซ้ำ_นับ
ตั้งค่าโหมดการวนซ้ำ

Normalized_iteration_count
ตั้งค่าโหมดการนับการวนซ้ำแบบปกติ

ค่าเริ่มต้นคือ Normalized_iteration_count.

ประเมินค่า, r
กำหนดอัตราเฟรม แสดงเป็นจำนวนเฟรมต่อวินาที ค่าเริ่มต้นคือ "25"

ขนาด, s
กำหนดขนาดเฟรม สำหรับไวยากรณ์ของตัวเลือกนี้ ตรวจสอบส่วน "ขนาดวิดีโอ" ใน
คู่มือ ffmpeg-utils ค่าเริ่มต้นคือ "640x480"

start_scale
ตั้งค่ามาตราส่วนเริ่มต้น ค่าเริ่มต้นคือ 3.0

เริ่มต้น_x
กำหนดตำแหน่ง x เริ่มต้น ต้องเป็นค่าทศนิยมระหว่าง -100 ถึง 100
ค่าเริ่มต้นคือ -0.743643887037158704752191506114774

start_y
ตั้งค่าตำแหน่ง y เริ่มต้น ต้องเป็นค่าทศนิยมระหว่าง -100 ถึง 100
ค่าเริ่มต้นคือ -0.131825904205311970493132056385139

mptestsrc
สร้างรูปแบบการทดสอบต่างๆ ตามที่สร้างโดยตัวกรองการทดสอบ MPlayer

ขนาดของวิดีโอที่สร้างขึ้นได้รับการแก้ไขแล้ว และเป็น 256x256 แหล่งข้อมูลนี้มีประโยชน์ใน
โดยเฉพาะสำหรับการทดสอบคุณสมบัติการเข้ารหัส

แหล่งที่มานี้ยอมรับตัวเลือกต่อไปนี้:

ประเมินค่า, r
ระบุอัตราเฟรมของวิดีโอที่มาตามจำนวนเฟรมที่สร้างขึ้นต่อ
ที่สอง. ต้องเป็นสตริงในรูปแบบ frame_rate_num/frame_rate_den, จำนวนเต็ม
ตัวเลข เลขทศนิยม หรือตัวย่ออัตราเฟรมของวิดีโอที่ถูกต้อง ค่าเริ่มต้น
ค่าคือ "25"

ระยะเวลา, d
กำหนดระยะเวลาของวิดีโอที่มา ดู เวลา ระยะเวลา ส่วน in
ffmpeg-ยูทิลิตี้(1) คู่มือ สำหรับไวยากรณ์ที่ยอมรับ

หากไม่ระบุ หรือระยะเวลาที่แสดงเป็นลบ วิดีโอควรเป็น
สร้างขึ้นตลอดไป

การทดสอบ t
กำหนดหมายเลขหรือชื่อของการทดสอบที่จะทำ การทดสอบที่รองรับคือ:

dc_luma
dc_chroma
ความถี่_luma
ความถี่_โครมา
amp_luma
amp_chroma
CBP
mv
แหวน 1
แหวน 2
ทั้งหมด

ค่าเริ่มต้นคือ "ทั้งหมด" ซึ่งจะวนผ่านรายการการทดสอบทั้งหมด

ตัวอย่างบางส่วน:

mptestsrc=t=dc_luma

จะสร้างรูปแบบการทดสอบ "dc_luma"

frei0r_src
ระบุแหล่งที่มาของ frei0r

ในการเปิดใช้งานการรวบรวมตัวกรองนี้ คุณต้องติดตั้งส่วนหัว frei0r และกำหนดค่า
FFmpeg ด้วย "--enable-frei0r"

แหล่งที่มานี้ยอมรับพารามิเตอร์ต่อไปนี้:

ขนาด
ขนาดของวิดีโอที่จะสร้าง สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ
ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ.

เฟรม
อัตราเฟรมของวิดีโอที่สร้างขึ้น อาจเป็นสตริงของแบบฟอร์ม NUM/วัน หรือ
ตัวย่ออัตราเฟรม

ตัวกรอง_ชื่อ
ชื่อของแหล่ง frei0r ที่จะโหลด สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ frei0r และวิธี
เพื่อตั้งค่าพารามิเตอร์ อ่าน ฟรี0r ส่วนในเอกสารประกอบตัวกรองวิดีโอ

filter_params
รายการพารามิเตอร์ที่แยกจากกัน '|' เพื่อส่งต่อไปยังแหล่ง frei0r

ตัวอย่างเช่น เพื่อสร้างแหล่ง frei0r partik0l ที่มีขนาด 200x200 และอัตราเฟรม 10
ซึ่งซ้อนทับบนอินพุตหลักของตัวกรองซ้อนทับ:

frei0r_src=size=200x200:framerate=10:filter_name=partik0l:filter_params=1234 [โอเวอร์เลย์]; [ใน][โอเวอร์เลย์] โอเวอร์เลย์

ชีวิต
สร้างรูปแบบการใช้ชีวิต

แหล่งข้อมูลนี้อิงจากภาพรวมของเกมชีวิตของ John Conway

อินพุตที่มาแสดงถึงตารางชีวิต แต่ละพิกเซลแสดงถึงเซลล์ที่สามารถอยู่ในหนึ่ง
ของสองรัฐที่เป็นไปได้ มีชีวิตอยู่หรือตาย ทุกเซลล์มีปฏิสัมพันธ์กับเพื่อนบ้านแปดคน
ซึ่งเป็นเซลล์ที่อยู่ติดกันในแนวนอน แนวตั้ง หรือแนวทแยงมุม

ในการโต้ตอบแต่ละครั้ง กริดจะวิวัฒนาการตามกฎที่นำมาใช้ ซึ่งระบุ
จำนวนเซลล์เพื่อนบ้านที่มีชีวิตซึ่งจะทำให้เซลล์มีชีวิตอยู่หรือเกิด ดิ กฎ ตัวเลือก
อนุญาตให้ระบุกฎที่จะนำมาใช้

แหล่งที่มานี้ยอมรับตัวเลือกต่อไปนี้:

ชื่อไฟล์, f
ตั้งค่าไฟล์ที่จะอ่านสถานะกริดเริ่มต้น ในไฟล์แต่ละรายการไม่ใช่
อักขระช่องว่างถือเป็นเซลล์ที่มีชีวิต และการขึ้นบรรทัดใหม่ใช้เพื่อคั่น
จุดสิ้นสุดของแต่ละแถว

หากไม่ได้ระบุตัวเลือกนี้ กริดเริ่มต้นจะถูกสร้างขึ้นแบบสุ่ม

ประเมินค่า, r
กำหนดอัตราวิดีโอ นั่นคือจำนวนเฟรมที่สร้างต่อวินาที ค่าเริ่มต้นคือ 25

Random_fill_ratio, อัตราส่วน
กำหนดอัตราการเติมแบบสุ่มสำหรับตารางสุ่มเริ่มต้น เป็นเลขทศนิยม
ค่าตั้งแต่ 0 ถึง 1 ค่าเริ่มต้นเป็น 1/PHI จะถูกละเว้นเมื่อมีการระบุไฟล์

สุ่ม_seed, เมล็ดพันธุ์
ตั้งค่าเมล็ดสำหรับการกรอกตารางสุ่มเริ่มต้น ต้องเป็นจำนวนเต็มที่รวมระหว่าง
0 และ UINT32_MAX หากไม่ระบุหรือตั้งค่าไว้เป็น -1 อย่างชัดเจน ตัวกรองจะพยายาม
ใช้เมล็ดพันธุ์สุ่มที่ดีบนพื้นฐานความพยายามอย่างดีที่สุด

กฎ
ตั้งกฎชีวิต.

กฎสามารถระบุได้ด้วยรหัสประเภท "SNS/BNB"ที่ไหน NS และ NB เป็น
ลำดับของตัวเลขในช่วง 0-8, NS ระบุจำนวนเซลล์เพื่อนบ้านที่ยังมีชีวิตอยู่
ซึ่งทำให้เซลล์ที่มีชีวิตมีชีวิตอยู่และ NB จำนวนเซลล์เพื่อนบ้านที่ยังมีชีวิตซึ่ง
สร้างเซลล์ที่ตายแล้วให้มีชีวิต (กล่าวคือ "เกิด") สามารถใช้ "s" และ "b" แทนได้
ของ "S" และ "B" ตามลำดับ

หรือจะระบุกฎด้วยจำนวนเต็ม 18 บิตก็ได้ บิตคำสั่งสูง 9 บิตคือ
ใช้เพื่อเข้ารหัสสถานะเซลล์ถัดไปหากยังมีชีวิตอยู่สำหรับเพื่อนบ้านแต่ละจำนวนที่ยังมีชีวิตอยู่
เซลล์ บิตลำดับต่ำระบุกฎสำหรับเซลล์ใหม่ที่ "เกิด" บิตการสั่งซื้อที่สูงขึ้น
เข้ารหัสสำหรับจำนวนเซลล์เพื่อนบ้านที่สูงขึ้น เช่น ตัวเลข 6153 =
"(12<<9)+9" กำหนดกฎการดำรงอยู่ของ 12 และกฎการเกิดของ 9 ซึ่งสอดคล้อง
ถึง "S23/B03"

ค่าเริ่มต้นคือ "S23/B3" ซึ่งเป็นกฎของเกมแห่งชีวิตของ Conway ดั้งเดิมและจะ
รักษาเซลล์ให้มีชีวิตอยู่หากมีเซลล์เพื่อนบ้านที่ยังมีชีวิตอยู่ 2 หรือ 3 เซลล์ และจะเกิดเซลล์ใหม่ถ้า
มีเซลล์ที่มีชีวิตอยู่สามเซลล์รอบๆ เซลล์ที่ตายแล้ว

ขนาด, s
กำหนดขนาดของวิดีโอที่ส่งออก สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ
ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ.

If ชื่อไฟล์ ถูกระบุ ขนาดถูกกำหนดโดยค่าเริ่มต้นเป็นขนาดเดียวกันกับอินพุต
ไฟล์. ถ้า ขนาด ถูกตั้งค่า จะต้องมีขนาดที่ระบุในไฟล์อินพุต และตัว
ตารางเริ่มต้นที่กำหนดไว้ในไฟล์นั้นจะอยู่กึ่งกลางในพื้นที่ผลลัพธ์ที่ใหญ่ขึ้น

หากไม่ได้ระบุชื่อไฟล์ ค่าขนาดเริ่มต้นเป็น "320x240" (ใช้สำหรับ a
สร้างกริดเริ่มต้นแบบสุ่ม)

ตะเข็บ
หากตั้งค่าเป็น 1 ให้เย็บขอบกริดด้านซ้ายและขวาเข้าด้วยกัน และด้านบนและด้านล่าง
ขอบยัง. ค่าเริ่มต้นเป็น 1

แม่พิมพ์
ตั้งค่าความเร็วของแม่พิมพ์เซลล์ หากตั้งค่าไว้เซลล์ที่ตายแล้วจะไปจาก ความตาย_สี ไปยัง mould_color กับ
ขั้นตอนของ แม่พิมพ์. แม่พิมพ์ สามารถมีค่าได้ตั้งแต่ 0 ถึง 255

ชีวิต_สี
กำหนดสีของเซลล์ที่มีชีวิต (หรือเกิดใหม่)

ความตาย_สี
กำหนดสีของเซลล์ที่ตายแล้ว ถ้า แม่พิมพ์ ถูกตั้งค่าเป็นสีแรกที่ใช้แทน
เซลล์ที่ตายแล้ว

mould_color
กำหนดสีของเชื้อราสำหรับเซลล์ที่ตายแล้วและขึ้นรา

สำหรับไวยากรณ์ของตัวเลือก 3 สีเหล่านี้ ให้ตรวจสอบส่วน "สี" ใน ffmpeg-utils
คู่มือ.

ตัวอย่าง

·อ่านตารางจาก Belt hold และจัดกึ่งกลางบนตารางขนาด 300x300 พิกเซล:

ชีวิต=f=รูปแบบ:s=300x300

· สร้างตารางสุ่มขนาด 200x200 โดยมีอัตราส่วนการเติม 2/3:

ชีวิต=อัตราส่วน=2/3:s=200x200

· ระบุกฎที่กำหนดเองสำหรับการพัฒนากริดที่สร้างแบบสุ่ม:

ชีวิต=กฎ=S14/B34

· ตัวอย่างเต็มรูปแบบพร้อมเอฟเฟกต์การตายช้า (รา) โดยใช้ ffplay:

ffplay -f lavfi life=s=300x200:mold=10:r=60:ratio=0.1:death_color=#C83232:life_color=#00ff00,scale=1200:800:flags=16

ทั้งหมด อัลลูฟ สี, ฮัลด์คลัตส์อาร์ค, nullsrc, rgbtestsrc, แถบเลื่อน, สเป็คบาร์, การทดสอบrc
ซอร์ส "allrgb" ส่งคืนเฟรมขนาด 4096x4096 ของสี rgb ทั้งหมด

แหล่งที่มา "allyuv" ส่งคืนเฟรมขนาด 4096x4096 ของสี yuv ทั้งหมด

แหล่ง "สี" ให้อินพุตที่มีสีสม่ำเสมอ

แหล่งที่มา "haldclutsrc" จัดเตรียมข้อมูลประจำตัว Hald CLUT ดูสิ่งนี้ด้วย Haldclut กรอง.

แหล่งที่มา "nullsrc" ส่งคืนเฟรมวิดีโอที่ยังไม่ได้ประมวลผล เป็นประโยชน์อย่างยิ่งต่อการจ้างงาน
ในเครื่องมือวิเคราะห์/แก้จุดบกพร่อง หรือเป็นแหล่งที่มาของตัวกรองที่ละเว้นข้อมูลที่ป้อนเข้า

แหล่งที่มา "rgbtestsrc" สร้างรูปแบบการทดสอบ RGB ที่มีประโยชน์สำหรับการตรวจจับ RGB เทียบกับ BGR
ปัญหา. คุณควรเห็นแถบสีแดง สีเขียว และสีน้ำเงินจากบนลงล่าง

แหล่งที่มา "smptebars" สร้างรูปแบบแถบสีตาม SMPTE Engineering
แนวปฏิบัติ อ. 1-1990.

แหล่งที่มา "smptehdbars" จะสร้างรูปแบบแถบสีตาม SMPTE RP 219-2002

แหล่งที่มา "testsrc" สร้างรูปแบบวิดีโอทดสอบ แสดงรูปแบบสี การเลื่อน
การไล่ระดับสีและการประทับเวลา มีจุดประสงค์เพื่อการทดสอบเป็นหลัก

แหล่งที่มายอมรับพารามิเตอร์ต่อไปนี้:

สี, c
ระบุสีของแหล่งที่มา ใช้ได้เฉพาะในแหล่งที่มา "สี" สำหรับไวยากรณ์
ของตัวเลือกนี้ ตรวจสอบส่วน "สี" ในคู่มือ ffmpeg-utils

ระดับ
ระบุระดับของ Hald CLUT ใช้ได้เฉพาะในแหล่งที่มา "haldclutsrc" อา
ระดับ "N" สร้างภาพ "N*N*N" โดย "N*N*N" พิกเซลเพื่อใช้เป็นข้อมูลประจำตัว
เมทริกซ์สำหรับตารางค้นหา 3 มิติ แต่ละส่วนประกอบถูกเข้ารหัสในระดับ "1/(N*N)"

ขนาด, s
ระบุขนาดของวิดีโอที่มา สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ
ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ. ค่าเริ่มต้นคือ "320x240"

ตัวเลือกนี้ใช้ไม่ได้กับตัวกรอง "haldclutsrc"

ประเมินค่า, r
ระบุอัตราเฟรมของวิดีโอที่มาตามจำนวนเฟรมที่สร้างขึ้นต่อ
ที่สอง. ต้องเป็นสตริงในรูปแบบ frame_rate_num/frame_rate_den, จำนวนเต็ม
ตัวเลข เลขทศนิยม หรือตัวย่ออัตราเฟรมของวิดีโอที่ถูกต้อง ค่าเริ่มต้น
ค่าคือ "25"

sar ตั้งค่าอัตราส่วนกว้างยาวตัวอย่างของวิดีโอที่มา

ระยะเวลา, d
กำหนดระยะเวลาของวิดีโอที่มา ดู เวลา ระยะเวลา ส่วน in
ffmpeg-ยูทิลิตี้(1) คู่มือ สำหรับไวยากรณ์ที่ยอมรับ

หากไม่ระบุ หรือระยะเวลาที่แสดงเป็นลบ วิดีโอควรเป็น
สร้างขึ้นตลอดไป

ทศนิยม n
กำหนดจำนวนทศนิยมเพื่อแสดงในการประทับเวลา ใช้ได้เฉพาะใน "testsrc"
แหล่ง

ค่าการประทับเวลาที่แสดงจะสอดคล้องกับค่าการประทับเวลาเดิม
คูณด้วยกำลัง 10 ของค่าที่ระบุ ค่าเริ่มต้นคือ 0

ตัวอย่างเช่นต่อไปนี้:

testrc=duration=5.3:size=qcif:rate=10

จะสร้างวิดีโอความยาว 5.3 วินาที โดยมีขนาด 176x144 และอัตราเฟรม
10 เฟรมต่อวินาที

คำอธิบายกราฟต่อไปนี้จะสร้างแหล่งสีแดงที่มีความทึบเท่ากับ 0.2 โดยมี
ขนาด "qcif" และอัตราเฟรม 10 เฟรมต่อวินาที

สี=c=[ป้องกันอีเมล]:s=qcif:r=10

หากเนื้อหาอินพุตถูกละเว้น สามารถใช้ "nullsrc" ได้ คำสั่งต่อไปนี้
สร้างสัญญาณรบกวนในระนาบความส่องสว่างโดยใช้ตัวกรอง "geq":

nullsrc=s=256x256, geq=สุ่ม(1)*255:128:128

คำสั่ง

แหล่งที่มา "สี" รองรับคำสั่งต่อไปนี้:

c, สี
กำหนดสีของภาพที่สร้างขึ้น ยอมรับไวยากรณ์เดียวกันของที่สอดคล้องกัน สี
ตัวเลือก

VIDEO อ่างล้างจาน


ด้านล่างนี้คือคำอธิบายของซิงก์วิดีโอที่มีอยู่ในปัจจุบัน

บัฟเฟอร์ซิงค์
บัฟเฟอร์เฟรมวิดีโอ และทำให้พร้อมใช้งานที่ส่วนท้ายของกราฟตัวกรอง

ซิงก์นี้มีไว้สำหรับการใช้งานแบบเป็นโปรแกรมเป็นหลัก โดยเฉพาะอย่างยิ่งผ่านอินเทอร์เฟซ
กำหนดไว้ใน libavfilter/buffersink.h หรือระบบตัวเลือก

ยอมรับตัวชี้ไปยังโครงสร้าง AVBufferSinkContext ซึ่งกำหนดขาเข้า
รูปแบบของบัฟเฟอร์ ที่จะส่งผ่านเป็นพารามิเตอร์ทึบแสงไปยัง "avfilter_init_filter" สำหรับ
การเริ่มต้น.

nullsink
ซิงก์วิดีโอว่าง: ไม่ทำอะไรเลยกับวิดีโออินพุต มีประโยชน์หลักเป็น
แม่แบบและสำหรับใช้ในเครื่องมือวิเคราะห์/แก้จุดบกพร่อง

มัลติมีเดีย กรอง


ด้านล่างนี้คือคำอธิบายของตัวกรองมัลติมีเดียที่มีอยู่ในปัจจุบัน

เฟสมิเตอร์
แปลงเสียงอินพุตเป็นเอาต์พุตวิดีโอ แสดงเฟสเสียง

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ประเมินค่า, r
ตั้งค่าอัตราเฟรมเอาต์พุต ค่าเริ่มต้นคือ 25

ขนาด, s
กำหนดขนาดวิดีโอสำหรับเอาต์พุต สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ
ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ. ค่าเริ่มต้นคือ "800x400"

rc
gc
bc ระบุคอนทราสต์สีแดง เขียว น้ำเงิน ค่าเริ่มต้นคือ 2, 7 และ 1 ช่วงที่อนุญาต
คือ "[0, 255]"

เอ็มพีซี กำหนดสีที่จะใช้ในการวาดเฟสมัธยฐาน ถ้าสีคือ "ไม่มี" ซึ่งก็คือ
ค่าเริ่มต้นจะไม่มีการวาดค่าเฟสมัธยฐาน

ตัวกรองยังส่งออกข้อมูลเมตาของเฟรม "lavfi.aphasemeter.phase" ซึ่งหมายถึงmean
เฟสของเฟรมเสียงปัจจุบัน ค่าอยู่ในช่วง "[-1, 1]" "-1" หมายถึงซ้ายและขวา
แชนเนลอยู่นอกเฟสโดยสมบูรณ์ และ 1 หมายถึงแชนเนลอยู่ในเฟส

เวคเตอร์สโคป
แปลงเสียงอินพุตเป็นเอาต์พุตวิดีโอ แทนขอบเขตเวกเตอร์เสียง

ตัวกรองนี้ใช้เพื่อวัดความแตกต่างระหว่างช่องสัญญาณของสตรีมเสียงสเตอริโอ อา
สัญญาณแบบโมโนออลประกอบด้วยสัญญาณซ้ายและขวาเหมือนกัน ให้ผลลัพธ์เป็นเส้นตรง
เส้นแนวตั้ง การแยกสเตอริโอใด ๆ จะมองเห็นได้เป็นการเบี่ยงเบนจากบรรทัดนี้ ทำให้เกิด a
หุ่นแบบลิสซาจูส์ ถ้าเส้นตรง (หรือเบี่ยงเบนไปจากมัน) แต่เส้นแนวนอนปรากฏขึ้นนี้
แสดงว่าช่องซ้ายและขวาไม่อยู่ในเฟส

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

โหมด, m
ตั้งค่าโหมดเวคเตอร์สโคป

ค่าที่ใช้ได้คือ:

ลิซ่าจัส
Lissajous หมุน 45 องศา

lissajous_xy
เหมือนข้างบนแต่ไม่หมุน

ขั้วโลก
รูปร่างคล้ายครึ่งวงกลม

ค่าเริ่มต้นคือ ลิซ่าจัส.

ขนาด, s
กำหนดขนาดวิดีโอสำหรับเอาต์พุต สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ
ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ. ค่าเริ่มต้นคือ "400x400"

ประเมินค่า, r
ตั้งค่าอัตราเฟรมเอาต์พุต ค่าเริ่มต้นคือ 25

rc
gc
bc
ac ระบุคอนทราสต์สีแดง เขียว น้ำเงิน และอัลฟา ค่าเริ่มต้นคือ 40, 160, 80 และ
255. ช่วงที่อนุญาตคือ "[0, 255]"

rf
gf
bf
af ระบุสีแดง เขียว น้ำเงิน และอัลฟาเฟด ค่าเริ่มต้นคือ 15, 10, 5 และ 5
ช่วงที่อนุญาตคือ "[0, 255]"

ซูมเข้า
ตั้งค่าตัวคูณการซูม ค่าเริ่มต้นคือ 1 ช่วงที่อนุญาตคือ "[1, 10]"

ตัวอย่าง

· กรอกตัวอย่างโดยใช้ ffplay:

ffplay -f lavfi 'movie=input.mp3, asplit [a][out1];
[a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]'

เชื่อม
เชื่อมต่อสตรีมเสียงและวิดีโอเข้าด้วยกันโดยเชื่อมต่อเข้าด้วยกัน

ตัวกรองทำงานในส่วนของวิดีโอและสตรีมเสียงที่ซิงโครไนซ์ ทุกภาคส่วนต้อง
มีจำนวนสายน้ำแต่ละประเภทเท่ากันและก็จะเป็นจำนวนสายน้ำด้วย
ที่เอาท์พุท

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

n กำหนดจำนวนเซ็กเมนต์ ค่าเริ่มต้นคือ 2

v กำหนดจำนวนวิดีโอสตรีมออก นั่นคือจำนวนวิดีโอสตรีมใน
แต่ละส่วน ค่าเริ่มต้นคือ 1

a กำหนดจำนวนเอาต์พุตเสียงสตรีม ที่เป็นจำนวนสตรีมเสียงใน
แต่ละส่วน ค่าเริ่มต้นคือ 0

ไม่ปลอดภัย
เปิดใช้งานโหมดไม่ปลอดภัย: อย่าล้มเหลวหากเซ็กเมนต์มีรูปแบบอื่น

ตัวกรองมี v+a ผลลัพธ์: ก่อน v เอาท์พุทวิดีโอแล้ว a เอาต์พุตเสียง

มี nx(v+a) อินพุต: อินพุตแรกสำหรับเซกเมนต์แรก ในลำดับเดียวกับ
เอาต์พุต จากนั้นอินพุตสำหรับส่วนที่สอง ฯลฯ

สตรีมที่เกี่ยวข้องไม่ได้มีระยะเวลาเท่ากันเสมอไป ด้วยเหตุผลหลายประการ
รวมถึงขนาดเฟรมของตัวแปลงสัญญาณหรือการเขียนที่เลอะเทอะ ด้วยเหตุผลดังกล่าว ที่เกี่ยวข้อง synchronized
สตรีม (เช่น วิดีโอและแทร็กเสียง) ควรต่อกันในครั้งเดียว คอนแคท
ตัวกรองจะใช้ระยะเวลาของสตรีมที่ยาวที่สุดในแต่ละส่วน (ยกเว้นช่วงสุดท้าย)
และถ้าจำเป็นให้สตรีมเสียงสั้นลงด้วยความเงียบ

เพื่อให้ตัวกรองนี้ทำงานได้อย่างถูกต้อง กลุ่มทั้งหมดต้องเริ่มต้นที่เวลาประทับ 0

สตรีมที่สอดคล้องกันทั้งหมดต้องมีพารามิเตอร์เหมือนกันในทุกส่วน การกรอง
ระบบจะเลือกรูปแบบพิกเซลทั่วไปสำหรับการสตรีมวิดีโอโดยอัตโนมัติ และรูปแบบทั่วไป
รูปแบบตัวอย่าง อัตราตัวอย่าง และรูปแบบช่องสำหรับสตรีมเสียง แต่การตั้งค่าอื่นๆ เช่น
ผู้ใช้จะต้องแปลงเป็นความละเอียดอย่างชัดเจน

อัตราเฟรมที่แตกต่างกันเป็นที่ยอมรับ แต่จะส่งผลให้อัตราเฟรมตัวแปรที่เอาท์พุต เป็น
ตรวจสอบให้แน่ใจว่าได้กำหนดค่าไฟล์เอาต์พุตเพื่อจัดการ

ตัวอย่าง

· เชื่อมต่อตอนเปิด ตอน และตอนจบ ทั้งหมดในเวอร์ชันสองภาษา (วิดีโอใน
สตรีม 0, เสียงในสตรีม 1 และ 2):

ffmpeg -i opening.mkv -i ตอน.mkv -iending.mkv -filter_complex \
'[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2]
concat=n=3:v=1:a=2 [v] [a1] [a2]' \
-map '[v]' -map '[a1]' -map '[a2]' output.mkv

· เชื่อมสองส่วนเข้าด้วยกัน จัดการเสียงและวิดีโอแยกกัน โดยใช้ (a)movie
แหล่งที่มาและการปรับความละเอียด:

ภาพยนตร์=part1.mp4, มาตราส่วน=512:288 [v1] ; หนัง=part1.mp4 [a1] ;
ภาพยนตร์=part2.mp4, มาตราส่วน=512:288 [v2] ; หนัง=part2.mp4 [a2] ;
[v1] [v2] concat [outv] ; [a1] [a2] concat=v=0:a=1 [ออก]

โปรดทราบว่าการดีซิงค์จะเกิดขึ้นที่ตะเข็บหากสตรีมเสียงและวิดีโอไม่
มีระยะเวลาเท่ากันทุกประการในไฟล์แรก

เอเบอร์128
ตัวกรองสแกนเนอร์ EBU R128 ตัวกรองนี้ใช้สตรีมเสียงเป็นอินพุตและเอาต์พุต
ไม่เปลี่ยนแปลง โดยค่าเริ่มต้น มันจะบันทึกข้อความที่ความถี่ 10Hz ด้วย Momentary
ความดัง (ระบุด้วย "M"), ความดังในระยะสั้น ("S"), ความดังแบบบูรณาการ ("I") และ
ช่วงความดัง ("LRA")

ตัวกรองยังมีเอาต์พุตวิดีโอ (ดูที่ วีดีโอ ตัวเลือก) ด้วยกราฟเรียลไทม์ถึง
สังเกตวิวัฒนาการของความดัง กราฟิกมีข้อความที่บันทึกไว้ที่กล่าวถึงข้างต้น
ดังนั้นจึงไม่พิมพ์อีกต่อไปเมื่อตั้งค่าตัวเลือกนี้ เว้นแต่จะมีการตั้งค่าการบันทึกแบบละเอียด
พื้นที่กราฟหลักประกอบด้วยความดังในระยะสั้น (การวิเคราะห์ 3 วินาที) และ
มาตรวัดด้านขวาใช้สำหรับความดังชั่วขณะ (400 มิลลิวินาที)

ข้อมูลเพิ่มเติมเกี่ยวกับ Loudness Recommendation EBU R128 on
<http://tech.ebu.ch/loudness>.

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

วีดีโอ
เปิดใช้งานเอาต์พุตวิดีโอ สตรีมเสียงถูกส่งไม่เปลี่ยนแปลงไม่ว่าตัวเลือกนี้จะเป็น
กำหนดหรือไม่ สตรีมวิดีโอจะเป็นสตรีมเอาต์พุตแรกหากเปิดใช้งาน ค่าเริ่มต้นคือ
0.

ขนาด
กำหนดขนาดวิดีโอ ตัวเลือกนี้มีไว้สำหรับวิดีโอเท่านั้น สำหรับไวยากรณ์ของตัวเลือกนี้
ตรวจสอบ "วิดีโอ ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ. ค่าเริ่มต้นและขั้นต่ำ
ความละเอียดคือ "640x480"

เมตร
ตั้งสเกลมิเตอร์ EBU ค่าเริ่มต้นคือ 9 ค่าทั่วไปคือ 9 และ 18 ตามลำดับสำหรับ
สเกล EBU +9 และสเกล EBU +18 ค่าจำนวนเต็มอื่นใดระหว่างช่วงนี้
ได้รับอนุญาต.

เมตาดาต้า
ตั้งค่าการฉีดข้อมูลเมตา หากตั้งค่าเป็น 1 อินพุตเสียงจะถูกแบ่งออกเป็น 100ms
เฟรมเอาต์พุต แต่ละเฟรมมีข้อมูลความดังต่างๆ ในข้อมูลเมตา ทั้งหมด
คีย์ข้อมูลเมตาจะขึ้นต้นด้วย "lavfi.r128"

ค่าเริ่มต้นคือ 0

เฟรมล็อก
บังคับระดับการบันทึกเฟรม

ค่าที่ใช้ได้คือ:

ข้อมูล
ระดับการบันทึกข้อมูล

ละเอียด
ระดับการบันทึกอย่างละเอียด

โดยค่าเริ่มต้น ระดับการบันทึกจะถูกตั้งค่าเป็น ข้อมูล. หาก วีดีโอ หรือ เมตาดาต้า ตัวเลือกคือ
ตั้งค่า มันเปลี่ยนเป็น ละเอียด.

ยอด
ตั้งค่าโหมดพีค

โหมดที่ใช้ได้สามารถสะสมได้ (ตัวเลือกคือประเภท "แฟล็ก") ค่าที่เป็นไปได้คือ:

ไม่มี
ปิดใช้งานโหมดพีค (ค่าเริ่มต้น)

ตัวอย่าง
เปิดใช้งานโหมดตัวอย่างสูงสุด

โหมดพีคอย่างง่ายที่มองหาค่าตัวอย่างที่สูงขึ้น มันบันทึกข้อความสำหรับ
ตัวอย่างสูงสุด (ระบุโดย "SPK")

จริง
เปิดใช้งานโหมดทรูพีค

หากเปิดใช้งาน การค้นหาจุดสูงสุดจะเสร็จสิ้นในเวอร์ชันสุ่มตัวอย่างอินพุตสตรีม
เพื่อความแม่นยำสูงสุดที่ดีขึ้น มันบันทึกข้อความสำหรับทรูพีค (ระบุโดย "TPK")
และทรูพีคต่อเฟรม (ระบุโดย "FTPK") โหมดนี้ต้องมีการสร้างด้วย
"ตัวอย่าง libswres".

ตัวอย่าง

·กราฟเรียลไทม์โดยใช้ ffplay, พร้อมสเกลมิเตอร์ EBU +18:

ffplay -f lavfi -i "movie=input.mp3,ebur128=video=1:meter=18 [out0][out1]"

·เรียกใช้การวิเคราะห์ด้วย ffmpeg:

ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null -

แทรกแซง หยุดชั่วคราว
แทรกเฟรมชั่วคราวจากอินพุตต่างๆ

"interleave" ใช้งานได้กับอินพุตวิดีโอ "ainterleave" พร้อมเสียง

ตัวกรองเหล่านี้อ่านเฟรมจากหลายอินพุตและส่งเฟรมที่อยู่ในคิวที่เก่าที่สุดไปยัง
เอาท์พุต

สตรีมอินพุตต้องมีค่าการประทับเวลาของเฟรมที่กำหนดไว้อย่างชัดเจนและเพิ่มขึ้นแบบโมโนโทน

ในการส่งหนึ่งเฟรมไปยังเอาต์พุต ตัวกรองเหล่านี้จำเป็นต้องจัดคิวอย่างน้อยหนึ่งเฟรม
สำหรับแต่ละอินพุท ดังนั้นจึงไม่สามารถทำงานได้ในกรณีที่อินพุทตัวหนึ่งยังไม่ถูกยกเลิกและจะไม่
รับเฟรมที่เข้ามา

ตัวอย่างเช่น พิจารณากรณีที่หนึ่งอินพุตเป็นตัวกรอง "เลือก" ซึ่งมักจะปล่อยอินพุต
เฟรม ตัวกรอง "แทรก" จะอ่านต่อไปจากอินพุตนั้น แต่จะไม่มีวันเป็น
สามารถส่งเฟรมใหม่ไปยังเอาต์พุตได้จนกว่าอินพุตจะส่งสัญญาณสิ้นสุดสตรีม

นอกจากนี้ ขึ้นอยู่กับการซิงโครไนซ์อินพุต ตัวกรองจะดร็อปเฟรมในกรณีที่หนึ่งอินพุต
รับเฟรมมากกว่าเฟรมอื่นและคิวเต็มแล้ว

ตัวกรองเหล่านี้ยอมรับตัวเลือกต่อไปนี้:

nb_อินพุต, n
ตั้งค่าจำนวนของอินพุตที่แตกต่างกัน โดยค่าเริ่มต้นคือ 2

ตัวอย่าง

· แทรกเฟรมที่เป็นของสตรีมต่างๆ โดยใช้ ffmpeg:

ffmpeg -i bambi.avi -i pr0n.mkv -filter_complex "[0:v][1:v] interleave" out.avi

· เพิ่มเอฟเฟกต์เบลอริบหรี่:

select='if(gt(สุ่ม(0, 0.2), 1, 2)':n=2 [tmp], boxblur=2:2, [tmp] แทรก

ดัด, สเปิร์ม
ตั้งค่าสิทธิ์ในการอ่าน/เขียนสำหรับเฟรมเอาต์พุต

ตัวกรองเหล่านี้มุ่งเป้าไปที่นักพัฒนาเพื่อทดสอบเส้นทางตรงในตัวกรองต่อไปนี้เป็นหลัก
ในตัวกรองกราฟ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

โหมด
เลือกโหมดการอนุญาต

ยอมรับค่าต่อไปนี้:

ไม่มี
ไม่ทำอะไร. นี่คือค่าเริ่มต้น

ro ตั้งค่าเฟรมเอาต์พุตทั้งหมดเป็นแบบอ่านอย่างเดียว

rw ตั้งค่าเฟรมเอาต์พุตทั้งหมดที่สามารถเขียนได้โดยตรง

ข้อศอก
ทำให้เฟรมเป็นแบบอ่านอย่างเดียวถ้าเขียนได้ และเขียนได้ถ้าเป็นแบบอ่านอย่างเดียว

สุ่ม
ตั้งค่าแต่ละเอาต์พุตเฟรมแบบอ่านอย่างเดียวหรือเขียนแบบสุ่ม

เมล็ดพันธุ์
ตั้งเมล็ดพันธุ์สำหรับ สุ่ม โหมด ต้องเป็นจำนวนเต็มที่อยู่ระหว่าง 0 ถึง
"UNT32_MAX" หากไม่ระบุ หรือหากตั้งค่าเป็น "-1" ไว้อย่างชัดเจน ตัวกรองจะพยายาม
ใช้เมล็ดพันธุ์สุ่มที่ดีบนพื้นฐานความพยายามอย่างดีที่สุด

หมายเหตุ: ในกรณีที่มีการแทรกตัวกรองอัตโนมัติระหว่างตัวกรองการอนุญาตกับตัวกรองต่อไปนี้
อาจไม่ได้รับสิทธิ์ตามที่คาดไว้ในตัวกรองต่อไปนี้ การใส่
รูป or รูปแบบ ก่อนกรอง perms/aperms สามารถหลีกเลี่ยงปัญหานี้ได้

เลือก, เลือก
เลือกเฟรมที่จะส่งผ่านในเอาต์พุต

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้:

ประสบการณ์, e
ตั้งค่านิพจน์ ซึ่งจะประเมินสำหรับแต่ละเฟรมอินพุต

หากนิพจน์ถูกประเมินเป็นศูนย์ เฟรมจะถูกยกเลิก

หากผลการประเมินเป็นค่าลบหรือ NaN เฟรมจะถูกส่งไปยังเอาต์พุตแรก
มิฉะนั้นจะถูกส่งไปยังเอาต์พุตด้วยดัชนี "ceil(val)-1" สมมติว่าอินพุต
ดัชนีเริ่มต้นจาก 0

ตัวอย่างเช่น ค่า 1.2 สอดคล้องกับผลลัพธ์ที่มีดัชนี "ceil(1.2)-1 = 2-1 =
1" นั่นคือเอาต์พุตที่สอง

เอาท์พุท n
กำหนดจำนวนเอาต์พุต ผลลัพธ์ที่จะส่งเฟรมที่เลือกจะขึ้นอยู่กับ
ผลการประเมิน ค่าเริ่มต้นคือ 1

นิพจน์สามารถมีค่าคงที่ต่อไปนี้:

n หมายเลข (ตามลำดับ) ของเฟรมที่กรอง เริ่มจาก 0

เลือกแล้ว_n
หมายเลข (ตามลำดับ) ของเฟรมที่เลือก เริ่มจาก 0

ก่อนหน้า_selected_n
หมายเลขลำดับของเฟรมที่เลือกล่าสุด มันคือ NAN ถ้าไม่ได้กำหนดไว้

TB ฐานเวลาของการประทับเวลาอินพุต

พีทีเอส PTS (Presentation TimeStamp) ของเฟรมวิดีโอที่กรอง แสดงใน TB หน่วย
มันคือ NAN ถ้าไม่ได้กำหนดไว้

t PTS ของเฟรมวิดีโอที่กรองแล้ว แสดงเป็นวินาที มันคือ NAN ถ้าไม่ได้กำหนดไว้

ก่อนหน้า_pts
PTS ของเฟรมวิดีโอที่กรองก่อนหน้านี้ มันคือ NAN ถ้าไม่ได้กำหนดไว้

ก่อนหน้า_selected_pts
PTS ของเฟรมวิดีโอที่กรองก่อนหน้านี้ล่าสุด มันคือ NAN ถ้าไม่ได้กำหนดไว้

ก่อนหน้า_selected_t
PTS ของเฟรมวิดีโอที่เลือกไว้ก่อนหน้าล่าสุด มันคือ NAN ถ้าไม่ได้กำหนดไว้

start_pts
PTS ของเฟรมวิดีโอแรกในวิดีโอ มันคือ NAN ถ้าไม่ได้กำหนดไว้

start_t
เวลาของเฟรมวิดีโอแรกในวิดีโอ มันคือ NAN ถ้าไม่ได้กำหนดไว้

pic_type (วิดีโอ เท่านั้น)
ประเภทของกรอบกรอง สามารถสมมติหนึ่งในค่าต่อไปนี้:

I
P
B
S
SI
SP
BI
interlace_type (วิดีโอ เท่านั้น)
ประเภทของเฟรมอินเทอร์เลซ สามารถสมมติหนึ่งในค่าต่อไปนี้:

ความก้าวหน้า
เฟรมเป็นแบบโปรเกรสซีฟ (ไม่อินเทอร์เลซ)

อันดับแรก
เฟรมอยู่ในอันดับต้น ๆ ของฟิลด์

ด้านล่างสุด
เฟรมจะอยู่ด้านล่างสุดของฟิลด์ก่อน

บริโภค_sample_n (เสียง เท่านั้น)
จำนวนตัวอย่างที่เลือกก่อนเฟรมปัจจุบัน

ตัวอย่าง_n (เสียง เท่านั้น)
จำนวนตัวอย่างในเฟรมปัจจุบัน

อัตราการสุ่มตัวอย่าง (เสียง เท่านั้น)
อัตราตัวอย่างอินพุต

สำคัญ นี่คือ 1 หากเฟรมที่กรองแล้วเป็นคีย์เฟรม มิฉะนั้น 0

โพสต์ ตำแหน่งในไฟล์ของเฟรมที่กรอง -1 หากไม่มีข้อมูล
(เช่นสำหรับวิดีโอสังเคราะห์)

ฉาก (วิดีโอ เท่านั้น)
ค่าระหว่าง 0 ถึง 1 เพื่อระบุฉากใหม่ ค่าต่ำสะท้อนความน่าจะเป็นต่ำ
สำหรับเฟรมปัจจุบันเพื่อแนะนำฉากใหม่ในขณะที่ค่าที่สูงขึ้นหมายถึงปัจจุบัน
เฟรมมีแนวโน้มที่จะเป็นหนึ่ง (ดูตัวอย่างด้านล่าง)

ค่าเริ่มต้นของนิพจน์ที่เลือกคือ "1"

ตัวอย่าง

· เลือกเฟรมทั้งหมดในอินพุต:

เลือก

ตัวอย่างข้างต้นเหมือนกับ:

เลือก=1

· ข้ามเฟรมทั้งหมด:

เลือก=0

· เลือกเฉพาะ I-frames:

select='eq(pict_type\,I)'

· เลือกหนึ่งเฟรมทุกๆ 100:

select='not(mod(n\,100))'

· เลือกเฉพาะเฟรมที่อยู่ในช่วงเวลา 10-20:

เลือก=ระหว่าง(t\,10\,20)

· เลือกเฉพาะ I เฟรมที่อยู่ในช่วงเวลา 10-20:

เลือก=ระหว่าง(t\,10\,20)*eq(pict_type\,I)

· เลือกเฟรมที่มีระยะห่างอย่างน้อย 10 วินาที:

select='isnan(prev_selected_t)+gte(t-prev_selected_t\,10)'

· ใช้ aselect เพื่อเลือกเฉพาะเฟรมเสียงที่มีจำนวนตัวอย่าง > 100:

aselect='gt(samples_n\,100)'

·สร้างภาพโมเสคของฉากแรก:

ffmpeg -i video.avi -vf select='gt(scene\,0.4)',scale=160:120,tile -frames:v 1 preview.png

เปรียบเทียบ ฉาก เทียบกับค่าระหว่าง 0.3 ถึง 0.5 โดยทั่วไปแล้วเป็นตัวเลือกที่สมเหตุสมผล

· ส่งเฟรมคู่และคี่เพื่อแยกเอาท์พุต และเขียนขึ้น:

select=n=2:e='mod(n, 2)+1' [คี่][คู่]; [คี่] pad=h=2*ih [tmp]; [tmp][แม้] โอเวอร์เลย์=y=h

ส่ง cmd, ส่งcmd
ส่งคำสั่งไปยังตัวกรองในกราฟตัวกรอง

ตัวกรองเหล่านี้อ่านคำสั่งเพื่อส่งไปยังตัวกรองอื่นในกราฟตัวกรอง

ต้องแทรก "sendcmd" ระหว่างตัวกรองวิดีโอสองตัว "asendcmd" ต้องแทรกระหว่าง
ตัวกรองเสียงสองตัว แต่นอกเหนือจากนั้นพวกมันทำหน้าที่เหมือนกัน

สามารถระบุข้อกำหนดของคำสั่งในอาร์กิวเมนต์ตัวกรองด้วยเครื่องหมาย คำสั่ง
ตัวเลือกหรือในไฟล์ที่ระบุโดย ชื่อไฟล์ ตัวเลือก

ตัวกรองเหล่านี้ยอมรับตัวเลือกต่อไปนี้:

คำสั่ง c
ตั้งค่าคำสั่งที่จะอ่านและส่งไปยังตัวกรองอื่นๆ

ชื่อไฟล์, f
ตั้งชื่อไฟล์ของคำสั่งที่จะอ่านและส่งไปยังตัวกรองอื่น

คำสั่ง วากยสัมพันธ์

คำอธิบายคำสั่งประกอบด้วยลำดับของข้อกำหนดเฉพาะช่วง ซึ่งประกอบด้วยa
รายการคำสั่งที่จะดำเนินการเมื่อมีเหตุการณ์เฉพาะที่เกี่ยวข้องกับช่วงเวลานั้นเกิดขึ้น
เหตุการณ์ที่เกิดขึ้นโดยทั่วไปคือเวลาเฟรมปัจจุบันที่เข้าหรือออกจากเวลาที่กำหนด
ช่วงเวลา

ช่วงเวลาถูกระบุโดยไวยากรณ์ต่อไปนี้:

[- ] ;

ช่วงเวลาถูกกำหนดโดย เริ่มต้น และ END ครั้ง END เป็นทางเลือกและค่าเริ่มต้น
จนถึงเวลาสูงสุด

เวลาเฟรมปัจจุบันจะพิจารณาภายในช่วงเวลาที่ระบุหากรวมอยู่ใน
ช่วงเวลา [เริ่มต้น, END) นั่นคือเมื่อเวลามากกว่าหรือเท่ากับ เริ่มต้น และเป็น
น้อยกว่า END.

คำสั่ง ประกอบด้วยลำดับของข้อกำหนดข้อกำหนดคำสั่งตั้งแต่หนึ่งรายการขึ้นไป คั่นด้วย ",",
ที่เกี่ยวข้องกับช่วงเวลานั้น ไวยากรณ์ของข้อกำหนดคุณสมบัติคำสั่งกำหนดโดย:

[ ]

ธง เป็นทางเลือกและระบุประเภทของเหตุการณ์ที่เกี่ยวข้องกับช่วงเวลาที่
เปิดใช้งานการส่งคำสั่งที่ระบุ และต้องเป็นลำดับที่ไม่เป็นค่าว่างของแฟล็กตัวระบุ
คั่นด้วย "+" หรือ "|" และอยู่ระหว่าง "[" และ "]"

แฟล็กต่อไปนี้ได้รับการยอมรับ:

เข้าสู่
คำสั่งจะถูกส่งเมื่อการประทับเวลาของเฟรมปัจจุบันเข้าสู่ช่วงเวลาที่ระบุ ใน
กล่าวอีกนัยหนึ่ง คำสั่งจะถูกส่งเมื่อการประทับเวลาของเฟรมก่อนหน้าไม่อยู่ใน
ช่วงเวลาที่กำหนดและกระแสคือ

ออกจาก
คำสั่งจะถูกส่งเมื่อการประทับเวลาของเฟรมปัจจุบันออกจากช่วงเวลาที่ระบุ ใน
กล่าวอีกนัยหนึ่ง คำสั่งจะถูกส่งเมื่อการประทับเวลาของเฟรมก่อนหน้าอยู่ในที่กำหนด
ช่วงเวลาและกระแสไม่ได้

If ธง ไม่ได้ระบุ จะใช้ค่าเริ่มต้นเป็น "[enter]"

เป้าหมาย ระบุเป้าหมายของคำสั่ง โดยปกติชื่อของคลาสตัวกรองหรือa
ชื่ออินสแตนซ์ตัวกรองเฉพาะ

คำสั่ง ระบุชื่อของคำสั่งสำหรับตัวกรองเป้าหมาย

หาเรื่อง เป็นทางเลือกและระบุรายการทางเลือกของอาร์กิวเมนต์สำหรับที่กำหนด คำสั่ง.

ระหว่างข้อกำหนดช่วงหนึ่งกับอีกช่วงหนึ่ง ช่องว่าง หรือลำดับของอักขระ
ที่ขึ้นต้นด้วย "#" จนถึงท้ายบรรทัด จะถูกละเว้นและสามารถใช้เพื่อใส่คำอธิบายประกอบความคิดเห็นได้

คำอธิบาย BNF แบบง่ายของไวยากรณ์ข้อกำหนดคุณสมบัติคำสั่งดังต่อไปนี้:

::= "ป้อน" | "ออกจาก"
::= [(+|"|") ]
::= ["[" "]"] [ ]
::= [, ]
::= [- ]
::= [; ]

ตัวอย่าง

· ระบุการเปลี่ยนแปลงจังหวะของเสียงในวินาทีที่ 4:

asendcmd=c='4.0 จังหวะจังหวะ 1.5',atempo

· ระบุรายการคำสั่ง drawtext และ hue ในไฟล์

# แสดงข้อความในช่วง 5-10
5.0-10.0 [ป้อน] drawtext reinit 'fontfile=FreeSerif.ttf:text=hello world',
[ออกจาก] drawtext reinit 'fontfile=FreeSerif.ttf:text=';

# ทำให้ภาพดูจืดชืดในช่วง 15-20
15.0-20.0 [ป้อน] สี s 0,
[ป้อน] drawtext reinit 'fontfile=FreeSerif.ttf:text=nocolor',
[ออก] สี s 1,
[ออกจาก] drawtext reinit 'fontfile=FreeSerif.ttf:text=color';

# ใช้เอฟเฟกต์ความอิ่มตัวของสีแบบเอ็กซ์โพเนนเชียล เริ่มจากเวลา 25
25 [ใส่] เฉดสี s exp (25-t)

กราฟตัวกรองที่อนุญาตให้อ่านและประมวลผลรายการคำสั่งด้านบนที่จัดเก็บไว้ในไฟล์
ทดสอบ cmd, สามารถระบุได้ด้วย:

sendcmd=f=test.cmd,drawtext=fontfile=FreeSerif.ttf:text='',hue

เซท, สินทรัพย์
เปลี่ยน PTS (การประทับเวลาการนำเสนอ) ของเฟรมอินพุต

"setpts" ทำงานบนเฟรมวิดีโอ "asetpts" บนเฟรมเสียง

ตัวกรองนี้ยอมรับตัวเลือกต่อไปนี้:

ด่วน
นิพจน์ที่ประเมินสำหรับแต่ละเฟรมเพื่อสร้างการประทับเวลา

นิพจน์ได้รับการประเมินผ่าน eval API และสามารถมีค่าคงที่ต่อไปนี้:

เฟรม_เรต
อัตราเฟรม กำหนดไว้สำหรับวิดีโออัตราเฟรมคงที่เท่านั้น

พีทีเอส การประทับเวลาการนำเสนอในอินพุต

N จำนวนเฟรมอินพุตสำหรับวิดีโอหรือจำนวนตัวอย่างที่ใช้ไป ไม่ใช่
รวมถึงเฟรมปัจจุบันของเสียงเริ่มต้นจาก 0

NB_CONSUMED_SAMPLES
จำนวนตัวอย่างที่บริโภค ไม่รวมเฟรมปัจจุบัน (เฉพาะเสียง)

NB_ตัวอย่าง S
จำนวนตัวอย่างในเฟรมปัจจุบัน (เฉพาะเสียง)

SAMPLE_RATE SR
อัตราตัวอย่างเสียง

สตาร์ท
PTS ของเฟรมแรก

สตาร์ท
เวลาเป็นวินาทีของเฟรมแรก

อินเตอร์เลซ
ระบุว่าเฟรมปัจจุบันเป็นแบบอินเทอร์เลซหรือไม่

T เวลาเป็นวินาทีของเฟรมปัจจุบัน

POS ตำแหน่งเดิมในไฟล์ของเฟรมหรือไม่ได้กำหนดถ้าไม่ได้กำหนดไว้สำหรับปัจจุบัน
กรอบ

PREV_INPTS
PTS อินพุตก่อนหน้า

PREV_INT
เวลาอินพุตก่อนหน้าในหน่วยวินาที

PREV_OUTPTS
PTS เอาต์พุตก่อนหน้า

PREV_OUTT
เวลาส่งออกก่อนหน้าในหน่วยวินาที

RTCTIME
เวลานาฬิกาแขวน (RTC) ในหน่วยไมโครวินาที สิ่งนี้เลิกใช้แล้ว ใช้ เวลา(0) แทน

RTCSTART
เวลานาฬิกาแขวน (RTC) ที่จุดเริ่มต้นของภาพยนตร์ในหน่วยไมโครวินาที

TB ฐานเวลาของการประทับเวลาอินพุต

ตัวอย่าง

· เริ่มนับ PTS จากศูนย์

setpts=PTS-STARTPTS

· ใช้เอฟเฟกต์การเคลื่อนไหวเร็ว:

setpts=0.5*PTS

· ใช้เอฟเฟกต์สโลว์โมชั่น:

setpts=2.0*PTS

· กำหนดอัตราคงที่ 25 เฟรมต่อวินาที:

setpts=N/(25*TB)

· ตั้งค่าอัตราคงที่ 25 fps ด้วยความกระวนกระวายใจ:

setpts='1/(25*TB) * (N + 0.05 * บาป(N*2*PI/25))'

· ใช้ออฟเซ็ต 10 วินาทีกับอินพุต PTS:

setpts=PTS+10/TB

· สร้างการประทับเวลาจาก "แหล่งที่มาแบบสด" และปรับฐานใหม่บนฐานเวลาปัจจุบัน:

setpts='(RTCTIME - RTCSTART) / (TB * 1000000)'

· สร้างการประทับเวลาโดยการนับตัวอย่าง:

asetpts=N/SR/TB

เซทบี, asettb
ตั้งค่าฐานเวลาที่จะใช้สำหรับการประทับเวลาของเฟรมผลลัพธ์ มีประโยชน์สำหรับการทดสอบเป็นหลัก
การกำหนดค่าฐานเวลา

ยอมรับพารามิเตอร์ต่อไปนี้:

ประสบการณ์, tb
นิพจน์ที่ประเมินเป็นฐานเวลาของเอาต์พุต

ค่าสำหรับ tb เป็นนิพจน์เลขคณิตที่แสดงเหตุผล นิพจน์สามารถ
มีค่าคงที่ "AVTB" (ฐานเวลาเริ่มต้น), "intb" (ฐานเวลาอินพุต) และ "sr"
(อัตราสุ่มเสียงเท่านั้น) ค่าเริ่มต้นคือ "intb"

ตัวอย่าง

· ตั้งฐานเวลาเป็น 1/25:

settb=expr=1/25

· ตั้งฐานเวลาเป็น 1/10:

settb=expr=0.1

· ตั้งฐานเวลาเป็น 1001/1000:

เซตb=1+0.001

· ตั้งค่าฐานเวลาเป็น 2*intb:

settb=2*intb

· ตั้งค่าฐานเวลาเริ่มต้น:

settb=AVTB

โชว์เคส
แปลงเสียงอินพุตเป็นเอาต์พุตวิดีโอที่แสดงคลื่นความถี่แบบลอการิทึม
(ใช้การแปลง Q คงที่ด้วยอัลกอริธึม Brown-Puckette) พร้อมสเกลโทนเสียงจาก
E0 ถึง D#10 (10 อ็อกเทฟ)

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ปริมาณ
ระบุนิพจน์ปริมาณการแปลง (ตัวคูณ) นิพจน์สามารถมี
ตัวแปร

ความถี่, ความถี่ f
ความถี่ในการประเมินการเปลี่ยนแปลง

ตัวหนีบเวลา, tc
ค่าของตัวเลือก timeclamp

และหน้าที่:

a_weighting(ฉ)
A-weighting ของความดังเท่ากัน

b_weighting(ฉ)
B-weighting ของความดังเท่ากัน

c_weighting(ฉ)
C-weighting ของความดังเท่ากัน

ค่าเริ่มต้นคือ 16

ความยาว
ระบุนิพจน์ความยาวการแปลง นิพจน์สามารถมีตัวแปร:

ความถี่, ความถี่ f
ความถี่ในการประเมินการเปลี่ยนแปลง

ตัวหนีบเวลา, tc
ค่าของตัวเลือก timeclamp

ค่าเริ่มต้นคือ "384/f*tc/(384/f+tc)"

ตัวหนีบเวลา
ระบุตัวจับเวลาการแปลง ที่ความถี่ต่ำมีการแลกเปลี่ยนระหว่างความแม่นยำ
ในโดเมนเวลาและโดเมนความถี่ หาก timeclamp ต่ำกว่า เหตุการณ์ในโดเมนเวลาคือ
แสดงได้แม่นยำยิ่งขึ้น (เช่น กลองเบสที่เร็ว) มิฉะนั้น เหตุการณ์ในความถี่
โดเมนแสดงได้แม่นยำยิ่งขึ้น (เช่น กีตาร์เบส) ค่าที่ยอมรับได้คือ [0.1,
1.0]. ค่าเริ่มต้นคือ 0.17

coefclamp
ระบุ coeffclamp การแปลง ถ้า coeffclamp ต่ำกว่า การแปลงจะแม่นยำกว่า
มิฉะนั้นการแปลงจะเร็วขึ้น ค่าที่ยอมรับได้คือ [0.1, 10.0] ค่าเริ่มต้นคือ 1.0

แกมมา
ระบุแกมมา แกมมาที่ต่ำกว่าทำให้สเปกตรัมมีความเปรียบต่างมากขึ้น แกมมาที่สูงขึ้นทำให้
สเปกตรัมมีช่วงมากขึ้น ค่าที่ยอมรับได้คือ [1.0, 7.0] ค่าเริ่มต้นคือ 3.0

gamma2
ระบุแกมมาของกราฟแท่ง ค่าที่ยอมรับได้คือ [1.0, 7.0] ค่าเริ่มต้นคือ 1.0

ฟอนต์ไฟล์
ระบุไฟล์ฟอนต์สำหรับใช้กับ freetype หากไม่ได้ระบุไว้ ให้ใช้ฟอนต์แบบฝัง

สีตัวอักษร
ระบุนิพจน์สีแบบอักษร นี่คือนิพจน์เลขคณิตที่ควรส่งคืน
ค่าจำนวนเต็ม 0xRRGGBB นิพจน์สามารถมีตัวแปร:

ความถี่, ความถี่ f
ความถี่ในการประเมินการเปลี่ยนแปลง

ตัวหนีบเวลา, tc
ค่าของตัวเลือก timeclamp

และหน้าที่:

มิดี้(ฉ)
จำนวน midi ของความถี่ f, ตัวเลข midi บางตัว: E0(16) C1(24) C2(36) A4(69)

ร(x), กรัม(x), ข(x)
ค่าความเข้มสีแดง สีเขียว และสีน้ำเงิน x

ค่าเริ่มต้นคือ "st(0, (midi(f)-59.5)/12); st(1, if(between(ld(0),
0.5-0.5*คอส(2*PI*ld(0)), 0)); ร(1-ล(1)) + ข(ld(1))"

FullHD
หากตั้งค่าเป็น 1 (ค่าเริ่มต้น) ขนาดวิดีโอจะเป็น 1920x1080 (full HD) หากตั้งค่าเป็น 0 ให้
ขนาดวิดีโอคือ 960x540 ใช้ตัวเลือกนี้เพื่อลดการใช้ CPU

เฟรมต่อวินาที ระบุ fps ของวิดีโอ ค่าเริ่มต้นคือ 25

นับ
ระบุจำนวนการแปลงต่อเฟรม ดังนั้นจึงมีการแปลงจำนวน fps* ต่อวินาที
โปรดทราบว่าอัตราข้อมูลเสียงต้องหารด้วยจำนวน fps* ค่าเริ่มต้นคือ 6

ตัวอย่าง

· เล่นเสียงขณะแสดงสเปกตรัม:

ffplay -f lavfi 'movie=a.mp3, asplit [a][out1]; [a] showcqt [ออก0]'

· เช่นเดียวกับด้านบน แต่ด้วยอัตราเฟรม 30 fps:

ffplay -f lavfi 'movie=a.mp3, asplit [a][out1]; [a] showcqt=fps=30:count=5 [ออก0]'

· เล่นที่ 960x540 และใช้งาน CPU ต่ำกว่า:

ffplay -f lavfi 'movie=a.mp3, asplit [a][out1]; [a] showcqt=fullhd=0:count=3 [ออก0]'

· A1 และฮาร์โมนิกของมัน: A1, A2, (ใกล้)E3, A3:

ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
แยก[a][ออก1]; [a] showcqt [ออก0]'

· เหมือนข้างบน แต่มีความแม่นยำมากกว่าในโดเมนความถี่ (และช้ากว่า):

ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
แยก[a][ออก1]; [a] showcqt=timeclamp=0.5 [ออก0]'

· B-weighting ของความดังเท่ากัน

ปริมาณ=16*b_weighting(f)

· ปัจจัย Q ที่ต่ำกว่า

ความยาว=100/f*tc/(100/f+tc)

· สีฟอนต์ที่กำหนดเอง, C-note เป็นสีเขียว, อื่นๆ เป็นสีน้ำเงิน

fontcolor='if(mod(floor(midi(f)+0.5),12), 0x0000FF, g(1))'

· แกมม่าที่กำหนดเอง ตอนนี้สเปกตรัมเป็นเส้นตรงไปยังแอมพลิจูด

แกมมา=2:แกมมา2=2

แสดงความถี่
แปลงเสียงอินพุตเป็นเอาต์พุตวิดีโอแทนสเปกตรัมกำลังเสียง เครื่องเสียง
แอมพลิจูดอยู่บนแกน Y ในขณะที่ความถี่อยู่บนแกน X

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ขนาด, s
ระบุขนาดของวิดีโอ สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ ขนาด" ส่วน
in ffmpeg-ยูทิลิตี้ คู่มือ. ค่าเริ่มต้นคือ "1024x512"

โหมด
ตั้งค่าโหมดการแสดงผล กำหนดวิธีการแสดงแต่ละช่องความถี่

ยอมรับค่าต่อไปนี้:

เส้น
บาร์
จุด

ค่าเริ่มต้นคือ "บาร์"

สเกล
ตั้งค่ามาตราส่วนแอมพลิจูด

ยอมรับค่าต่อไปนี้:

lin มาตราส่วนเชิงเส้น

ตร.ว
มาตราส่วนรากที่สอง

ซีบีอาร์ที
ขนาดรูตลูกบาศก์

เข้าสู่ระบบ มาตราส่วนลอการิทึม

ค่าเริ่มต้นคือ "บันทึก"

เอฟสเกล
ตั้งค่ามาตราส่วนความถี่

ยอมรับค่าต่อไปนี้:

lin มาตราส่วนเชิงเส้น

เข้าสู่ระบบ มาตราส่วนลอการิทึม

บล็อก
สเกลลอการิทึมย้อนกลับ

ค่าเริ่มต้นคือ "lin"

win_size
กำหนดขนาดหน้าต่าง

ยอมรับค่าต่อไปนี้:

w16
w32
w64
w128
w256
w512
w1024
w2048
w4096
w8192
w16384
w32768
w65536

ค่าเริ่มต้นคือ "w2048"

win_func
ตั้งค่าฟังก์ชั่นหน้าต่าง

ยอมรับค่าต่อไปนี้:

ตรง
Bartlett
ฮันหนิง
แฮมมิ่ง
ชายผิวดำ
เวลช์
แบน
บาริส
อ้วน
บานน
ซายน์
นัททอล

ค่าเริ่มต้นคือ "ฮันนิง"

คาบเกี่ยวกัน
ตั้งค่าหน้าต่างทับซ้อนกัน อยู่ในช่วง "[0, 1]" ค่าเริ่มต้นคือ 1 ซึ่งหมายถึงการทับซ้อนที่เหมาะสมที่สุดสำหรับ
ฟังก์ชั่นหน้าต่างที่เลือกจะถูกเลือก

ค่าเฉลี่ย
ตั้งเวลาเฉลี่ย การตั้งค่านี้เป็น 0 จะแสดงยอดสูงสุดในปัจจุบัน ค่าเริ่มต้นคือ
1 ซึ่งหมายความว่าการเฉลี่ยเวลาถูกปิดใช้งาน

สี
ระบุรายการสีที่คั่นด้วยช่องว่างหรือ '|' ซึ่งจะใช้ในการวาดช่อง
ความถี่ สีที่ไม่รู้จักหรือหายไปจะถูกแทนที่ด้วยสีขาว

แสดงสเปกตรัม
แปลงเสียงอินพุตเป็นเอาต์พุตวิดีโอ แทนสเปกตรัมความถี่เสียง

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ขนาด, s
ระบุขนาดวิดีโอสำหรับเอาต์พุต สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ
ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ. ค่าเริ่มต้นคือ "640x512"

สไลด์
ระบุว่าสเปกตรัมควรเลื่อนไปตามหน้าต่างอย่างไร

ยอมรับค่าต่อไปนี้:

แทนที่
ตัวอย่างจะเริ่มอีกครั้งทางซ้ายเมื่อไปถึงทางขวา

เลื่อน
ตัวอย่างเลื่อนจากขวาไปซ้าย

เต็มกรอบ
เฟรมถูกผลิตขึ้นเมื่อตัวอย่างถึงทางขวาเท่านั้น

ค่าเริ่มต้นคือ "แทนที่"

โหมด
ระบุโหมดการแสดงผล

ยอมรับค่าต่อไปนี้:

รวม
ทุกช่องจะแสดงในแถวเดียวกัน

แยก
ทุกช่องจะแสดงเป็นแถวแยกกัน

ค่าเริ่มต้นคือ รวม.

สี
ระบุโหมดสีที่แสดง

ยอมรับค่าต่อไปนี้:

ช่อง
แต่ละช่องจะแสดงเป็นสีแยกกัน

ความรุนแรง
แต่ละช่องจะแสดงโดยใช้โทนสีเดียวกัน

ค่าเริ่มต้นคือ ช่อง.

ขนาด
ระบุมาตราส่วนที่ใช้สำหรับคำนวณค่าสีที่มีความเข้ม

ยอมรับค่าต่อไปนี้:

lin เชิงเส้น

ตร.ว
รากที่สอง, ค่าเริ่มต้น

ซีบีอาร์ที
ลูกบาศก์รูท

เข้าสู่ระบบ เกี่ยวกับลอการิทึม

ค่าเริ่มต้นคือ ตร.ว.

ความอิ่มตัว
ตั้งค่าตัวปรับความอิ่มตัวของสีที่แสดง ค่าลบให้ทางเลือก
โทนสี 0 คือไม่มีความอิ่มตัวเลย ความอิ่มตัวต้องอยู่ในช่วง [-10.0, 10.0]
ค่าเริ่มต้นคือ 1

win_func
ตั้งค่าฟังก์ชั่นหน้าต่าง

ยอมรับค่าต่อไปนี้:

ไม่มี
ไม่มีตัวอย่างก่อนการประมวลผล (อย่าคาดหวังว่าจะเร็วกว่านี้)

ฮันน์
หน้าต่างฮันน์

แฮมมิ่ง
หน้าต่างแฮมมิง

ชายผิวดำ
หน้าต่างแบล็คแมน

ค่าเริ่มต้นคือ "ฮันน์"

การใช้งานคล้ายกับตัวกรองคลื่นความถี่สูง ดูตัวอย่างในส่วนนั้น

ตัวอย่าง

· หน้าต่างบานใหญ่พร้อมสเกลสีลอการิทึม:

showspectrum=s=1280x480:ขนาด=log

· ตัวอย่างที่สมบูรณ์สำหรับสเปกตรัมสีและเลื่อนต่อช่องโดยใช้ ffplay:

ffplay -f lavfi 'movie=input.mp3, asplit [a][out1];
[a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]'

ปริมาณการแสดง
แปลงระดับเสียงอินพุตเป็นเอาต์พุตวิดีโอ

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ประเมินค่า, r
กำหนดอัตราวิดีโอ

b กำหนดความกว้างของเส้นขอบ ช่วงที่อนุญาตคือ [0, 5] ค่าเริ่มต้นคือ 1

w ตั้งค่าความกว้างของช่อง ช่วงที่อนุญาตคือ [40, 1080] ค่าเริ่มต้นคือ 400

h ตั้งค่าความสูงของช่อง ช่วงที่อนุญาตคือ [1, 100] ค่าเริ่มต้นคือ 20

f ตั้งค่าให้จางลง ช่วงที่อนุญาตคือ [1, 255] ค่าเริ่มต้นคือ 20

c ตั้งค่าการแสดงออกของสีระดับเสียง

นิพจน์สามารถใช้ตัวแปรต่อไปนี้:

VOLUME
ปริมาณสูงสุดของช่องปัจจุบันในหน่วย dB

CHANNEL
หมายเลขช่องปัจจุบัน เริ่มต้นจาก 0

t หากตั้งค่าไว้ จะแสดงชื่อช่อง เปิดใช้งานค่าเริ่มต้น

โชว์เวฟ
แปลงเสียงอินพุตเป็นเอาต์พุตวิดีโอ แทนคลื่นตัวอย่าง

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ขนาด, s
ระบุขนาดวิดีโอสำหรับเอาต์พุต สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ
ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ. ค่าเริ่มต้นคือ "600x240"

โหมด
ตั้งค่าโหมดการแสดงผล

ค่าที่ใช้ได้คือ:

จุด
วาดจุดสำหรับแต่ละตัวอย่าง

เส้น
วาดเส้นแนวตั้งสำหรับแต่ละตัวอย่าง

p2p วาดจุดสำหรับแต่ละตัวอย่างและเส้นแบ่งระหว่างตัวอย่าง

ไคลน์
วาดเส้นแนวตั้งตรงกลางสำหรับแต่ละตัวอย่าง

ค่าเริ่มต้นคือ "จุด"

n กำหนดจำนวนตัวอย่างที่จะพิมพ์ในคอลัมน์เดียวกัน มูลค่าที่มากขึ้นจะ
ลดอัตราเฟรม ต้องเป็นจำนวนเต็มบวก ตัวเลือกนี้สามารถตั้งค่าได้ก็ต่อเมื่อ
ค่าสำหรับ อัตรา ไม่ได้ระบุไว้อย่างชัดเจน

ประเมินค่า, r
ตั้งค่าอัตราเฟรมเอาต์พุต (โดยประมาณ) ทำได้โดยการตั้งค่าตัวเลือก n. ค่าเริ่มต้น
ค่าคือ "25"

split_channels
ตั้งค่าว่าควรวาดช่องแยกกันหรือทับซ้อนกัน ค่าเริ่มต้นคือ 0

ตัวอย่าง

· เอาต์พุตเสียงของไฟล์อินพุตและการแสดงวิดีโอที่เกี่ยวข้องพร้อมกัน
เวลา:

amovie=a.mp3,asplit[out0],showwaves[out1]

· สร้างสัญญาณสังเคราะห์และแสดงด้วยคลื่นโชว์ โดยบังคับให้มีอัตราเฟรม 30
เฟรมต่อวินาที:

aevalsrc=sin(1*2*PI*t)*sin(880*2*PI*t):cos(2*PI*200*t),asplit[out0],showwaves=r=30[out1]

โชว์เวฟสปิค
แปลงเสียงอินพุตเป็นเฟรมวิดีโอเดียว แทนคลื่นตัวอย่าง

ตัวกรองยอมรับตัวเลือกต่อไปนี้:

ขนาด, s
ระบุขนาดวิดีโอสำหรับเอาต์พุต สำหรับไวยากรณ์ของตัวเลือกนี้ ให้ทำเครื่องหมายที่ "วิดีโอ
ขนาด" ส่วน in ffmpeg-ยูทิลิตี้ คู่มือ. ค่าเริ่มต้นคือ "600x240"

split_channels
ตั้งค่าว่าควรวาดช่องแยกกันหรือทับซ้อนกัน ค่าเริ่มต้นคือ 0

ตัวอย่าง

· แยกการแสดงการแยกช่องสัญญาณของรูปแบบคลื่นของแทร็กเสียงทั้งหมดใน a
รูปภาพ 1024x800 โดยใช้ ffmpeg:

ffmpeg -i เสียง.flac -lavfi showwavespic=split_channels=1:s=1024x800 waveform.png

แยก, แยก
แยกอินพุตออกเป็นเอาต์พุตที่เหมือนกันหลายรายการ

"asplit" ใช้งานได้กับอินพุตเสียง "แยก" กับวิดีโอ

ตัวกรองยอมรับพารามิเตอร์เดียวซึ่งระบุจำนวนเอาต์พุต ถ้า
ไม่ระบุ ค่าเริ่มต้นคือ 2

ตัวอย่าง

· สร้างสองเอาต์พุตแยกจากอินพุตเดียวกัน:

[ใน] แยก [ออก0][ออก1]

· ในการสร้างเอาต์พุต 3 รายการขึ้นไป คุณต้องระบุจำนวนเอาต์พุต เช่น:

[ใน] asplit=3 [out0][out1][out2]

· สร้างเอาต์พุตแยกกันสองรายการจากอินพุตเดียวกัน หนึ่งรายการครอบตัดและอีกหนึ่งรายการ:

[ใน] แยก [splitout1][splitout2];
[splitout1] crop=100:100:0:0 [cropout];
[splitout2] pad=200:200:100:100 [padout];

·สร้าง 5 สำเนาของเสียงอินพุตด้วย ffmpeg:

ffmpeg -i อินพุต -filter_complex asplit=5 เอาต์พุต

zmq อัซม์
รับคำสั่งที่ส่งผ่านไคลเอ็นต์ libzmq และส่งต่อไปยังตัวกรองใน
ตัวกรอง

"zmq" และ "azmq" ทำงานเป็นตัวกรองแบบพาส-ทรู ต้องแทรก "zmq" ระหว่างสองวิดีโอ
ตัวกรอง "azmq" ระหว่างตัวกรองเสียงสองตัว

ในการเปิดใช้งานตัวกรองเหล่านี้ คุณต้องติดตั้งไลบรารี libzmq และส่วนหัวและกำหนดค่า
FFmpeg ด้วย "--enable-libzmq"

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ libzmq ดู:http://www.zeromq.org/>

ตัวกรอง "zmq" และ "azmq" ทำงานเป็นเซิร์ฟเวอร์ libzmq ซึ่งรับข้อความที่ส่งผ่าน
อินเทอร์เฟซเครือข่ายที่กำหนดโดย bind_address ตัวเลือก

ข้อความที่ได้รับจะต้องอยู่ในรูปแบบ:

[ ]

เป้าหมาย ระบุเป้าหมายของคำสั่ง โดยปกติชื่อของคลาสตัวกรองหรือa
ชื่ออินสแตนซ์ตัวกรองเฉพาะ

คำสั่ง ระบุชื่อของคำสั่งสำหรับตัวกรองเป้าหมาย

หาเรื่อง เป็นทางเลือกและระบุรายการอาร์กิวเมนต์ที่เป็นทางเลือกสำหรับ คำสั่ง.

เมื่อรับข้อความจะถูกประมวลผลและคำสั่งที่เกี่ยวข้องจะถูกฉีดเข้าไปใน
กราฟตัวกรอง ตัวกรองจะส่งการตอบกลับไปยังไคลเอนต์ทั้งนี้ขึ้นอยู่กับผลลัพธ์
การนำรูปแบบ:




ข้อความ เป็นทางเลือก

ตัวอย่าง

ดูที่ เครื่องมือ/zmqsend สำหรับตัวอย่างไคลเอ็นต์ zmq ที่สามารถใช้ส่งคำสั่งได้
ประมวลผลโดยตัวกรองเหล่านี้

พิจารณาตัวกรองต่อไปนี้ที่สร้างโดย ffplay

ffplay -dumpgraph 1 -f lavfi "
สี=s=100x100:c=สีแดง [l];
สี=s=100x100:c=สีน้ำเงิน [r];
nullsrc=s=200x100, zmq [bg];
[bg][l] โอเวอร์เลย์ [bg+l];
[bg+l][r] โอเวอร์เลย์=x=100 "

ในการเปลี่ยนสีด้านซ้ายของวิดีโอ คุณสามารถใช้คำสั่งต่อไปนี้:

echo Parsed_color_0 c สีเหลือง | เครื่องมือ/zmqsend

วิธีเปลี่ยนด้านขวา:

echo Parsed_color_1 c สีชมพู | เครื่องมือ/zmqsend

มัลติมีเดีย แหล่งที่มา


ด้านล่างนี้คือคำอธิบายของแหล่งมัลติมีเดียที่มีอยู่ในปัจจุบัน

ภาพยนตร์
นี่ก็เหมือนกับ หนัง ยกเว้นว่าจะเลือกสตรีมเสียงเป็นค่าเริ่มต้น

หนัง
อ่านสตรีมเสียงและ/หรือวิดีโอจากคอนเทนเนอร์ภาพยนตร์

ยอมรับพารามิเตอร์ต่อไปนี้:

ชื่อไฟล์
ชื่อของทรัพยากรที่จะอ่าน (ไม่จำเป็นต้องเป็นไฟล์ อาจเป็นอุปกรณ์หรือ
สตรีมที่เข้าถึงได้ผ่านโปรโตคอลบางตัว)

รูปแบบ_ชื่อ, f
ระบุรูปแบบที่สันนิษฐานไว้สำหรับภาพยนตร์ที่จะอ่าน และสามารถเป็นชื่อของa
ภาชนะหรืออุปกรณ์อินพุต หากไม่ระบุ รูปแบบจะเดาจาก movie_name
หรือโดยการตรวจสอบ

Seek_point, sp
ระบุจุดค้นหาเป็นวินาที เฟรมจะถูกส่งออกจากการค้นหานี้
จุด. พารามิเตอร์ถูกประเมินด้วย "av_strtod" ดังนั้นค่าตัวเลขอาจเป็น
ต่อท้ายด้วย IS postfix ค่าเริ่มต้นคือ "0"

ลำธาร s
ระบุสตรีมที่จะอ่าน สามารถระบุสตรีมได้หลายรายการ โดยคั่นด้วย "+" ดิ
แหล่งที่มาจะมีเอาต์พุตมากเท่าใดในลำดับเดียวกัน ไวยากรณ์อธิบายไว้ใน
ส่วน ``ตัวระบุสตรีม'' ในคู่มือ ffmpeg สองชื่อพิเศษ "dv" และ
"da" ระบุสตรีมวิดีโอและเสียงเริ่มต้น (เหมาะสมที่สุด) ตามลำดับ ค่าเริ่มต้นคือ
"dv" หรือ "da" หากตัวกรองเรียกว่า "ภาพยนตร์"

สตรีม_ดัชนี, si
ระบุดัชนีของสตรีมวิดีโอที่จะอ่าน ถ้าค่าเป็น -1 จะเหมาะสมที่สุด
สตรีมวิดีโอจะถูกเลือกโดยอัตโนมัติ ค่าเริ่มต้นคือ "-1" เลิกใช้แล้ว ถ้า
ตัวกรองเรียกว่า "ภาพยนตร์" มันจะเลือกเสียงแทนวิดีโอ

ห่วง
ระบุจำนวนครั้งในการอ่านสตรีมตามลำดับ ถ้าค่าน้อยกว่า 1
สตรีมจะถูกอ่านซ้ำแล้วซ้ำอีก ค่าเริ่มต้นคือ "1"

โปรดทราบว่าเมื่อภาพยนตร์วนซ้ำ การประทับเวลาต้นทางจะไม่เปลี่ยนแปลง ดังนั้นมันจะ
สร้างการประทับเวลาที่ไม่ซ้ำซากจำเจ

อนุญาตให้ซ้อนทับวิดีโอที่สองที่ด้านบนของอินพุตหลักของกราฟตัวกรองดังที่แสดงใน
กราฟนี้:

อินพุต ------------> deltapts0 --> โอเวอร์เลย์ --> เอาต์พุต
^
|
หนัง --> มาตราส่วน --> deltapts1 --------+

ตัวอย่าง

· ข้าม 3.2 วินาทีจากจุดเริ่มต้นของไฟล์ AVI ใน in.avi แล้ววางทับบน
อินพุตที่มีป้ายกำกับ "ใน":

movie=in.avi:seek_point=3.2, scale=180:-1, setpts=PTS-STARTPTS [มากกว่า];
[ใน] setpts=PTS-STARTPTS [หลัก];
[หลัก][โอเวอร์] โอเวอร์เลย์=16:16 [ออก]

· อ่านจากอุปกรณ์ video4linux2 และวางซ้อนบนอินพุตที่มีป้ายกำกับว่า "ใน":

movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [มากกว่า];
[ใน] setpts=PTS-STARTPTS [หลัก];
[หลัก][โอเวอร์] โอเวอร์เลย์=16:16 [ออก]

· อ่านสตรีมวิดีโอแรกและสตรีมเสียงด้วย id 0x81 จาก dvd.vob วีดีโอ
เชื่อมต่อกับแพดชื่อ "วิดีโอ" และเสียงเชื่อมต่อกับแพดชื่อ
"เสียง":

movie=dvd.vob:s=v:0+#0x81 [วิดีโอ] [เสียง]

ใช้ ffplay-all ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    Phaser
    Phaser
    Phaser เป็นโปรแกรมเปิดที่รวดเร็ว ฟรี และสนุก
    ซอร์สเฟรมเวิร์กเกม HTML5 ที่นำเสนอ
    การแสดงผล WebGL และ Canvas ทั่ว
    เว็บเบราว์เซอร์เดสก์ท็อปและมือถือ เกม
    สามารถร่วม...
    ดาวน์โหลดเฟสเซอร์
  • 2
    เครื่องยนต์ VASSAL
    เครื่องยนต์ VASSAL
    VASSAL เป็นเอ็นจิ้นเกมสำหรับการสร้าง
    บอร์ดอิเล็กทรอนิกส์แบบดั้งเดิม
    และการ์ดเกม มันให้การสนับสนุนสำหรับ
    การเรนเดอร์ชิ้นส่วนเกมและการโต้ตอบ
    และ ...
    ดาวน์โหลด VASSAL Engine
  • 3
    OpenPDF - ทางแยกของ iText
    OpenPDF - ทางแยกของ iText
    OpenPDF เป็นไลบรารี Java สำหรับสร้าง
    และแก้ไขไฟล์ PDF ด้วย LGPL และ
    ใบอนุญาตโอเพ่นซอร์ส MPL OpenPDF คือ
    LGPL / MPL โอเพ่นซอร์สผู้สืบทอดของ iText
    แล้ว ...
    ดาวน์โหลด OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - ระบบอัตโนมัติ
    การวิเคราะห์ทางธรณีวิทยา - เป็นภูมิศาสตร์
    ซอฟต์แวร์ระบบสารสนเทศ (GIS) พร้อม
    ความสามารถอันยิ่งใหญ่สำหรับ geodata
    การประมวลผลและอนา...
    ดาวน์โหลด SAGA GIS
  • 5
    กล่องเครื่องมือสำหรับ Java/JTOpen
    กล่องเครื่องมือสำหรับ Java/JTOpen
    IBM Toolbox สำหรับ Java / JTOpen คือ
    ไลบรารีของคลาส Java ที่สนับสนุน
    ไคลเอนต์/เซิร์ฟเวอร์และโปรแกรมอินเทอร์เน็ต
    รุ่นไปยังระบบที่ใช้ OS/400,
    i5/โอเอส โอ...
    ดาวน์โหลดกล่องเครื่องมือสำหรับ Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (หรือ D3 สำหรับเอกสารที่ขับเคลื่อนด้วยข้อมูล)
    เป็นไลบรารี JavaScript ที่ช่วยให้คุณ
    เพื่อสร้างข้อมูลเชิงโต้ตอบแบบไดนามิก
    การแสดงภาพในเว็บเบราว์เซอร์ ด้วย D3
    คุณ...
    ดาวน์โหลด D3.js
  • เพิ่มเติม»

คำสั่ง Linux

  • 1
    อธิบดี
    อธิบดี
    abidiff - เปรียบเทียบ ABI ของไฟล์ ELF
    Abidiff เปรียบเทียบ Application Binary
    อินเทอร์เฟซ (ABI) ของสองไลบรารีที่ใช้ร่วมกัน
    ในรูปแบบเอลฟ์ มันเปล่งออกมาอย่างมีความหมาย
    รายงาน...
    เรียกใช้ abidiff
  • 2
    อาบิดวี
    อาบิดวี
    abidw - ทำให้เป็นอันดับ ABI ของ ELF
    ไฟล์ abidw อ่านไลบรารีที่ใช้ร่วมกันใน ELF
    จัดรูปแบบและปล่อยการแสดง XML
    ของ ABI ไปยังเอาต์พุตมาตรฐาน เดอะ
    ปล่อยออกมา ...
    วิ่งต่อไป
  • 3
    โคแพค2xml
    โคแพค2xml
    bibutils - การแปลงบรรณานุกรม
    ค่าสาธารณูปโภค ...
    เรียกใช้ copac2xml
  • 4
    ชาวอียิปต์โบราณ
    ชาวอียิปต์โบราณ
    copt - เครื่องมือเพิ่มประสิทธิภาพตาแมว SYSNOPIS:
    ไฟล์คอปต์ .. รายละเอียด: คอปต์คือไฟล์
    เครื่องมือเพิ่มประสิทธิภาพช่องมองสำหรับวัตถุประสงค์ทั่วไป มัน
    อ่านรหัสจากอินพุตมาตรฐานและ
    เขียน ...
    เรียกใช้ตำรวจ
  • 5
    Gather_stx_titles
    Gather_stx_titles
    Gather_stx_titles - รวบรวมชื่อเรื่อง
    ประกาศจากเอกสาร Stx ...
    เรียกใช้ Gather_stx_titles
  • 6
    ม้านั่ง Gatling
    ม้านั่ง Gatling
    ม้านั่ง - เกณฑ์มาตรฐาน http ...
    เรียกม้านั่ง Gatling
  • เพิ่มเติม»

Ad