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.

InformationsquelleAutor KoVadim | 2013-04-24
Schreibe einen Kommentar