国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

zlmediakit實現(xiàn)rtsp流服務器

這篇具有很好參考價值的文章主要介紹了zlmediakit實現(xiàn)rtsp流服務器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本次實現(xiàn)是將內存中的H264數(shù)據(jù)經過zlmediakit實現(xiàn)為rtsp流。

我是用的是CAPI的方式,將zlmediakit作為一個sdk嵌入到自己的程序中而不是作為一個獨立的進進程服務。

1.編譯完成zkmedialit后會得到bin include lib三個文件夾如圖

兩臺 服務器 zlmediakit,linux,服務器,rtsp,zlmediakit,流媒體

其中bin中的MediaServer是作為獨立的進程使用的zlmediakit服務,我們這里不用

我們使用lib下的libmk_api.so

下面說一些使用的API以及調用順序

1.首先包含頭文件

#include "mk_mediakit.h"

2.從zkmediakit工程中拷貝demo的配置文件config.ini過來

3.初始化環(huán)境,日志以及設置配置文件

  char *ini_path = mk_util_get_exe_dir("config.ini");
    mk_config config = {
            .ini = ini_path,
            .ini_is_path = 1,
            .log_level = 0,
            .log_mask = LOG_CONSOLE,
            .log_file_path = NULL,
            .log_file_days = 0,
            .ssl = NULL,
            .ssl_is_path = 1,
            .ssl_pwd = NULL,
            .thread_num = 0
    };
    mk_env_init(&config);
    mk_free(ini_path);

4.啟動各個服務

 mk_http_server_start(80, 0);
    mk_rtsp_server_start(554, 0);
    mk_rtmp_server_start(1935, 0);
    mk_rtc_server_start(atoi(mk_get_option("rtc.port")));

5.監(jiān)聽事件,我這里沒有處理所以把回調都設置為空

    mk_events events = {
            .on_mk_media_changed = NULL,
            .on_mk_media_publish = NULL,
            .on_mk_media_play = NULL,
            .on_mk_media_not_found = NULL,
            .on_mk_media_no_reader = NULL,
            .on_mk_http_request = NULL,
            .on_mk_http_access = NULL,
            .on_mk_http_before_access = NULL,
            .on_mk_rtsp_get_realm = NULL,
            .on_mk_rtsp_auth = NULL,
            .on_mk_record_mp4 = NULL,
            .on_mk_shell_login = NULL,
            .on_mk_flow_report = NULL
    };
    mk_events_listen(&events);

6.創(chuàng)建媒體源

 mk_media media = mk_media_create("__defaultVhost__", "live", "stream1", 0, 0, 0);

這么寫的話最終rtsp日志為rtsp://ip:554/live/stream1

7.添加視頻軌道并設置視頻編碼參數(shù)

    codec_args v_args = {0};
    //創(chuàng)建軌道
    mk_track v_track = mk_track_create(MKCodecH264, &v_args);
    //初始化媒體源的視頻軌道
    mk_media_init_track(media, v_track);
    //完成軌道添加,這個可以不寫但是會延遲三秒建議寫上
    mk_media_init_complete(media);
    //釋放資源
    mk_track_unref(v_track);

8.循環(huán)網里面塞入H264幀,記得計算dts我這里是25幀所以每一幀dts加40

    int dts = 0;
    while(1)
    {
        //獲取H264數(shù)據(jù)到data 我這里就不寫了

        //生成frame data為一幀的264數(shù)據(jù) size為數(shù)據(jù)大小
        mk_frame frame = mk_frame_create(MKCodecH264, dts, dts, data, size, NULL, NULL);
        dts += 40;
        mk_media_input_frame((mk_media) user_data, frame);
        mk_frame_unref(frame);
    }

9.程序結束的時候調用下面銷毀資源文章來源地址http://www.zghlxwxcb.cn/news/detail-782772.html

    mk_media_release(media);
    mk_stop_all_server();

