如何配置AWS Elastic Transcoder

时间:2014-04-21 05:20:03

标签: amazon-web-services amazon-elastic-transcoder

我尝试使用AWS的Elastic Transcoder为iPad应用实施http直播。假设我有一个名为"输出"的输出桶。我希望Elastic Transcoder解码视频,并将每个hls输出的.ts文件放在他们自己的文件夹中,在名为" camera"的文件夹中,在名为"教程"的文件夹中。生成的目录结构如下所示:

输出/教程/相机/ hls20M / .TS 输出/教程/相机/ hls15M / .TS 输出/教程/摄像头/ hls10M / *。TS 等

主播放列表将放在/ camera文件夹中:output / tutorials / camera / index.m3u8

我无法弄清楚如何设置"输出键前缀"和"输出键"在我的工作中,以实现这种结构。

2 个答案:

答案 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帖子它详细解释了整个过程。希望它可以帮助某人