全部产品
Search
文档中心

:Klien Windows

更新时间:Nov 10, 2025

Topik ini menjelaskan cara mengintegrasikan SDK RTS Asli dengan pemain berbasis FFmpeg di Windows untuk mengimplementasikan RTS.

Prosedur

Topik ini menggunakan MSYS2 untuk mengompilasi FFmpeg 4.2 sebagai contoh. Di folder instalasi MSYS2, buka baris perintah mingw64.exe.

  1. Unduh dan ekstrak paket Windows dari SDK RTS Asli. Untuk URL unduhan, lihat Catatan rilis.

  2. Salin file rtsdec.c dan rtsenc.c ke folder libavformat dari pemain FFmpeg.

    Modifikasi file Makefile dengan menambahkan rtsdec.o dan rtsenc.o seperti yang ditunjukkan pada gambar berikut:

    001

  3. Modifikasi file allformats.c untuk mendukung protokol ApsaraVideo Real-time Communication (ARTC) secara default.

    002

    extern AVInputFormat  ff_rtc_demuxer;
  4. Modifikasi file ffplay.c.

    ffplay.c

    /* hubungkan pustaka rts ke plugin rts
     */
    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. Modifikasi file Makefile di direktori yang sama dengan ffplay.c.

    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. Kompilasi dan jalankan kode.

    ./ffplay "artc://<URL streaming>"

    Catatan

    Untuk merasakan latensi terendah, jalankan perintah berikut: ./ffplay -fflags nobuffer -flags low_delay "artc://<URL streaming>".

    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 dibuat di $PREFIX_DIR"