到了這里,關于zlmediakit實現(xiàn)rtsp流服務器的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • [linux]兩臺Linux服務器之間傳輸文件的四種方法

    在日常服務器租用中,有時需要將文件從一臺服務器傳到另一臺服務器,下面給大家介紹四種linux服務器之間傳輸文件方式。 【優(yōu)點】簡單方便,安全可靠;支持限速參數(shù) 【缺點】不支持排除目錄 【用法】 scp就是secure copy,是用來進行遠程文件拷貝的。數(shù)據(jù)傳輸使用 ssh,并

    2024年04月12日
    瀏覽(34)
  • 兩臺linux服務器之間傳輸文件的幾種方法

    兩臺linux服務器之間傳輸文件的幾種方法

    打開powershell, 開始連接服務器 然后輸入密碼后就進來了,進入之后找到你要傳輸文件的位置 接下來我要將這個包傳到另一個環(huán)境中去,有以下幾種方法 scp 示例: 將本地服務器的文件傳向另一個服務器 wget 【用法】 wget是一個從網絡上自動下載文件的自由工具,支持通過HT

    2024年02月12日
    瀏覽(18)
  • Linux 兩臺服務器之間傳輸文件和文件夾的方法

    Linux 是一種開源的操作系統(tǒng),它可以運行在多種設備上,包括服務器、個人電腦、手機等。Linux 有很多優(yōu)點,比如穩(wěn)定、安全、靈活、免費等。Linux 也有很多不同的發(fā)行版,比如 Ubuntu、CentOS、Debian 等,它們都有自己的特色和優(yōu)勢。 如果你有兩臺 Linux 服務器,你可能會遇到這

    2024年02月05日
    瀏覽(22)
  • RTSP/Onvif視頻服務器LntonNVR(源碼版)在Windows/Linux電腦上如何實現(xiàn)硬盤錄像機NVR的功能?

    RTSP/Onvif視頻服務器LntonNVR(源碼版)在Windows/Linux電腦上如何實現(xiàn)硬盤錄像機NVR的功能?

    NVR即網絡硬盤錄像機,它最主要的功能是通過網絡接收IPC(網絡攝像機)設備傳輸?shù)臄?shù)字視頻碼流,并進行存儲、管理,從而實現(xiàn)網絡化帶來的分布式架構優(yōu)勢。 現(xiàn)在無論是城市監(jiān)控、園區(qū)管理還是幼兒園監(jiān)控,這些安防監(jiān)控需求已經成為我們生活中不可或缺的一環(huán)。那么要

    2024年01月20日
    瀏覽(53)
  • Liunx兩臺服務器實現(xiàn)相互SSH免密登錄

    Liunx兩臺服務器實現(xiàn)相互SSH免密登錄

    服務器1:server? ? ? ? IPV4:192.168.110.136 服務器2:client? ? ? ? ?IPV4:?192.168.110.134 [root@server ~]# systemctl disable firewalld ??????? ?? #關閉防火墻 [root@server ~]# setenforce? 0 ?????????????????????????????????? #關閉seLiunx [root@server ~]# getenforce Permissive [root@clien

    2024年02月07日
    瀏覽(24)
  • nginx兩臺負載均衡服務器之間使用keepalived實現(xiàn)高可用

    單點故障:某個重要的功能只有一份,如果他出現(xiàn)問題,會導致全局不能使用 “高可用性”(High Availability,縮寫為HA)用于描述系統(tǒng)或服務在面臨故障、硬件或軟件問題時能夠繼續(xù)正常運行的能力。高可用性的目標是最大程度地減少系統(tǒng)中斷或停機時間,確保用戶可以隨時

    2024年02月09日
    瀏覽(20)
  • 從零開始寫一個RTSP服務器(二)RTSP協(xié)議的實現(xiàn)

    此系列只追求精簡,旨在學習RTSP協(xié)議的實現(xiàn)過程,不追求復雜完美,所以這里要實現(xiàn)的RTSP服務器為了簡單,實現(xiàn)上同一時間只能有一個客戶端,下面開始介紹實現(xiàn)過程 在寫一個RTSP服務器之前,我們必須知道一個RTSP服務器最簡單的包含兩部分,一部分是RTSP的交互,一部分是

    2024年04月17日
    瀏覽(24)
  • RTSP 和 RTMP通過ffmpeg實現(xiàn)將本地攝像頭推流到RTSP服務器

    RTSP 和 RTMP通過ffmpeg實現(xiàn)將本地攝像頭推流到RTSP服務器

    一、流媒體:RTSP 和RTMP 1、RTSP 和 RTMP的工作原理 1)RTSP工作原理 用戶設備向視頻流平臺發(fā)送 RTSP 請求 視頻流平臺返回可以操作的請求列表,比如播放、暫停等 用戶設備向視頻流平臺發(fā)送具體的請求,比如播放 視頻流平臺解析請求并調用指定機制啟動視頻流處理 由于 RTSP 依

    2024年02月05日
    瀏覽(25)
  • RTSP 和 RTMP原理 & 通過ffmpeg實現(xiàn)將本地攝像頭推流到RTSP服務器

    RTSP 和 RTMP原理 & 通過ffmpeg實現(xiàn)將本地攝像頭推流到RTSP服務器

    0、參考資料 秒懂流媒體協(xié)議 RTMP 與 RTSP 什么是RTMP 和 RTSP?它們之間有什么區(qū)別? RTSP和RTMP的區(qū)別是什么? 1、RTSP 和 RTMP的工作原理 1)RTSP工作原理 用戶設備向視頻流平臺發(fā)送 RTSP 請求 視頻流平臺返回可以操作的請求列表,比如 播放、暫停 等 用戶設備向視頻流平臺發(fā)送具

    2024年02月08日
    瀏覽(26)
  • linux+nginx-http-flv-module+ffmpeg實現(xiàn)搭建簡易流媒體服務器將rtsp流轉flv格式在web端和微信小程序實時播放監(jiān)控視頻

    linux+nginx-http-flv-module+ffmpeg實現(xiàn)搭建簡易流媒體服務器將rtsp流轉flv格式在web端和微信小程序實時播放監(jiān)控視頻

    一.介紹背景 公司項目開發(fā)需求:將??禂z像頭的rtsp流在web端及微信小程序端進行播放。之前我寫過一篇關于web端使用webtrc+videojs播放rtsp流的文章,確實能夠解決web端播放rtsp流的需求,但是這次多加了一個微信小程序....所以要考慮小程序的播放問題。本著探索實踐的精神在

    2024年02月08日
    瀏覽(39)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包