【问题标题】:Convert MP4 to HLS with AWS Elastic transcoder.使用 AWS Elastic 转码器将 MP4 转换为 HLS。
【发布时间】:2018-10-22 11:00:05
【问题描述】:
我打算将 MP4(1920x1080,比特率可能从 mp4 到 mp4)转换为 HLS(不同类型的分辨率)。
不同类型的分辨率,我正在寻找
- 1080p = 1920x1080
- 720p = 1280x720
- 480p = 854x480
- 360p = 640x360
为了实现上述目的,我在 NodeJS 中编写了一个 Lambda 函数,并在“系统预设”下面使用了。 HLS O/P 文件正在创建,但解决方案不符合我的预期。对于少数情况,这是正确的一段时间。但在一般情况下,值(WxH)不是恒定的。
HLS v3 和 v4(Apple HTTP Live Streaming),400 KB/秒,仅视频 --------- 1351620000001-200055
HLS v3 和 v4(Apple HTTP Live Streaming),600 KB/秒,仅视频 --------- 1351620000001-200045
HLS v3 和 v4(Apple HTTP Live Streaming),1 兆位/秒,仅视频 --------- 1351620000001-200035
HLS v3 和 v4(Apple HTTP Live Streaming),1.5 兆比特/秒,仅视频 --------- 1351620000001-200025
我试过但没有得到任何解决方案。我需要任何人的帮助来解决我的问题。
【问题讨论】:
标签:
amazon-elastic-transcoder
【解决方案1】:
谢谢,你的问题很清楚。最近我遇到了同样的问题。请找到以下解决方案。
据我了解,您需要特定分辨率的输出文件。
你必须创建新的自定义预设。我提到了一个 1080p 的自定义预设,其余的你可以遵循。
1080p = 1920x1080
创建新预设:-
首先,您必须选择一个现有的系统预设。例如 - 系统预设:HLS 视频 - 1.5M 并仅按照以下设置更改 视频 部分中的配置值
Name - Custom HLS Video Auto - 1080p
Container - ts
Codec - H.264
Codec Options - InterlacedMode:Progressive,MaxReferenceFrames:3,Level:3.1,ColorSpaceConversionMode:None,Profile:main
Max Bit Rate - left blank (optional)
Buffer Size - left blank (optional)
Maximum Number of Frames Between Keyframes - 90
Fixed Number of Frames Between Keyframes - true
Bit Rate - auto
Frame Rate - auto
Video Max Frame Rate - 30
Max Width - 1920
Max Height - 1080
Sizing Policy - Fit
Padding Policy - NoPad
Display Aspect Ratio - auto
这三个设置很重要
- 最大宽度 - 1920
- 最大高度 - 1080
- 尺码政策 - 合身
对于其他分辨率,您必须通过更改最大宽度和最大高度来创建新的自定义预设。一切都将保持不变。