libvlc-stream-Teil des Bildschirms
Ich streamen will, einen Teil des Bildschirms mit vlc-Bibliothek. Ich schrieb ein kleines Beispiel:
#include <iostream>
#include <cstdlib>
#include <vlc/vlc.h>
int main(int argc, char**argv)
{
libvlc_instance_t * inst = libvlc_new(argc, argv);
libvlc_vlm_add_broadcast(inst, "mybroad",
"screen://", "#transcode{vcodec=h264, venc=x264,vb=0,scale=0, acodec=mpga,ab=128,channels=2, samplerate=44100}:http{mux=ffmpeg{mux=flv}, dst=:7777/}",
0, NULL, 1, 0);
libvlc_vlm_play_media(inst, "mybroad");
std::cout << "ready" << std::endl;
//next two lines - it just for waitint
int i;
std::cin >> i;
//omit the code that frees libvlc
return 0;
}
Diese code-stream-alle meine Bildschirm.
Ich kann streamen des Teils der Bildschirm, wenn ich es in einer Konsole:
vlc -I "dummy" screen://--screen-left=0 --screen-top=0 \
--screen-width=640 --screen-height=480 \
--screen-fps=1 \
--sout '#transcode{vcodec=h264,vb=800,scale=1,\
acodec=mpga,ab=128,channels=2,\
samplerate=44100}:http{mux=ts,dst=:7777/}'
Ich habe versucht, es zu tun im code modifing eine Zeile:
libvlc_vlm_add_broadcast(inst, "mybroad",
"screen://:screen-fps=24 :screen-top=0 :screen-left=0 :screen-width=320 :screen-height=240",
"#transcode{vcodec=h264,venc=x264, vb=0,scale=0,acodec=mpga,ab=128,channels=2, samplerate=44100}:http{mux=ffmpeg{mux=flv},dst=:7777/}",
0, NULL, 1, 0);
Aber diese änderung hat sich nichts verändert.
Ehrlich, ich will Strom von einem monitor (ich habe zwei Monitore), aber ich kann berechnen, das die Grenzen überwacht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Lösung.
params
(inconst char* params[] ...
) werdenparam
?