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.
Unduh dan ekstrak paket Windows dari SDK RTS Asli. Untuk URL unduhan, lihat Catatan rilis.
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:

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

extern AVInputFormat ff_rtc_demuxer;Modifikasi file 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);
|| !strcmp(s->iformat->name, "artc")
av_set_rts_demuxer_funcs(get_rts_funcs(2));Modifikasi file Makefile di direktori yang sama dengan ffplay.c.

$(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 endifKompilasi dan jalankan kode.
./ffplay "artc://<URL streaming>"
CatatanUntuk 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"