日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

直播時移

直播時移可以回看從直播開始時間到當前時間之間的直播視頻。通過閱讀本文,您可以了解直播時移的實現原理及請求方式。

實現原理

視頻直播流會被切成TS切片,通過HLS協議向播放用戶分發,用戶請求的M3U8播放列表中包含不斷刷新的TS切片地址。對于常規的HLS直播,TS切片地址及對應的TS文件無法保存,因此當前時間之前的視頻直播內容無法進行回溯。在開啟直播時移功能后,TS切片信息以及文件會進行保存,從而實現從直播開始時間到當前時間之間的視頻回溯功能。

使用限制

直播時移最大支持直播觀看人數為10萬人,如果需要支持更多人觀看,請提交工單。關于如何提交工單,請參見聯系我們

使用場景

直播時移功能可以讓直播觀眾在直播過程中回看直播內容。比如在進行賽事直播時,通過時移功能可以讓觀眾像觀看影視劇一樣,回看賽事內容。

目前視頻直播有三種功能支持對直播內容進行回看,直播錄制直播時移直播截圖(直播截圖只能按頻率對直播內容進行截圖保存,不適用于播放場景)。

其中直播錄制功能偏向直播結束后對直播內容進行播放,直播時移偏向直播過程中觀眾端對直播內容進行回放。

說明

了解直播錄制與直播截圖功能,請參見直播錄制直播截圖

功能使用

說明
  • 使用直播時移功能會產生直播時移費用,按時移寫入量、時移回看規格計費。計費規則詳見直播時移費用

  • 直播時移功能服務地域請參見服務地域

使用直播時移,分兩部分內容:

  1. 進行直播時移功能配置。

    說明

    功能需要配置,才能將直播內容進行保存從而支持時移功能。

  2. 觀眾端發起請求使用時移功能。

配置直播時移功能

視頻直播目前支持兩種方式進行直播時移功能配置。

控制臺配置直播時移功能

  1. 登錄視頻直播控制臺
  2. 在左側導航欄選擇功能管理>直播時移,進入直播時移頁面。

  3. 選擇待配置的播流域名。

  4. 單擊添加

  5. 配置直播時移。

    直播時移

    直播時移配置參數及說明如下表所示。

    參數

    描述

    AppName

    視頻的應用名稱,輸入的AppName必須與直播推流的AppName保持一致,方可生效。如果您想要進行域名級別直播時移配置,輸入星號(*)即可。

    StreamName

    直播流名稱。

    轉碼流

    • 僅源流:僅支持源流時移。

    • 包含轉碼流:可支持源流和轉碼流時移。

    時移天數

    視頻直播為您提供以下時移天數。

    • 1天

    • 3天

    • 7天

    • 15天

    • 30天

    說明
    • 直播時移配置后需要重新推流才會生效,對正在進行中的直播流,新設置的時移不生效。

    • 直播時移流通過直播播放域名對應的URL直接訪問,URL的訪問規格說明,具體請參見直播時移規則說明

    • 若主播流域名已關聯子播流域名,請到子域名中開啟直播時移開關,否則時移配置無法對子播流域名生效。

    • 直播時移按時移寫入量、時移回看規格計費。更多信息,請參見直播時移費用

  6. 單擊確定

API配置直播時移功能

 
//需要<>內容替換成實際使用的值
DefaultProfile profile = DefaultProfile.getProfile("<regionId>", "<ALIBABA_CLOUD_ACCESS_KEY_ID>", "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>");
IAcsClient client = new DefaultAcsClient(profile);
OpenLiveShiftRequest openLiveShiftRequest = new OpenLiveShiftRequest();
openLiveShiftRequest.setDomainName("<DomainName>");
openLiveShiftRequest.setAppName("<AppName>");
openLiveShiftRequest.setStreamName("<StreamName>");
//數據保留時長,單位天,取值(1-30),默認值7
openLiveShiftRequest.setVision("<7>");
//是否忽略對應轉碼流生成時移數據,true/false,默認值true
openLiveShiftRequest.setIgnoreTranscode("<true>");
//
//其他業務代碼
//

