0

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

输出/教程/相机/hls20M/.ts输出/教程/相机/hls15M/.ts输出/教程/相机/hls10M/*.ts 等。

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

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

4

2 回答 2

0

我认为这是它的要点:

创建工作

{
    ...
    "Outputs": [
        {
            "Key": "hls20M/fileName"
        },
        {
            "Key": "hls15M/fileName"
        },
        {
            "Key": "hls10M/fileName"
        }
    ],
    "OutputKeyPrefix": "output/tutorials/camera/",
    "Playlists": [
        {
            "Name": "index"
        }
    ]
}

所有输出(包括主播放列表)都以 OutputKeyPrefix 为前缀。然后将每个输出放在其中所需的子文件夹下。

于 2014-10-13T23:40:31.203 回答
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 版本。

有关详细的前景如何设置输出和输入检查这篇文章它详细解释了整个过程。希望它可以帮助某人

于 2015-09-08T12:19:28.907 回答