Lately, I been messing around with ffmpeg. If you don't know what it is, you can use it to encode or decode video and audio files of many formats. It basic use is through command line (Which I'm not the best at without a cheat sheet to help remember) Anyway, I messed around with encoding videos to the webm format which is technically VP9 that youtube uses. It takes patience to do but the result is a small file with no visual blemishes that I can see.
Recently I found out that on some intel hardware pc, you can use hardware acceleration to encode videos that makes it a lot faster. So it doesn't take over 30 minutes to encode a 10 minute video at 3.2 fps. According to what I learned my pc uses a supported intel chip that supports encoding VP9 format. But I don't know how to do it, and it has been bugging me for awhile now. I can do H264 encoding with the so called "Intel quick sync" but not vp9.
I was wondering if any of you has managed to encode vp9 with intel quick sync hardware acceleration feature. I made sure to check if my system can do it and it does. I just don't know how. The intel chip I have is called "Kaby Lake" and says "encode 8-bit vp9"
Recently I found out that on some intel hardware pc, you can use hardware acceleration to encode videos that makes it a lot faster. So it doesn't take over 30 minutes to encode a 10 minute video at 3.2 fps. According to what I learned my pc uses a supported intel chip that supports encoding VP9 format. But I don't know how to do it, and it has been bugging me for awhile now. I can do H264 encoding with the so called "Intel quick sync" but not vp9.
I was wondering if any of you has managed to encode vp9 with intel quick sync hardware acceleration feature. I made sure to check if my system can do it and it does. I just don't know how. The intel chip I have is called "Kaby Lake" and says "encode 8-bit vp9"
Code:
Encoder vp9_qsv [VP9 video (Intel Quick Sync Video acceleration)]:
General capabilities: delay hybrid
Threading capabilities: none
Supported hardware devices: qsv qsv qsv
Supported pixel formats: nv12 p010le qsv
vp9_qsv encoder AVOptions:
-async_depth <int> E..V...... Maximum processing parallelism (from 1 to INT_MAX) (default 4)
-avbr_accuracy <int> E..V...... Accuracy of the AVBR ratecontrol (from 0 to INT_MAX) (default 0)
-avbr_convergence <int> E..V...... Convergence of the AVBR ratecontrol (from 0 to INT_MAX) (default 0)
-preset <int> E..V...... (from 1 to 7) (default medium)
veryfast 7 E..V......
faster 6 E..V......
fast 5 E..V......
medium 4 E..V......
slow 3 E..V......
slower 2 E..V......
veryslow 1 E..V......
-rdo <int> E..V...... Enable rate distortion optimization (from -1 to 1) (default -1)
-max_frame_size <int> E..V...... Maximum encoded frame size in bytes (from -1 to 65535) (default -1)
-max_slice_size <int> E..V...... Maximum encoded slice size in bytes (from -1 to 65535) (default -1)
-bitrate_limit <int> E..V...... Toggle bitrate limitations (from -1 to 1) (default -1)
-mbbrc <int> E..V...... MB level bitrate control (from -1 to 1) (default -1)
-extbrc <int> E..V...... Extended bitrate control (from -1 to 1) (default -1)
-adaptive_i <int> E..V...... Adaptive I-frame placement (from -1 to 1) (default -1)
-adaptive_b <int> E..V...... Adaptive B-frame placement (from -1 to 1) (default -1)
-b_strategy <int> E..V...... Strategy to choose between I/P/B-frames (from -1 to 1) (default -1)
-forced_idr <boolean> E..V...... Forcing I frames as IDR frames (default false)
-low_power <boolean> E..V...... enable low power mode(experimental: many limitations by mfx version, BRC modes, etc.) (default false)
-profile <int> E..V...... (from 0 to INT_MAX) (default unknown)
unknown 0 E..V......
profile0 1 E..V......
profile1 2 E..V......
profile2 3 E..V......
profile3 4 E..V......