ฉันต้องการติดแท็กวิดีโอเป็น bt.601 อย่างชัดเจนมากกว่า "ไม่ได้ระบุ" ฉันรู้ว่าผู้เล่นมักจะเลือก bt.601 เป็นค่าเริ่มต้นสำหรับวิดีโอที่มีความกว้างน้อยกว่า 1280 พิกเซล แต่ฉันต้องการทำให้ชัดเจนว่า bt.601 เป็นเมทริกซ์สีที่ถูกต้องสำหรับวิดีโอ
จุดเกาะติดคือไม่มีbt601
ตัวเลือกสำหรับ ffmpeg หรือ libx264 เพียง bt709 และอื่น ๆ
ฉันมีวิดีโอบางส่วนที่ลดขนาดจาก HD และยังคงอยู่ในราคา 709 แต่ไม่ได้ติดแท็กอย่างถูกต้อง ดังนั้นเมื่อผมดูวิดีโอบางครั้งผมต้องด้วยตนเองสลับผู้เล่นของฉันไป bt.709 การติดแท็กอย่างชัดเจนว่า bt.601 จะสื่อสารกับผู้ชมในอนาคต (เช่นตัวเอง) ว่ามันเป็นแน่นอน bt.601 และไม่ผิดพลาดแท็ก bt.709 mediainfo
วิดีโอเมื่อฉันมองไปที่มันมี
กรณีการใช้งานอื่นสำหรับกรณีนี้คือหากคุณเพิ่มสเกลวิดีโอ bt.601 เป็น 1280 หรือสูงกว่าโดยไม่ทำการแปลง colormatrix (โดยใช้-vf colormatrix
) ผู้เล่นจะสันนิษฐานว่าไม่ถูกต้อง bt.709 หากคุณปล่อยให้ข้อมูลสีไม่ได้ระบุ
colormatrix
ฟิลเตอร์วิดีโอของ FFMpeg ไม่รองรับbt601
เมทริกซ์สีอินพุตหรือเอาต์พุต แต่ไม่ได้ตั้งค่าแท็ก (เนื่องจากไม่มีผลข้างเคียงของการตั้งค่าตัวเลือกสีของ ffmpeg จึงปฏิเสธที่จะใช้งานด้วย src และปลายทางเหมือน-vf colormatrix=bt601:bt601
กัน)
ffmpg in -color_primaries bt709 -color_trc bt709 -colorspace bt709 out
จะแท็กวิดีโอเอาต์พุตเป็น bt.709 สำหรับ yuv <-> rgb แท็กสิ้นสุดลงในบิตสตรีมวิดีโอไม่เพียง แต่อยู่ในคอนเทนเนอร์ (เนื่องจากเป็นตัวแปลงสัญญาณที่เฉพาะเจาะจงไม่ใช่ของที่เก็บข้อมูลสำหรับคอนเทนเนอร์ mp4 และ mkv อย่างน้อย)
เช่นmediainfo
เอาท์พุท:
Complete name : out.mkv
...
Writing application : Lavf57.14.100
Writing library : Lavf57.14.100
Video
ID : 1
Format : AVC
...
Writing library : x264 core 148 r2638+4 afcf21c
Encoding settings : cabac=1 / ref=8 / ...
Language : English
Default : Yes
Forced : No
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
ดังนั้น bt.709 จึงติดแท็กได้ง่าย ปัญหาคือฉันไม่เห็น bt.601 ที่ใดก็ได้ ชื่ออื่นเป็นชื่อแทนหรือไม่สามารถระบุได้อย่างชัดเจนใช่หรือไม่
x264 --fullhelp output:
--colorprim <string> Specify color primaries ["undef"]
- undef, bt709, bt470m, bt470bg, smpte170m,
smpte240m, film, bt2020
--transfer <string> Specify transfer characteristics ["undef"]
- undef, bt709, bt470m, bt470bg, smpte170m,
smpte240m, linear, log100, log316,
iec61966-2-4, bt1361e, iec61966-2-1,
bt2020-10, bt2020-12
--colormatrix <string> Specify color matrix setting ["???"]
- undef, bt709, fcc, bt470bg, smpte170m,
smpte240m, GBR, YCgCo, bt2020nc, bt2020c
ffmpeg -h full
แสดงชุดตัวเลือกชุดเดียวกันสำหรับตัวเลือกสีซึ่ง-c:v libx264
ตัวแปลงสัญญาณวิดีโอของ ffmpeg ส่งต่อไปยัง x264 สิ่งเหล่านี้เป็นนามแฝงสำหรับ bt.601 หรือมีเมทริกซ์สีที่เท่ากันหรือไม่
-color_primaries smpte170m -color_trc smpte170m -colorspace smpte170m
)