-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is there any reference manual for the parameters of the "h264_amf" encoder in FFMPEG? #336
Comments
“Profile Level” is an H.264 concept to help specify the maximum data rate and video resolution that a device can use. There is a chart on the Wikipedia page for the H.264 codec with details for each level. "Latency Constrained Variable Bitrate" is a rate control method. It is used when low latency is required. This tries to reduce the encoder latency as much as possible and is useful in scenarios such as game streaming. Details on some more AMF encoding properties can be found here: |
The AMD encoder's RC options other than "vbr_latency" are not suitable for livestreaming. Ref: GPUOpen-LibrariesAndSDKs/AMF#336 (comment) '"Latency Constrained Variable Bitrate" is a rate control method. It is used when low latency is required. This tries to reduce the encoder latency as much as possible and is useful in scenarios such as game streaming.' Testing with RX 570 on Windows 10, Moonlight-qt client @ 768p / 50Mbps: * auto: bitrate fails to exceed ~10Mb/s * const cq: bitrate fails to exceed ~10Mb/s * vbr_peak: avg. target bitrate is attained, but peak rate bursts up to 140Mbps * vbr_latency: avg. target bitrate is attained with no excess burst observed. * cbr: avg. target bitrate is attained, but peak rate bursts up to 140Mbps
The AMD encoder's RC options other than "vbr_latency" are not suitable for livestreaming. Ref: GPUOpen-LibrariesAndSDKs/AMF#336 (comment) '"Latency Constrained Variable Bitrate" is a rate control method. It is used when low latency is required. This tries to reduce the encoder latency as much as possible and is useful in scenarios such as game streaming.' Testing with RX 570 on Windows 10, Moonlight-qt client @ 768p / 50Mbps: * auto: bitrate fails to exceed ~10Mb/s * constqp: bitrate fails to exceed ~10Mb/s * vbr_peak: avg. target bitrate is attained, but peak rate bursts up to 140Mbps * vbr_latency: avg. target bitrate is attained with no excess burst observed. * cbr: avg. target bitrate is attained, but peak rate bursts up to 140Mbps
The AMD encoder's RC options other than "vbr_latency" are not suitable for livestreaming. Ref: GPUOpen-LibrariesAndSDKs/AMF#336 (comment) '"Latency Constrained Variable Bitrate" is a rate control method. It is used when low latency is required. This tries to reduce the encoder latency as much as possible and is useful in scenarios such as game streaming.' Testing with RX 570 on Windows 10, Moonlight-qt client @ 768p / 50Mbps: * auto: bitrate fails to exceed ~10Mb/s * constqp: bitrate fails to exceed ~10Mb/s * vbr_peak: avg. target bitrate is attained, but peak rate bursts up to 140Mbps * vbr_latency: avg. target bitrate is attained with no excess burst observed. * cbr: avg. target bitrate is attained, but peak rate bursts up to 140Mbps
The AMD encoder's RC options other than "vbr_latency" are not suitable for livestreaming. Ref: GPUOpen-LibrariesAndSDKs/AMF#336 (comment) '"Latency Constrained Variable Bitrate" is a rate control method. It is used when low latency is required. This tries to reduce the encoder latency as much as possible and is useful in scenarios such as game streaming.' Testing with RX 570 on Windows 10, Moonlight-qt client @ 768p / 50Mbps: * auto: bitrate fails to exceed ~10Mb/s * constqp: bitrate fails to exceed ~10Mb/s * vbr_peak: avg. target bitrate is attained, but peak rate bursts up to 140Mbps * vbr_latency: avg. target bitrate is attained with no excess burst observed. * cbr: avg. target bitrate is attained, but peak rate bursts up to 140Mbps
The AMD encoder's RC options other than "vbr_latency" are not suitable for livestreaming. Ref: GPUOpen-LibrariesAndSDKs/AMF#336 (comment) '"Latency Constrained Variable Bitrate" is a rate control method. It is used when low latency is required. This tries to reduce the encoder latency as much as possible and is useful in scenarios such as game streaming.' Testing with RX 570 on Windows 10, Moonlight-qt client @ 768p / 50Mbps: * auto: bitrate fails to exceed ~10Mb/s * constqp: bitrate fails to exceed ~10Mb/s * vbr_peak: avg. target bitrate is attained, but peak rate bursts up to 140Mbps * vbr_latency: avg. target bitrate is attained with no excess burst observed. * cbr: avg. target bitrate is attained, but peak rate bursts up to 140Mbps
The AMD encoder's RC options other than "vbr_latency" are not suitable for livestreaming. Ref: GPUOpen-LibrariesAndSDKs/AMF#336 (comment) '"Latency Constrained Variable Bitrate" is a rate control method. It is used when low latency is required. This tries to reduce the encoder latency as much as possible and is useful in scenarios such as game streaming.' Testing with RX 570 on Windows 10, Moonlight-qt client @ 768p / 50Mbps: * auto: bitrate fails to exceed ~10Mb/s * constqp: bitrate fails to exceed ~10Mb/s * vbr_peak: avg. target bitrate is attained, but peak rate bursts up to 140Mbps * vbr_latency: avg. target bitrate is attained with no excess burst observed. * cbr: avg. target bitrate is attained, but peak rate bursts up to 140Mbps
The AMD encoder's RC options other than "vbr_latency" are not suitable for livestreaming. Ref: GPUOpen-LibrariesAndSDKs/AMF#336 (comment) '"Latency Constrained Variable Bitrate" is a rate control method. It is used when low latency is required. This tries to reduce the encoder latency as much as possible and is useful in scenarios such as game streaming.' Testing with RX 570 on Windows 10, Moonlight-qt client @ 768p / 50Mbps: * auto: bitrate fails to exceed ~10Mb/s * constqp: bitrate fails to exceed ~10Mb/s * vbr_peak: avg. target bitrate is attained, but peak rate bursts up to 140Mbps * vbr_latency: avg. target bitrate is attained with no excess burst observed. * cbr: avg. target bitrate is attained, but peak rate bursts up to 140Mbps
Hello,
I just recently able to get "h264_amf" encoder working on Arch linux and now I can not find any details of what these parameters do:
For example, what is "Profile Level" why does it have so many numbers to choose from?
Another example, what exactly is "Latency Constrained Variable Bitrate"?
Google does not show any searches on this.
Thanks.
The text was updated successfully, but these errors were encountered: