Raspivid mit variablen Dateinamen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich versuche momentan eine Türklingel mit Live-Video zu bauen und jedesmal wenn jemand klingelt soll jedesmal eine neue Videodatei erstellt werden. Den Befehl den ich verwende ist raspivid.
    Programmiert habe ich bis jetzt das ganze in C obwohl ich nicht all zuviel Ahnung davon habe. Man guckt eben im Internet und sucht sich was man braucht zusammen.l
    Leider komme ich jetzt kurz vor dem Ziel nicht mehr weiter.

    Wie kann ich raspivid dazu bringen dass jedesmal wenn es gestartet wird eine neue Videodatei mit z.B. dem date Befehl erstellt. Also der Dateiname dann Datum und Uhrzeit bekommt?

    Geht das überhaupt und könnte mir das jemand von euch mal zeigen wie da geht?

    Hier mal mein bisheriges C Programm:

    #include <stdlib.h>
    #include <stdio.h>
    #include <unistd.h>
    #include <wiringPi.h>

    const int butPin = 26;

    int main()
    {
        
    wiringPiSetupGpio() ;
    pinMode (butPin, INPUT) ;
    pullUpDnControl(butPin, PUD_UP);
    int pid;
    pid=fork();

    while(1)
    {
    if (digitalRead(butPin))
    {
    }
    else
    {
    if(pid==0)
    {
    execlp("/usr/bin/omxplayer", " ", "bigben.wav", NULL);
    system("killall omxplayer.bin");
    _exit(0);
    }
    else
    {
    system("wget -O - -q -b 'http://sat-receiver-oliver/web/vol?set=set0'");
    system("wget -O - -q -b 'http://sat-receiver-oliver/web/message?ty…eout=10&text=ES HAT AN DER TÜR GEKLINGELT' ");
    system("raspivid -p 0,0,800,600 -o date.h264 -t 60000 &");
    delay(16000);
    }
    pid=fork();
    }
    }
    return 0;
    }


    Vielen Dank!

    Gruß
    Oli

  • Nur so zum Spass: wie lange dauert es bis fork keine Prozesse mehr erzeugen kann ?
    (Wo ist uebrigens die Fehlerbehandlung zum fork-Call ?)

    > Wie kann ich raspivid dazu bringen dass jedesmal wenn es gestartet wird eine neue Videodatei mit z.B. dem date Befehl
    Wenn man raspivid den Filenamen angeben kann: mit strftime kriegt man recht schnell einen
    passenden Namen zusammen.

  • Es wäre sinnvoller gewesen anstatt sich drüber lustig zu machen wenn du einem mitteilen würdest wie man es besser hätte lösen können. Ich hatte ja geschrieben dass ich diesbezüglich kein Duke bin. Anfänger sind hier wohl nicht erwünscht.
    Schade.

  • [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]> wie man es besser hätte lösen können[/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]fork() nur aufrufen wenn es noetig ist! Und nicht bei jedem Schleifendurchgang.[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Ich weiss jetzt nicht wie hoch die Prozess-Limite beim PI ist, aber die duerfte recht schnell erreicht werden :fies: [/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Und es ist sinnvoll, die toten Prozesse mit wait() oder waitpid() wieder abzuraeumen, denn der Kernel[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]muss die ja auch verwalten.[/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Zusatztipp: [/font][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Zumindest ein nanosleep() in der Schleife ist ebenfalls [/font][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]extrem sinnvoll, damit die CPU nicht heisslaeuft.[/font]

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!