try {
    OpenLiveShiftResponse openLiveShiftResponse = client.getAcsResponse(openLiveShiftRequest);
    System.out.println(new Gson().toJson(openLiveShiftResponse));
    // todo something.
} catch (ServerException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (ClientException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
說明
  • AppName可以設置為星號(*),表示該配置針對于域名下所有直播流有效。

  • StreamName可以設置為星號(*),表示該配置針對于AppName下所有直播流有效。

  • 添加完成后,可調用DescribeLiveShiftConfigs查詢指定域名的時移配置。

  • 使用JAVA SDK,具體請參見Java SDK使用說明

  • 重新推流配置才能生效。

  • 更多參數說明可參見OpenLiveShift - 開啟時移服務

使用直播時移功能

配置時移功能后,直播服務將對直播流TS切片文件進行保存,觀眾端可發起時移播放請求進行直播內容回看。

我們先實現播放一段時移內容,再向您詳細介紹時移播放的具體功能,先看一下請求鏈接:

http://<DomainName>/<AppName>/<StreamName.m3u8>?aliyunols=on&lhs_offset_unix_s_0=300&auth_key=3sdda******

可以發現,時移請求與M3U8的直播地址類似,只是多了兩個參數,aliyunols=on為固定字段,lhs_offset_unix_s_0=300表示向前偏移300秒。

說明
  • 通過CDN調用時移請求時必須攜帶aliyunols=on參數。

  • 目前時移播放只能使用M3U8格式直播地址。

  • 推薦您使用阿里云播放器播放時移內容,關于阿里云播放器使用可參見播放器SDK

在該示例中,我們實現了回退300秒觀看直播內容,在播放時移內容時通過lhs_offset_unix_s_0參數設置播放時移內容的時間,參數格式為lhs_{type}_{format}_{unit}_{zone}

參數中各變量取值如下:

type

format

unit

zone

時間類型。取值:

  • start:播放開始時間。

  • end:播放結束時間。

  • vodend:以點播形式指定播放結束時間。

    說明

    設置vodend表示使用點播模式回看,一次返回指定時間段內所有的ts,包含endlist標簽。

  • offset:向前偏移的時間。

時移的時間格式。取值:

  • unix:UNIX時間戳。

  • human:年月日時分秒。示例:20170809230130。

時移的時間單位。取值:

  • s:秒。

  • ms:毫秒。

時區,取值:0~9,表示東*區。其中,0表示UTC時間,8表示中國時區。

說明

當format取值為unix時,zone取值為0。

時移參數示例如下所示:

  • lhs_start_human_s_8=20170809200010

  • lhs_start_unix_s_0=1502280113

  • lhs_end_human_s_8=20170809200010

  • lhs_vodend_unix_s_0=1502280113

  • lhs_offset_unix_ms_0=1800000(向前時移30分鐘)

重要
  • lhs_startlhs_offset必須指定其中一個,如果同時指定lhs_startlhs_offset,時移播放將以lhs_offset為準。

  • lhs_end/lhs_vodend為可選配置,如果不指定lhs_end/lhs_vodend,時移播放會以直播模式播放至直播推流結束。

  • 如果指定了lhs_end,時移播放會以直播模式播放直到指定的lhs_end時間點。

  • 如果指定了lhs_vodend,時移播放會以點播模式播放直到指定的lhs_vodend時間點(點播模式會一次性返回所有ts切片,可以使用播放器進度條控制播放前進回退)。

  • 如果同時指定lhs_endlhs_vodend,時移播放將以lhs_vodend為準。

在您的業務中,如果您無法知道具體的startend時間點,可以通過查詢時移時間線獲取start和end。

查詢時移時間線示例代碼如下:

//需要將<>替換成實際使用的值
http://<DomainName>/openapi/timeline/query?aliyunols=on&app=<AppName>&stream=<StreamName>&format=ts&lhs_start_unix_s_0=<StartTime>&lhs_end_unix_s_0=<endTime>&auth_key=<auth_key>

示例說明如下:

名稱

描述

請求方式

GET

URL

請求URL,例如:http://{domain}/openapi/timeline/query,其中,{domain}為您的播流域名。

參數

  • aliyunols(required):on。(固定字段)

  • app(required):應用名。

  • stream(required):流名。

  • format(required):ts。(固定字段)

    說明

    目前接口只支持查詢ts格式的時移數據。

  • lhs_start_unix_s_0(required):查詢區間開始時間的時間戳(示例值:1724295706)。單位:秒。

  • lhs_end_unix_s_0(required):查詢區間結束時間的時間戳(示例值:1724317306)。單位:秒。

  • auth_key:鑒權key,此處鑒權key與播流地址使用的鑒權key采用同一種加密算法,如對鑒權加密暫不了解,請參見文檔鑒權代碼示例

常見錯誤處理

  • 403:請檢查您auth_key值的加密過程是否正確。

返回示例如下所示:

{
  "retCode": 0,
  "description": "success",
  "content": {
    "current": 1514269063,
    "timeline": [
      {
        "start": 1514269054,
        "end": 1514269058
      }
    ]
  }
}

參數

描述

current

當前系統時間,播放器可以基于這個字段對時。

timeline

有效的時移時間段,包含開始和結束時間戳。

start

有效片段的開始時間(UNIX時間戳),單位:秒。

end

有效片段的結束時間(UNIX時間戳),單位:秒。

說明
  • 一般情況下,一次推流會生成一個timeline對象(start接近于直播開始時間,end接近于current或直播結束時間),但由于斷流重推、網絡波動等原因可能會出現多個timeline對象。

  • 您可以在控制臺查詢指定域名時移數據量。更多信息請參見用量查詢

進階使用

時移播放轉碼流

時移功能可以結合轉碼功能使用,播放時播放轉碼流。時移播放轉碼流,需要先完成轉碼配置。配置轉碼功能可參見直播轉碼

此處假設您已完成轉碼功能相關配置。

在配置時移功能時,將轉碼流也生成時移數據,示例代碼如下:

//是否忽略對應轉碼流生成時移數據,true/false,默認值true
openLiveShiftRequest.setIgnoreTranscode("<false>");

然后在轉碼流地址上增加時移參數,即可以實現時移播放轉碼流。

播放地址示例如下:

http://<DomainName>/<AppName>/<StreamName_轉碼模板ID.m3u8>?aliyunols=on&lhs_offset_unix_s_0=300&auth_key=3sdda******
說明
  • 重新推流,即可對轉碼流進行時移播放。

  • 對于拉流觸發轉碼的轉碼配置,播放轉碼流的時移是不能觸發轉碼的,需要提前播放轉碼流直播觸發轉碼(您也可以將轉碼配置為推流觸發轉碼)。

重要
  • 目前時移功能暫不支持多碼率轉碼流。

時移播放封裝流

時移播放封裝流是將直播時移功能與直播封裝功能結合使用。

說明

阿里云視頻直播支持直播封裝服務,支持CMAF、LL-HLS(低延遲HLS)等播放協議,可有效降低直播延遲。開啟直播封裝后,視頻直播流會被切成TS或CMAF切片,通過指定的HLS或LL-HLS協議向播放用戶分發,用戶請求的M3U8播放列表中包含不斷刷新的切片地址。相對于HLS,LL-HLS可以將切片分割成更小(0.2~1秒)的Part切片,并支持M3U8和Part切片的阻塞加載,從而實現端到端低至3~5秒的延遲;相對于TS格式,CMAF封裝格式有廣泛的設備和瀏覽器支持,且支持更新的編解碼器(codec),如H.265。

如果您對直播封裝功能暫不了解,請參見文檔直播封裝

此處假設您已完成直播封裝功能配置。

實現時移播放封裝流,不需要對時移功能配置做出修改,只需要將封裝流地址增加時移參數即可。

播放地址示例如下:

http://<DomainName>/<AppName>/<StreamName-封裝格式.m3u8>?aliyunols=on&lhs_offset_unix_s_0=300&auth_key=3sdda******
說明
  • 重新推流,即可對封裝流進行時移播放。

  • 如果需要時移播放封裝轉碼流,只需在封裝轉碼流地址上增加時移參數即可。

相關文檔

直播時移相關API,請參見直播時移