このトピックでは、Native RTS SDKの機能について説明します。

概要

機能 説明
get_rts_funcs 他の関数ポインターを照会します。 これは唯一の目に見える機能です。
preconfig グローバルパラメーターを設定します。
オープン ストリームを開きます。
閉じる ストリームを閉じます。
ioctl Native RTS SDKのパラメーターを照会します。
読み取り Native RTS SDKからデータフレームを読み取ります。
書き込み データフレームをNative RTS SDKに送信します。

サンプルコード

  • get_rts_funcs: 他の関数ポインタを照会します。 これは唯一の目に見える機能です。
    const struct rts_glue_funcs * get_rts_funcs (
        intバージョン
    );                       

    パラメーターの説明

    パラメーター データ型 説明
    version int API のバージョン。 値を 2 に設定します。

    戻り値の説明

    rts_glue_funcs関数のポインターが返された場合、呼び出しは成功です。 NULLが返された場合、呼び出しは失敗します。 ほとんどの場合、versionパラメーターの値が無効なため、呼び出しは失敗します。

  • preconfig: グローバルパラメーターを設定します。 open関数を呼び出す前、またはclose関数を呼び出した後に、preconfig関数を呼び出す必要があります。
    int (* preconfig)(
        const char * key,
        const char * val
    );

    パラメーターの説明

    パラメーター データ型 説明
    key const char * パラメーターの名前。 名前は大文字と小文字を区別します。 詳細については、下表をご参照ください。
    val const char * パラメーターの値です。
    パラメーター 説明
    自動再接続 Native RTS SDKが切断を検出した場合に自動再接続を有効にするかどうかを指定します。 デフォルトでは、自動再接続が有効になっています。
    バッファリング期間 ジッタバッファの持続時間。 デフォルト値: 500。 単位:ミリ秒。
    LogCallback 外部ログのコールバック関数を設定します。 このパラメーターは、LogCbParamパラメーターも設定されている場合にのみ有効です。
    LogCbParam 外部ログのコールバック関数のパラメーターを設定します。 このパラメーターは、LogCallbackパラメーターも設定されている場合にのみ有効になります。
    LogToConsole 組み込みログをApsaraVideo Liveコンソールにエクスポートするかどうかを指定します。 デフォルトでは、組み込みログはApsaraVideo Liveコンソールにエクスポートされません。
    LogToFile 組み込みログをファイルにエクスポートするかどうかを指定します。 デフォルトでは、組み込みログはファイルにエクスポートされません。
    LogToServer 組み込みログをサーバーにエクスポートするかどうかを指定します。 デフォルトでは、組み込みログはサーバーにエクスポートされません。
    MessageCallback メッセージコールバック関数を設定します。 このパラメーターは、MessageCbParamパラメーターも設定されている場合にのみ有効です。
    MessageCbParam メッセージコールバック関数のパラメーターを設定します。 このパラメーターは、MessageCallbackパラメーターも設定されている場合にのみ有効です。
    AacdCreateCallback 外部のAdvanced Audio Coding (AAC) デコーダーを作成するためのコールバックを設定します。
    AacdDecodeCallback 外部AACデコーダーを使用してデコードを実行するためのコールバックを設定します。
    AacdCloseCallback 外部AACデコーダを閉じるためのコールバックを設定します。
    HelpSupportIDPrefix ヘルプサポートIDのプレフィックスを指定します。
    LogLevel
    このパラメーターは、Native RTS SDK 2.1.0以降でのみ使用できます。
    コールバックで取得するログのレベル。 設定可能な値は以下のとおりです。
    • 0: ERRレベル。
    • 1: WARNレベル。
    • 2: INFOレベル。
    • 3: デバッグレベル。
    • 100: NONEレベル。
    SigTimeoutMs
    このパラメーターは、Native RTS SDK 2.2.0以降でのみ使用できます。
    シグナリングのタイムアウト期間。 単位:ミリ秒。 デフォルト値: 10000。 パラメーターを6000以上の値に設定することを推奨します。

    戻り値の説明

    0が返された場合、呼び出しは成功です。 そうでない場合、呼び出しは失敗します。

  • open: ストリームを開きます。
    void *(* open){
        const char * url、
        const char * モード
    );

    パラメーターの説明

    パラメーター データ型 説明
    url const char * ストリームのURL。 artc:// で始まるURLがサポートされています。
    mode const char * ストリームの動作モード。 設定可能な値は以下のとおりです。
    • r: ストリームを再生します。
    • w: ストリームをプッシュします。

    戻り値の説明

    ハンドルが返された場合、呼び出しは成功です。 NULLが返された場合、呼び出しは失敗します。

  • close: ストリームを閉じます。
    void (* close)(
        void * ハンドル
    ); 

    パラメーターの説明

    パラメーター データ型 説明
    ハンドル void * open関数が呼び出されたときに返されるハンドル。
  • ioctl: Native RTS SDKのパラメーターを照会します。
    long long (* ioctl)(
        void *handle,
        const char * cmd、
        void * arg
    );

    パラメーターの説明

    パラメーター データ型 説明
    ハンドル void * open関数が呼び出されたときに返されるハンドル。
    cmd const char * 送信されるコマンド。 使用可能なコマンドの詳細については、次の表をご参照ください。
    arg void * 送信されたコマンドのパラメーター。 コマンドにパラメーターが含まれていない場合は、このパラメーターをNULLに設定します。
    コマンド コマンドパラメーター 説明
    get_stream_info rts_worker_demux_infoの変数アドレス。 Native RTS SDKからストリーム情報を取得し、argパラメーターが指す対応するrts_worker_demux_info変数に情報を格納します。 この変数の値はNULLにできません。
    reload NULL Native RTS SDKに再接続を促します。
    skip_avformat_find_stream_info
    このコマンドは、Native RTS SDK 2.2.0以降でのみ使用できます。
    NULL FFmpegに依存するプレイヤーがストリームの再生を開始するときに、コードラインavformat_find_stream_info() をスキップできるかどうかを指定します。

    0が返された場合、コード行はスキップできません。 1が返された場合、コード行はスキップできます。

    重要 ストリームを即座に再生する場合は、このコマンドを実行することをお勧めします。

    戻り値の説明

    0が返された場合、呼び出しは成功です。 そうでない場合、呼び出しは失敗します。

  • read: Native RTS SDKからデータフレームを読み取ります。
    int (* read)(
        構造体 **フレーム、
        void * ハンドル
    );  

    パラメーターの説明

    パラメーター データ型 説明
    フレーム 構造体** 返されたオーディオまたはビデオフレームが格納されている場所。
    ハンドル void * open関数が呼び出されたときに返されるハンドル。

    戻り値の説明

    • 1が返された場合、1つのデータフレームが読み取られます。
    • 0が返された場合、システムは後で再試行します。
    • -1が返された場合、ファイル終了 (EOF) が発生します。
    • -1以外の負の数が返されると、重大なエラーが発生します。

    1が返された場合、呼び出し元は返されたフレームを解放する必要があります。 サンプルコード:

    struct rts_frame * f = NULL;
    int r = __rts_funcs->read(&f、handle);
    ...
    if(f! =NULL)
        f->free_ptr(f);
  • write: データフレームをネイティブRTS SDKに送信します。
    int (* 書き込み) (
        構造体 **フレーム、
        void * ハンドル
    ); 

    パラメーターの説明

    パラメーター データ型 説明
    フレーム 構造体** 送信するオーディオまたはビデオフレーム。
    ハンドル void * open関数が呼び出されたときに返されるハンドル。

    戻り値の説明

    • 1が返された場合、呼び出しは成功です。
    • 0が返された場合、システムは後で再試行します。
    • -1が返されると、EOFが発生します。
    • -1以外の負の数が返されると、重大なエラーが発生します。
    1が返された場合、返されたフレームの所有権はネイティブRTS SDKに転送され、リリースされます。