我尝试使用AWS的Elastic Transcoder为iPad应用实施http直播。假设我有一个名为"输出"的输出桶。我希望Elastic Transcoder解码视频,并将每个hls输出的.ts文件放在他们自己的文件夹中,在名为" camera"的文件夹中,在名为"教程"的文件夹中。生成的目录结构如下所示:
输出/教程/相机/ hls20M / .TS 输出/教程/相机/ hls15M / .TS 输出/教程/摄像头/ hls10M / *。TS 等
主播放列表将放在/ camera文件夹中:output / tutorials / camera / index.m3u8
我无法弄清楚如何设置"输出键前缀"和"输出键"在我的工作中,以实现这种结构。
答案 0 :(得分:0)
我认为这是它的要点:
CreateJob
{
...
"Outputs": [
{
"Key": "hls20M/fileName"
},
{
"Key": "hls15M/fileName"
},
{
"Key": "hls10M/fileName"
}
],
"OutputKeyPrefix": "output/tutorials/camera/",
"Playlists": [
{
"Name": "index"
}
]
}
所有输出(包括主播放列表)都以OutputKeyPrefix为前缀。然后将每个输出放在所需的子文件夹下。
答案 1 :(得分:0)
你基本上需要做这样的事情:
elastic_transcoder.create_job(pipeline_id=PIPELINE_ID,input_name=input_obj
ect,outputs=output_objects)
#where output_objects is as under:
output_objects = [
{
'Key': '%s/video/%s_1080.mp4'%(project_name,video_id),
'PresetId': '1351620000001-000001',
'Rotate': 'auto',
'ThumbnailPattern': '',
},
{
'Key': '%s/video/%s_720.mp4'%(project_name,video_id),
'PresetId': '1351620000001-000010',
'Rotate': 'auto',
'ThumbnailPattern': '',
},
{
'Key': '%s/video/%s_480.mp4'%(project_name,video_id),
'PresetId': '1351620000001-000020',
'Rotate': 'auto',
'ThumbnailPattern': '',
},
{
'Key': '%s/video/%s_360.mp4'%(project_name,video_id),
'PresetId': '1351620000001-000040',
'Rotate': 'auto',
'ThumbnailPattern': '',
}
]
此外,这里提到的preset_id适用于不同的版本,其中一个输出也可能是你的ipad版本。
详细展望如何设置输出和输入检查this帖子它详细解释了整个过程。希望它可以帮助某人