全部產品
Search
文件中心

ApsaraVideo Live:Mac端

更新時間:Jun 30, 2024

通過閱讀本文,您可以瞭解Mac端依賴FFmpeg的其他播放器整合Native RTS SDK實現超低延時直播的方法。

操作步驟

  1. 下載並解壓Native RTS SDK中的Windows。下載地址,請參見發布日誌

  2. 複製rtsdec.c和rtsenc.c檔案至FFmpeg播放器的libavformat目錄中。

    修改Makefile檔案。在Makefile檔案中增加rtsdec.o和rtsenc.o,如下圖所示:

    001

  3. 修改allformats.c檔案,預設支援ARTC協議。

    002

    extern AVInputFormat  ff_rtc_demuxer;
  4. 修改ffplay.c。

    ffplay.c

    /* connect rts library to rts plugin
     */
    struct rts_glue_funcs;
    extern const struct rts_glue_funcs *get_rts_funcs(int version);
    extern void av_set_rts_demuxer_funcs(const struct rts_glue_funcs *funcs);

    1.1

     || !strcmp(s->iformat->name, "artc")

    1

    av_set_rts_demuxer_funcs(get_rts_funcs(2));
  5. 修改ffplay.c所在的Makefile檔案。

    2

    $(1)$(PROGSSUF)_g$(EXESUF): FF_EXTRALIBS += $(EXTRALIBS-$(1)) -lRtsSDK --verbose
    
    ifeq ($(TARGET_OS),windows)
    LDFLAGS += -L../../release/windows/x86_64/RtsSDK/lib/ -lRtsSDK
    endif
    ifeq  ($(TARGET_OS),mac)
      LDFLAGS += -L../../release/mac/x86_64/RtsSDK/lib -lRtsSDK
    endif
  6. 編譯運行。

    ./ffplay"artc://<播流地址>"

    說明 如果希望體驗最低延時:./ffplay-fflagsnobuffer-flagslow_delay"artc://<播流地址>"