นี่คือคำแนะนำคร่าวๆในการปรับแต่งตัวเข้ารหัส:
เราจะเริ่มจากพื้นฐานเพราะมันจะเป็นอันตรายที่จะข้ามไปสู่ข้อสรุปว่าการโจมตีอย่างรวดเร็วของตัวเลือกจะปรับปรุงผลลัพธ์ที่คาดหวังโดยไม่เข้าใจวัตถุประสงค์และความคาดหวังที่ต้องการ:
1. เริ่มต้นด้วยการทำความเข้าใจตัวเลือกของเครื่องเข้ารหัส
สำหรับเอ็นโค้ดเดอร์ที่ใช้ NVENC เริ่มต้นด้วยการเรียนรู้ตัวเลือกของเอนโค้ดเดอร์แต่ละตัวใช้เวลา (โปรดทราบว่าฉันใช้ Linux ซึ่งเป็นสาเหตุที่ฉันใช้ xclip เพื่อคัดลอกตัวแปลงสัญญาณไปยังคลิปบอร์ดก่อนวางที่นี่)
(ก) สำหรับตัวเข้ารหัส H.264:
ffmpeg -hide_banner -h encoder=h264_nvenc | xclip -sel clip
เอาท์พุท:
Encoder h264_nvenc [NVIDIA NVENC H.264 encoder]:
General capabilities: delay
Threading capabilities: none
Supported pixel formats: yuv420p nv12 p010le yuv444p yuv444p16le bgr0 rgb0 cuda
h264_nvenc AVOptions:
-preset <int> E..V.... Set the encoding preset (from 0 to 11) (default medium)
default E..V....
slow E..V.... hq 2 passes
medium E..V.... hq 1 pass
fast E..V.... hp 1 pass
hp E..V....
hq E..V....
bd E..V....
ll E..V.... low latency
llhq E..V.... low latency hq
llhp E..V.... low latency hp
lossless E..V....
losslesshp E..V....
-profile <int> E..V.... Set the encoding profile (from 0 to 3) (default main)
baseline E..V....
main E..V....
high E..V....
high444p E..V....
-level <int> E..V.... Set the encoding level restriction (from 0 to 51) (default auto)
auto E..V....
1 E..V....
1.0 E..V....
1b E..V....
1.0b E..V....
1.1 E..V....
1.2 E..V....
1.3 E..V....
2 E..V....
2.0 E..V....
2.1 E..V....
2.2 E..V....
3 E..V....
3.0 E..V....
3.1 E..V....
3.2 E..V....
4 E..V....
4.0 E..V....
4.1 E..V....
4.2 E..V....
5 E..V....
5.0 E..V....
5.1 E..V....
-rc <int> E..V.... Override the preset rate-control (from -1 to INT_MAX) (default -1)
constqp E..V.... Constant QP mode
vbr E..V.... Variable bitrate mode
cbr E..V.... Constant bitrate mode
vbr_minqp E..V.... Variable bitrate mode with MinQP (deprecated)
ll_2pass_quality E..V.... Multi-pass optimized for image quality (deprecated)
ll_2pass_size E..V.... Multi-pass optimized for constant frame size (deprecated)
vbr_2pass E..V.... Multi-pass variable bitrate mode (deprecated)
cbr_ld_hq E..V.... Constant bitrate low delay high quality mode
cbr_hq E..V.... Constant bitrate high quality mode
vbr_hq E..V.... Variable bitrate high quality mode
-rc-lookahead <int> E..V.... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0)
-surfaces <int> E..V.... Number of concurrent surfaces (from 0 to 64) (default 0)
-cbr <boolean> E..V.... Use cbr encoding mode (default false)
-2pass <boolean> E..V.... Use 2pass encoding mode (default auto)
-gpu <int> E..V.... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)
any E..V.... Pick the first device available
list E..V.... List the available devices
-delay <int> E..V.... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)
-no-scenecut <boolean> E..V.... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)
-forced-idr <boolean> E..V.... If forcing keyframes, force them as IDR frames. (default false)
-b_adapt <boolean> E..V.... When lookahead is enabled, set this to 0 to disable adaptive B-frame decision (default true)
-spatial-aq <boolean> E..V.... set to 1 to enable Spatial AQ (default false)
-temporal-aq <boolean> E..V.... set to 1 to enable Temporal AQ (default false)
-zerolatency <boolean> E..V.... Set 1 to indicate zero latency operation (no reordering delay) (default false)
-nonref_p <boolean> E..V.... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)
-strict_gop <boolean> E..V.... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)
-aq-strength <int> E..V.... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)
-cq <float> E..V.... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)
-aud <boolean> E..V.... Use access unit delimiters (default false)
-bluray-compat <boolean> E..V.... Bluray compatibility workarounds (default false)
-init_qpP <int> E..V.... Initial QP value for P frame (from -1 to 51) (default -1)
-init_qpB <int> E..V.... Initial QP value for B frame (from -1 to 51) (default -1)
-init_qpI <int> E..V.... Initial QP value for I frame (from -1 to 51) (default -1)
-qp <int> E..V.... Constant quantization parameter rate control method (from -1 to 51) (default -1)
-weighted_pred <int> E..V.... Set 1 to enable weighted prediction (from 0 to 1) (default 0)
-coder <int> E..V.... Coder type (from -1 to 2) (default default)
default E..V....
auto E..V....
cabac E..V....
cavlc E..V....
ac E..V....
vlc E..V....
(ข) สำหรับตัวเข้ารหัส HEVC / H.265:
ffmpeg -hide_banner -h encoder=hevc_nvenc | xclip -sel clip
เอาท์พุท:
Encoder hevc_nvenc [NVIDIA NVENC hevc encoder]:
General capabilities: delay
Threading capabilities: none
Supported pixel formats: yuv420p nv12 p010le yuv444p yuv444p16le bgr0 rgb0 cuda
hevc_nvenc AVOptions:
-preset <int> E..V.... Set the encoding preset (from 0 to 11) (default medium)
default E..V....
slow E..V.... hq 2 passes
medium E..V.... hq 1 pass
fast E..V.... hp 1 pass
hp E..V....
hq E..V....
bd E..V....
ll E..V.... low latency
llhq E..V.... low latency hq
llhp E..V.... low latency hp
lossless E..V.... lossless
losslesshp E..V.... lossless hp
-profile <int> E..V.... Set the encoding profile (from 0 to 4) (default main)
main E..V....
main10 E..V....
rext E..V....
-level <int> E..V.... Set the encoding level restriction (from 0 to 186) (default auto)
auto E..V....
1 E..V....
1.0 E..V....
2 E..V....
2.0 E..V....
2.1 E..V....
3 E..V....
3.0 E..V....
3.1 E..V....
4 E..V....
4.0 E..V....
4.1 E..V....
5 E..V....
5.0 E..V....
5.1 E..V....
5.2 E..V....
6 E..V....
6.0 E..V....
6.1 E..V....
6.2 E..V....
-tier <int> E..V.... Set the encoding tier (from 0 to 1) (default main)
main E..V....
high E..V....
-rc <int> E..V.... Override the preset rate-control (from -1 to INT_MAX) (default -1)
constqp E..V.... Constant QP mode
vbr E..V.... Variable bitrate mode
cbr E..V.... Constant bitrate mode
vbr_minqp E..V.... Variable bitrate mode with MinQP (deprecated)
ll_2pass_quality E..V.... Multi-pass optimized for image quality (deprecated)
ll_2pass_size E..V.... Multi-pass optimized for constant frame size (deprecated)
vbr_2pass E..V.... Multi-pass variable bitrate mode (deprecated)
cbr_ld_hq E..V.... Constant bitrate low delay high quality mode
cbr_hq E..V.... Constant bitrate high quality mode
vbr_hq E..V.... Variable bitrate high quality mode
-rc-lookahead <int> E..V.... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0)
-surfaces <int> E..V.... Number of concurrent surfaces (from 0 to 64) (default 0)
-cbr <boolean> E..V.... Use cbr encoding mode (default false)
-2pass <boolean> E..V.... Use 2pass encoding mode (default auto)
-gpu <int> E..V.... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)
any E..V.... Pick the first device available
list E..V.... List the available devices
-delay <int> E..V.... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)
-no-scenecut <boolean> E..V.... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)
-forced-idr <boolean> E..V.... If forcing keyframes, force them as IDR frames. (default false)
-spatial_aq <boolean> E..V.... set to 1 to enable Spatial AQ (default false)
-temporal_aq <boolean> E..V.... set to 1 to enable Temporal AQ (default false)
-zerolatency <boolean> E..V.... Set 1 to indicate zero latency operation (no reordering delay) (default false)
-nonref_p <boolean> E..V.... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)
-strict_gop <boolean> E..V.... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)
-aq-strength <int> E..V.... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)
-cq <float> E..V.... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)
-aud <boolean> E..V.... Use access unit delimiters (default false)
-bluray-compat <boolean> E..V.... Bluray compatibility workarounds (default false)
-init_qpP <int> E..V.... Initial QP value for P frame (from -1 to 51) (default -1)
-init_qpB <int> E..V.... Initial QP value for B frame (from -1 to 51) (default -1)
-init_qpI <int> E..V.... Initial QP value for I frame (from -1 to 51) (default -1)
-qp <int> E..V.... Constant quantization parameter rate control method (from -1 to 51) (default -1)
-weighted_pred <int> E..V.... Set 1 to enable weighted prediction (from 0 to 1) (default 0)
2. ทำความเข้าใจข้อ จำกัด ของฮาร์ดแวร์และยึดติดกับค่าเริ่มต้นที่มีสติก่อนใช้ตัวเลือก:
อ้างถึงคำตอบนี้สำหรับข้อ จำกัด ของฮาร์ดแวร์ที่คุณจะใช้เป็นกับ NVENC โดยเฉพาะอย่างยิ่งสำหรับการถอดรหัส HEVC ในปาสคาล
สำหรับโครงสร้างพื้นฐานฮาร์ดแวร์เร่งใช้ได้กับรุ่นปัจจุบันฮาร์ดแวร์ NVIDIA กับ FFmpeg ดูนี้คำตอบ
จากนั้นใช้ข้อมูลดังกล่าวดำเนินการในขั้นตอนต่อไป
3. ไวยากรณ์มีความสำคัญ:
นี่คือลำดับที่คุณต้องส่งอาร์กิวเมนต์ไปที่ FFmpeg:
(ก) เรียกเลขฐานสอง
(ข) ส่งผ่านอาร์กิวเมนต์ใด ๆ ไปยัง FFmpeg (เช่น-loglevel
โดยตรง) ก่อนประกาศอินพุต
(ค). หากคุณกำลังใช้การถอดรหัสด้วยฮาร์ดแวร์เร่งความเร็วเช่นcuvid
ประกาศที่นี่และระบุอาร์กิวเมนต์ที่ต้องการ ณ จุดนี้จะมีความจำเป็นที่จะต้องพูดถึงว่าตัวถอดรหัสมีข้อ จำกัด เฉพาะเช่นความละเอียดอินพุตที่คาดไว้ตัวแปลงสัญญาณที่รองรับ ฯลฯ และดังนั้นจึงแนะนำว่าในการผลิตเพื่อกำหนดและตรวจสอบความต้องการของตัวถอดรหัสฮาร์ดแวร์ที่เร่งความเร็ว ในขั้นตอนนี้ส่งผลให้การเข้ารหัสล้มเหลวและไม่สามารถกู้คืนได้ ในความเป็นจริงMPV devs ได้พูดถึงสิ่งนี้ซ้ำ ๆอย่าพึ่งพาการถอดรหัสด้วยฮาร์ดแวร์เพื่อการส่งเนื้อหาที่มีความสำคัญต่อภารกิจ
(ง) ประกาศอินพุตของคุณ สำหรับสตรีมให้ใช้ URL และหากจำเป็นให้ใส่แฟล็กเพิ่มเติมล่วงหน้า (เช่นขนาดบัฟเฟอร์) ตามต้องการ สำหรับรีซอร์สโลคัล (บนระบบไฟล์ที่สามารถเข้าถึงได้) จำเป็นต้องใช้พา ธ ไฟล์สัมบูรณ์
(จ) เลือกแทรกตัวกรอง สิ่งนี้จำเป็นสำหรับฟังก์ชั่นเช่นการปรับขนาดการสนทนารูปแบบพิกเซลการยกเลิกการเชื่อมโยงเป็นต้นโปรดทราบว่าตัวถอดรหัสที่ใช้ฮาร์ดแวร์ (ดังอธิบายในส่วน (c) จะขึ้นอยู่กับตัวกรองที่ใช้ สามารถจัดการได้มิฉะนั้นการเข้ารหัสของคุณจะล้มเหลว
(ฉ) เรียกภาพและเสียงเข้ารหัสที่เหมาะสมและผ่านการขัดแย้งที่จำเป็นเพื่อให้พวกเขาเช่นแมปบิตเรตที่ตั้งไว้ล่วงหน้า encoder, ฯลฯ เมื่อมันมาถึงอัตราบิตตรวจสอบให้แน่ใจว่าค่าที่คุณต้องการจะถูกตั้งค่าผ่านทาง-b:v
, -maxrate:v
และ-bufsize:v
ตัวเลือก อย่าเว้นว่างไว้ นี่เป็นจุดเริ่มต้นที่ดีว่าทำไมค่าเหล่านี้ถึงสำคัญ เช่นเคยเริ่มต้นด้วยการระบุที่ตั้งไว้ล่วงหน้า เลื่อนลงไปด้านล่างเพื่อดูบันทึกย่อเกี่ยวกับผลกระทบต่อประสิทธิภาพของสถานีที่ตั้งค่าไว้ด้วยโปรแกรมเปลี่ยนไฟล์นี้
(ช) ในขณะที่ FFmpeg สามารถอนุมานรูปแบบเอาต์พุตที่ต้องการของไฟล์ขึ้นอยู่กับส่วนขยายที่เลือกของไฟล์เอาต์พุตขอแนะนำให้ประกาศรูปแบบเอาต์พุตอย่างชัดเจน (ผ่านตัวเลือก -f) เพื่อให้ตัวเลือกพิเศษสามารถส่งผ่านไปยัง muxer ต้นแบบหากจำเป็น มักจะเป็นกรณีที่มีรูปแบบการสตรีมเช่น HLS, mpegts และ DASH
(ซ) พา ธ สัมบูรณ์ไปยังไฟล์เอาต์พุต
ด้วยตัวอย่างของคุณด้านบนอ้างอิงเป็น:
ffmpeg -i "e:\input.ts" -vcodec h264_nvenc -preset slow -level 4.1
-qmin 10 -qmax 52 "e:\output.mp4"
คุณสามารถเพิ่มคุณภาพผลผลิตด้วยการระบุบิตเรตที่เหมาะสม (ผ่าน-b:v
, -maxrate:v
และ, -bufsize:v
การตั้งค่า), เปิดใช้งานเทคนิคการเข้ารหัสการปรับปริมาณ (วิธีการเชิงพื้นที่และชั่วคราว AQ ได้รับการสนับสนุน, ซึ่งสามารถใช้ได้ครั้งละหนึ่ง) และเลือก (และแยกต่างหาก) การเปิดใช้งานการคาดการณ์แบบถ่วงน้ำหนัก (ซึ่งจะปิดการใช้งานการสนับสนุนเฟรม B) ดังที่แสดงด้านล่างเช่นเดียวกับตัวกรองเสริมสำหรับ downscale ที่เหมาะสมและปรับขนาดถ้าจำเป็น ตัวอย่างด้านล่างแสดงตัวอย่างการจัดการอินพุต MPEG ที่เข้ารหัสใน mpeg2:
ffmpeg -loglevel debug -threads 4 -hwaccel cuvid -c:v mpeg2_cuvid -i "e:\input.ts" \
-filter:v hwupload_cuda,scale_npp=w=1920:h=1080:interp_algo=lanczos \
-c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 8M -profile:v main \
-level:v 4.1 -rc:v vbr_hq -rc-lookahead:v 32 \
-spatial_aq:v 1 -aq-strength:v 15 -coder:v cabac \
-f mp4 "e:\output.mp4"
คำเตือน:โปรดทราบว่าการทำนายแบบถ่วงน้ำหนัก ( -weighted_pred
) ไม่สามารถเปิดใช้งานในเวลาเดียวกันกับการวัดปริมาณแบบปรับได้ ความพยายามที่จะทำเช่นนั้นจะส่งผลให้ความล้มเหลวในการเริ่มต้นเข้ารหัส
ตัวอย่างด้านบนถือว่าไฟล์อินพุตเป็นสตรีม MPEG2 หากไม่ใช่ในกรณีนี้ให้เปลี่ยนไปใช้ตัวถอดรหัส CUVID ที่ถูกต้องหลังจากวิเคราะห์แล้ว:
ffprobe -i e:\input.ts
หากเป็น 'H.264 / AVC ให้แก้ไขข้อมูลโค้ดดังแสดงด้านล่าง:
ffmpeg -loglevel debug -threads 4 -hwaccel cuvid -c:v h264_cuvid -i "e:\input.ts" \
-filter:v hwupload_cuda,scale_npp=w=1920:h=1080:interp_algo=lanczos \
-c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 8M -profile:v main \
-level:v 4.1 -rc:v vbr_hq -rc-lookahead:v 32 -spatial_aq:v 1 \
-aq-strength:v 15 -coder:v cabac \
-f mp4 "e:\output.mp4"
ฉันสังเกตเห็นว่าการเปิดใช้งานตัวเลือกการปรับปริมาณหรือการทำนายแบบถ่วงน้ำหนักสำหรับ NVENC อาจแนะนำปัญหาที่มีความเสถียรโดยเฉพาะกับชุดไดรเวอร์อุปกรณ์ที่เฉพาะเจาะจง หากเป็นไปได้ให้พิจารณาใช้เฟรม B (ไม่เกิน 3) รวมกับตัวเลือกทั่วไปที่-refs:v
ตั้งค่าเป็น 16 หรือราว ๆ นั้นแทนที่จะสลับกับ AQ และการทำนายแบบถ่วงน้ำหนัก:
ffmpeg -loglevel debug -threads 4 -hwaccel cuvid -c:v h264_cuvid -i "e:\input.ts" \
-filter:v hwupload_cuda,scale_npp=w=1920:h=1080:interp_algo=lanczos \
-c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 8M -profile:v main \
-level:v 4.1 -rc:v vbr_hq -rc-lookahead:v 32 -refs:v 16 \
-bf:v 3 -coder:v cabac \
-f mp4 "e:\output.mp4"
ด้วยทัวริงโดยเฉพาะคุณอาจได้รับประโยชน์จากการเปิดใช้งาน B-frames สำหรับการอ้างอิงตามที่แสดงด้านล่าง (ดูที่สลับ-b_ref_mode:v middle)
:
ffmpeg -loglevel debug -threads 4 -hwaccel cuvid -c:v h264_cuvid -i "e:\input.ts" \
-filter:v hwupload_cuda,scale_npp=w=1920:h=1080:interp_algo=lanczos \
-c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 8M -profile:v main \
-level:v 4.1 -rc:v vbr_hq -rc-lookahead:v 32 -refs:v 16 \
-bf:v 3 -coder:v cabac -b_ref_mode:v middle \
-f mp4 "e:\output.mp4"
หมายเหตุเพิ่มเติมเกี่ยวกับการนับด้าย (ส่งผ่านไปยัง ffmpeg ผ่าน-threads
ตัวเลือก):
เธรดตัวเข้ารหัสเพิ่มเติมที่เกินกว่าขีด จำกัด ที่แน่นอนเพิ่มความหน่วงแฝงและจะมีรอยเท้าหน่วยความจำการเข้ารหัสที่สูงขึ้น การลดลงของคุณภาพนั้นมีความสำคัญมากกว่าเนื่องจากการนับเธรดที่สูงขึ้นในโหมดบิตเรตคงที่และโหมดบิตเรตใกล้กับค่าคงที่เรียกว่า VBV (Video buffer verifier) เนื่องจากการเข้ารหัสล่าช้าเพิ่มขึ้น Keyframes ต้องการข้อมูลเพิ่มเติมจากนั้นชนิดของเฟรมอื่น ๆ เพื่อหลีกเลี่ยงการกดคีย์เฟรมคุณภาพต่ำ
โหมดเธรดแบบหน่วงเวลาเป็นศูนย์หรือแบบแบ่งส่วนไม่มีความล่าช้า แต่ตัวเลือกนี้ยิ่งทำให้คุณภาพมัลติเธรดแย่ลงในเครื่องเข้ารหัสที่รองรับ
ดังนั้นจึงควร จำกัด จำนวนเธรดที่เข้ารหัสที่เวลาแฝงมีความสำคัญเนื่องจากการรับส่งข้อมูลตัวเข้ารหัสที่รับรู้เพิ่มขึ้นเพื่อชดเชยข้อดีที่อาจเกิดขึ้นในระยะยาว
และเนื่องจากคุณอยู่บน Windows คุณอาจต้องการลบเชลล์ที่\
อยู่ด้านบนเนื่องจากฉันเขียนสิ่งนี้จากกล่อง Unix ที่ทดสอบคำสั่งด้านบน
หมายเหตุเกี่ยวกับประสิทธิภาพที่ส่งผลกระทบกับการตั้งค่าล่วงหน้าและข้อควรพิจารณาเกี่ยวกับการเข้ารหัสแบบอินเตอร์เลซ:
เพื่อประสิทธิภาพในการรับส่งข้อมูลสูงความหน่วงต่ำให้แน่ใจว่าคุณกำลังใช้งานllhp
หรือllhq
ค่าที่ตั้งไว้ล่วงหน้า สิ่งนี้มีประโยชน์มากที่สุดสำหรับเวิร์กโหลดเช่นการสตรีมสดที่คาดว่าจะใช้งานร่วมกันได้กับอุปกรณ์ที่หลากหลายมากขึ้นและด้วยเหตุนี้ฟีเจอร์ที่ทำให้หมดประสิทธิภาพเช่นเฟรม B สามารถละเว้นได้พร้อมกันเพื่อการแลกเปลี่ยนที่ดีระหว่างอัตราบิตสูง ใช้และปริมาณงาน ค่าที่ตั้งล่วงหน้าที่สูงขึ้น (เช่นค่าเริ่มต้นmedium
) จะลดการส่งคืนคุณภาพผลผลิตอย่างรวดเร็วในขณะที่ในเวลาเดียวกันทำให้เกิดความล่าช้าอย่างมากในการรับส่งข้อมูลตัวเข้ารหัส ความแตกต่างของคุณภาพระหว่างllhp
และllhq
ตามที่วัดได้โดยVMAF ของ Netflix แทบไม่ได้ผลเลย แต่ประสิทธิภาพของเครื่องเข้ารหัส (มากกว่า ~ 30% บนเตียงทดสอบของฉัน) กับอดีตนั้นสามารถเห็นได้อย่างแน่นอน
สำหรับllhp
และที่llhq
ตั้งไว้ล่วงหน้าเช่นเดียวกับที่ตั้งไว้ล่วงหน้าอื่น ๆ ที่ใช้งานคุณยังสามารถแทนที่วิธีการควบคุมอัตราที่สร้างขึ้นโดยการส่ง-rc:v
ข้อโต้แย้งตามที่เปิดเผยโดยตัวเลือกการเข้ารหัส ตัวอย่างเช่นด้วยการเข้ารหัสอัตราบิตคงที่คุณสามารถระบุ-rc:v cbr
(ซึ่งเร็วกว่าcbr_ld_hq
วิธีการควบคุมอัตราอย่างมีนัยสำคัญซึ่งจะช่วยเพิ่มการเพิ่มขึ้นอีก 20% สู่ปริมาณงาน) โปรดทราบว่าค่าที่ตั้งล่วงหน้าที่เลือกมีผลกระทบมากที่สุดต่อปริมาณงานตามด้วยตัวเลือกที่ตั้งไว้ล่วงหน้า (เช่นวิธีการควบคุมอัตราการใช้งาน) ที่คุณสามารถเลือกแทนที่ได้หากต้องการ
พิจารณาขั้นตอนการเข้ารหัสของคุณและปรับตามความจำเป็น ระยะของคุณจะแตกต่างกันไปอย่างแน่นอนตามเนื้อหาต้นฉบับของคุณตัวกรองการใช้งานตัวแปรการกำหนดค่า pltform เฉพาะ (เช่น GPU และไดรเวอร์เวอร์ชั่น) เป็นต้น
ในลมหายใจเดียวกันโปรดทราบว่า NVIDIA ได้ปิดใช้งานการเข้ารหัส interlaced อย่างชัดเจนในทัวริงในทุกระดับแม้ในบรรทัด 1660Ti ที่ใช้ตัวเข้ารหัส Volta NVENC รุ่นเก่า หากคุณต้องการการสนับสนุนการเข้ารหัสแบบอินเตอร์เลซโปรดเปลี่ยนเป็น SKU Pascal หรือเก่ากว่าแทน