微軟流暢的串流

微軟流暢流式(MSS)是技術的集合,使得它可以將視頻和音頻內容流式傳輸到平台,如微軟的銀光燈,Xbox 360,Windows Phone 7 和一些連接的電視平台。多位元速率平滑串流可調整內容串流,讓播放期間可用頻寬的變更即時補償。

概覽

要利用MSS,您的視頻和音頻需要以特殊的分段格式編碼,此外,還必須生成包含文件信息的客戶端和服務器清單。Zencoder可以為單比特率和多比特率的平滑流生成所有必要的文件。

基本要求

使用Zencoder可以輕鬆創建流暢的視頻流。僅需設置幾個選項即可創建用於單比特率編碼的必要文件。

{
    "api_key": "asdf1234",
    "input": "s3://my-input-bucket/input-file.mp4",
    "outputs": [
    {
        "audio_bitrate": 56,
        "audio_sample_rate": 22050,
        "url": "s3://my-bucket/medium/file.ism",
        "decoder_bitrate_cap": 900,
        "decoder_buffer_size": 2400,
        "max_frame_rate": 30,
        "segment_seconds": 2,
        "type": "segmented",
        "video_bitrate": 600,
        "width": 400,
        "format": "ism"
    }
    ]
}

以上API請求的相關部分是“類型”,“格式”和“ URL”選項。

  • “類型”應為“細分”
  • “格式”應為“ ism”
  • “ url”應具有“ ism”的擴展名

用平滑流的說法,“ ism”文件是平滑流服務器的清單。但是,這不是唯一會生成的文件。在與“ ism”文件相同的目錄中,我們還將創建“ ismc”文件(也稱為“平滑流客戶端清單”)和“ ismv”文件(即已編碼的視頻)。

完整要求

使用Zencoder創建多比特率的平滑流作業不需要在API請求中做更多的事情,只需輸出不同傳輸速度的輸出以及引用它們的播放列表即可。

{
    "api_key": "asdf1234",
    "input": "s3://my-input-bucket/input-file.mp4",
    "outputs": [
    {
        "type": "playlist",
        "format": "ism",
        "url": "s3://my-output-bucket/file.ism",
        "streams": [
        {
            "source": "low-output",
            "path": "low/file.ismv"
        },
        {
            "source": "medium-output",
            "path": "medium/file.ismv"
        },
        {
            "source": "high-output",
            "path": "high/file.ismv"
        }
        ]
    },
    {
        "label": "low-output",
        "audio_bitrate": 56,
        "audio_sample_rate": 22050,
        "url": "s3://my-bucket/low/file.ism",
        "decoder_bitrate_cap": 165,
        "decoder_buffer_size": 440,
        "max_frame_rate": 30,
        "segment_seconds": 2,
        "public": 1,
        "type": "segmented",
        "video_bitrate": 110,
        "width": 320,
        "format": "ism"
    },
    {
        "label": "medium-output",
        "audio_bitrate": 56,
        "audio_sample_rate": 22050,
        "url": "s3://my-bucket/medium/file.ism",
        "decoder_bitrate_cap": 600,
        "decoder_buffer_size": 1600,
        "max_frame_rate": 30,
        "segment_seconds": 2,
        "public": 1,
        "type": "segmented",
        "video_bitrate": 400,
        "width": 400,
        "format": "ism"
    },
    {
        "label": "high-output",
        "audio_bitrate": 56,
        "audio_sample_rate": 22050,
        "url": "s3://my-bucket/high/file.ism",
        "decoder_bitrate_cap": 900,
        "decoder_buffer_size": 2400,
        "max_frame_rate": 30,
        "segment_seconds": 2,
        "public": 1,
        "type": "segmented",
        "video_bitrate": 600,
        "width": 400,
        "format": "ism"
    }
    ]
}

單個單比特率平滑流輸出(標記為“低輸出”,“中輸出”和“高輸出”)與上一個示例請求中的輸出相似,並且可以根據需要單獨播放。重要的區別是第一個輸出,該輸出創建引用視頻的播放列表。播放視頻的設備將使用此播放列表根據可用帶寬來確定要加載的適當文件。

播放列表需要注意的相關部分是:

  • type應該是“播放列表”
  • format應該是“主義”
  • url應該擴展“主義”
  • streams應該是JSON對象的數組,每個對像都有鍵“ source”和“ path”
    • source應該是給定流使用的輸出標籤
    • path應該是“源”輸出的“ ismv”或“ isma”文件的相對路徑,因為它將由您的服務器提供

多比特率平滑流播放列表及其視頻必須在單個Zencoder作業中創建,不能在單獨的作業中創建,也不能在其他作業中創建視頻後創建。視頻和清單的某些信息是必需的,以便生成多比特率的平滑流清單。這包括來自單比特率平滑流輸出的客戶端清單以及到單比特率視頻或音頻文件的相對路徑,因為它們將從其最終目的地提供。分段輸出完成轉碼後,將使用其客戶端清單生成多比特率的平滑流清單,並將其放置在“ url”指定的位置。

需求

需要IIS平滑流服務器才能將平滑流文件傳送到播放器。本指南IIS平滑流入門是開始設置IIS平滑流服務器的好地方。