- Newest
- Most votes
- Most comments
Even when using H.264 or H.265, the size reduction is not satisfactory
Have you tried using AV1 or VP9 instead? I believe flutter at least supports AV1, which has higher compression than h264 or h265
answered 9 months ago
AWS Elemental MediaConvert can definitely achieve aggressive file size reduction while maintaining acceptable visual quality for your mobile app use case. Here are recommendations based on best practices:
For aggressive file size reduction:
-
Use Quality-Defined Variable Bitrate (QVBR) mode - This is specifically designed for internet distribution and VOD downloads. QVBR can reduce file sizes by 25-50% compared to other rate control modes while maintaining visual quality. The encoder automatically determines the right number of bits for each part of the video to maintain the quality level you specify.
-
Consider HEVC (H.265) instead of AVC (H.264) - HEVC typically yields a 30% reduction in file sizes while maintaining the same quality as AVC. This is particularly effective for mobile delivery where device compatibility with HEVC is generally good.
-
Specific settings recommendations:
- Rate control mode: QVBR
- QVBR quality level: 7-8 for acceptable quality (lower values = higher quality)
- Max bitrate: Set a cap if needed (e.g., 1-2 Mbps for 720p)
- Use two-pass encoding for better quality at the same bitrate
- Enable GOP reference B-frames for improved compression efficiency
- Set Dynamic sub-GOP to Adaptive
- For GOP settings, allow MediaConvert to automatically select optimal values by leaving settings blank when using AVC or HEVC
- For MP4 output, ensure you set the Major Brand field to "isom" in the MPEG-4 container settings to ensure proper compatibility with mobile devices.
MediaConvert is designed for both broadcast-quality transcoding and file-size optimization. While it offers high-quality outputs, it also provides features specifically for reducing file sizes, like QVBR encoding. The tiered pricing model also makes it cost-effective for processing large volumes of content.
For your mobile app use case with user-generated content, MediaConvert should be able to achieve results comparable to online compression tools like FreeConvert.com. The key is using the right combination of settings, particularly QVBR mode and potentially HEVC encoding.
If you're still not achieving the desired results, you could consider post-processing with FFmpeg on EC2, but for most use cases, MediaConvert alone with the recommended settings should provide sufficient compression while maintaining acceptable visual quality.
Sources
Recommended encoding settings for video quality - MediaConvert
Optimize costs with tiered pricing in AWS Elemental MediaConvert | AWS for M&E Blog
When converting to h264 / .mp4 file , the generated file has a "video/x-m4v" mimetype instead of the standard "video/mp4" mimetype | AWS re:Post
Comparison of QVBR with other rate control modes - MediaConvert
answered 9 months ago
Try to check auto abr functionality: https://docs.aws.amazon.com/mediaconvert/latest/ug/auto-abr.html
answered 9 months ago
Relevant content
asked 3 years ago
asked 3 years ago
- AWS OFFICIALUpdated 2 years ago

it seems that AV1 is not supported in flutter.