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

通過(guò)閱讀本文,您可以了解Windows端依賴(lài)FFmpeg的其他播放器集成Native RTS SDK實(shí)現(xiàn)超低延時(shí)直播的方法。

操作步驟

本文以MSYS2編譯FFmpeg 4.2為例(在MSYS2安裝目錄下,打開(kāi)mingw64.exe命令行)。

  1. 下載并解壓Native RTS SDK中的Windows。下載地址,請(qǐng)參見(jiàn)發(fā)布日志

  2. 復(fù)制rtsdec.c和rtsenc.c文件至FFmpeg播放器的libavformat目錄中。

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

    001

  3. 修改allformats.c文件,默認(rèn)支持ARTC協(xié)議。

    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. 編譯運(yùn)行。

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

    說(shuō)明

    如果希望體驗(yàn)最低延時(shí):./ffplay -fflags nobuffer -flags low_delay "artc://<播流地址>"

    PREFIX_DIR=`pwd`/"build-out-windows"
    CFLAGS="$CFLAGS -DWIN32  -D_WIN32 -DNDEBUG"
    
    ./configure \
        --prefix=$PREFIX_DIR \
        --extra-cflags="$CFLAGS" \
        --enable-shared \
        --disable-static \
        --enable-gpl \
        --enable-nonfree \
        --enable-libfdk-aac \
        --disable-decoder=hevc \
        --disable-parser=hevc  \
        --disable-encoders  || exit 1
    
    make TARGET_OS=windows -j8 && make install  || exit 1
    cp /mingw64/bin/SDL2.dll ${PREFIX_DIR}/bin
    cp ../../release/windows/x86_64/RtsSDK/lib/RtsSDK.dll ${PREFIX_DIR}/bin
    echo "FFmpeg created in $PREFIX_DIR"