使用libvlc 開發推流器 demo

2021-09-12 17:35:31 字數 1442 閱讀 4642

使用libvlc sdk庫開發乙個簡單的推流器,參照自雷博士的部落格

不過直接使用貌似有些問題,對著 vlc的原始碼改了下。

環境:ubuntu 18.04, vlc-linux 原始碼,vlc 3.0.6 已經對原始碼進行 configure make,並且可以執行

#./cvlc bydtest.mp4 -vvv  --loop --sout "#rtp」

進行流輸出。

下面在原始碼目錄下 /bin/vlc.c中替換掉源來得 main函式,新增上以下**,即乙個推流的功能

int main(int argc, const char* ar**)

,vb=512,scale=0.5," \

"acodec=mpa,aenc=ffmpeg,ab=64,channels=2}" \

":standard";

*/ //send and playing at same time

#if 0

const char *sout = "#transcode,vb=512," \

"acodec=mpga,ab=64,channels=2}" \

":duplicate}";

#else

//const char *sout = "#transcode:rtp :no-sout-all :sout-keep";

#endif

const char *sout = "#rtp";

const char *media_name = "lei's test";

url = "./bydtest.mp4";

vlc = libvlc_new(0, null);

if(vlc == null)

libvlc_vlm_add_broadcast(vlc, media_name, url, sout, 0, null, true, true);

libvlc_vlm_play_media(vlc, media_name);

//play 30s

//usleep(10000*100*30);

libvlc_vlm_stop_media(vlc, media_name);

libvlc_vlm_release(vlc);

return 0;

}

主要是linux原始碼編譯的環境中,在呼叫libvlc_new之前要設定好 setenv ("vlc_plugin_path", top_builddir"/modules", 1);外掛程式的目錄,不然libvlc_new 失敗,返回乙個null,後續的直接報段錯誤。

android 基於vlc,rtsp推流器

android使用libvlc開發推流的簡單demo apk android 使用 libvlc開發推流器。之前博文 android使用libvlc開發推流的簡單demo apk 中用了vlm,較為複雜。現改進 直接將final media media new media mlibvlc,uri.p...

Qt開發 Qt5使用VLC庫推流 共享桌面

此文章是做乙個小例子,在qt5環境下,通過vlc將桌面共享出去,也就是將桌面推流 qt5如何使用vlc在這裡就不講了,可以看部落格 直接上 libvlc instance t vlc const char sout transcode,vb 512,acodec mpga,ab 64,channel...

Windows搭建RTMP推流伺服器

現在社會,直播越來越普通,網紅流量社會,到底直播是怎麼進行的呢,我們來嘗試在本地搭建直播環境 搭建伺服器 解壓後,在nginx 1.7.11.3 gryphon目錄下新建三個資料夾 worker processes 1 nginx程序數,建議設定為等於cpu總核數 events rtmp auto ...