Ergebnis 1 bis 7 von 7
  1. #1
    Heißer Besen Avatar von Elektrohexe
    Registriert seit
    29.06.2008
    Beiträge
    181

    Standard Frage zu kleinem raspberry projekt

    hallo,

    ich fang ma gleich an....

    habe hier nen raspberry auf dem ein lighttpt server läuft, nun will ich per webseite (per .cgi) auf nen button klicken,
    der mir dann mit ffmpeg ein bild von einer netzwerkkamera speichert.
    wie ich mit ffmpeg ein bild mache weiß ich aber nun will ich diesen befehl mit dem button ausführen.
    Habe gesagt bekommen das ich dafür javascript benutzen muss...

    hat vll. jmd ein codebeispiel ?

    mfg elektrohexe
    Geändert von Elektrohexe (02.06.2015 um 21:22 Uhr)

  2. #2
    Be root - Use Linux Avatar von H4x0r007
    Registriert seit
    27.06.2007
    Beiträge
    1.878

    Standard AW: Frage zu kleinem raspberry projekt

    Hi,

    wenn du nur ein Programm auf dem Pi ausführen möchtest, ist es wahrscheinlich am einfachsten, PHP zu verwenden. Es gibt den Befehl system(), mit dem du Tools ausführen kannst. Wenn du die Ausgabe von ffmpeg auswerten möchtest, ist proc_open() wohl das Mittel der Wahl.

    Damit ich das richtig verstehe: Du willst auf auf einen Button klicken und dann im Browser ein Bild angezeigt bekommen? Du könntest auch per cronjob einfach pauschal alle paar Sekunden ein Bild (ggf. im RAM) speichern. Wenn du das Bild dann als z.B. current.jpg im docroot ablegst, kannst du einfach per HTTP darauf zugreifen. Das wäre vermutlich die einfachste Möglichkeit.
    Bald 14 Jahre auf Free-Hack. Krass wie die Zeit vergeht...
    "Drei Dinge sind unendlich - das Universum, die menschliche Dummheit und die WinRAR-Testversion"

  3. #3
    Heißer Besen Avatar von Elektrohexe
    Registriert seit
    29.06.2008
    Beiträge
    181

    Standard AW: Frage zu kleinem raspberry projekt

    ja sowas in der art habe ich auch schon gefunden...
    muss es aber mit einer .cgi machen die das zeile für zeile im im terminal ausgeführt wird. also mit echo'.... :-/
    bzw. ich bin net der beste in den websprachen

  4. #4
    Transpinguin Avatar von IRET
    Registriert seit
    02.09.2008
    Beiträge
    1.295

    Standard AW: Frage zu kleinem raspberry projekt

    Ein Button ist nur der Befehl eine Form abzusenden (POST/GET). Natürlich beinhaltet er auch Daten, das ist für dich aber nicht wichtig.
    http://www.cgi101.com/book/ch4/text.html
    Da steht alles drin was du brauchst.

  5. #5
    Capt'n Crunch
    Registriert seit
    10.07.2008
    Beiträge
    999

    Standard AW: Frage zu kleinem raspberry projekt

    Zitat Zitat von Elektrohexe Beitrag anzeigen
    ja sowas in der art habe ich auch schon gefunden...
    muss es aber mit einer .cgi machen die das zeile für zeile im im terminal ausgeführt wird. also mit echo'.... :-/
    bzw. ich bin net der beste in den websprachen
    könntest auch ein bash-script schreiben, und das per php aufrufen... bist nicht an cgi gebunden...
    bitcoin. Banking Is Necessary. Banks Are Not. - by Lincoln6Echo

    Das ganze Mysql usw is mir zu viel arbeit um es zu lernen

  6. #6
    Heißer Besen Avatar von Elektrohexe
    Registriert seit
    29.06.2008
    Beiträge
    181

    Standard AW: Frage zu kleinem raspberry projekt

    also ich muss es so machen wie ich gesagt habe ^^

    habe hier den code wo ich ein bischen am rumspielen bin vll. kann mir da wer weiterhelfen


    die cgi:
    Code:
    #!/bin/bash
    
    
    echo -ne 'content-type: text/html\n\n'
    # HTML-Header
    echo '<html><head>'
    #echo '<script src="jquery-1.11.3.min.js"></script>'
    #echo '<script src="script.js"></script>'
    echo '</head><body bgcolor=black text=white>'
    
    #read querystring
    #echo "QS: $QUERY_STRING <br>"
    #echo "stdin: $querystring <br>"
    #if [ $querystring != "" ] ; then
    #ffmpeg -i rtsp://admin:9999@192.168.10.135:554/onvif/profile2/media.smp -f image2 /home/pi/testimg.jpg
    #echo 'hallo'
    #fi
    #echo '<button type="button">Click Me!</button>'
    #echo '<button type="button" id="bildmachen">Bild machen</button>'
    
    #ffmpeg -i rtsp://admin:9999@192.168.10.135:554/onvif/profile2/media.smp -f image2 /home/pi/testimg.jpg
    
    ffmpeg -i rtsp://admin:9999@192.168.1.13:554/onvif/profile2/media.smp -f image2 /var/www/kamera/testimg.jpg
    echo '<img src="/kamera/testimg.jpg" width="1080" height="720" alt="Bild">'
    echo '<button type="button" onclick="<?php
    echo exec('ffmpeg -i rtsp://admin:9999@192.168.1.13:554/onvif/profile2/media.smp -f image2 /var/www/kamera/testimg.jpg');
    ?>
    ">test</button>'
    
    
    echo '</body></html>'
    und das javascript:

    Code:
    $( document ).ready (function() {
            console.log( "ready!" );
            $('#bildmachen').click (function() {
                    console.log( "click");
            var jqxhr = $.post( "hallo.cgi", function() {
                    command: "ffmpeg -i rtsp://217.146.95.166:554/playlist/ch27yqcif.3gp -f image2 /home/pi/testimg.jpg"
                    console.log( "success");
            })
            .done(function() {
                    console.log( "second success" );
            })
            .fail(function() {
                    console.log( "error" );
            })
            .always(function() {
                    console.log( "finished" );
            })
    
            });
    });

  7. #7
    Be root - Use Linux Avatar von H4x0r007
    Registriert seit
    27.06.2007
    Beiträge
    1.878

    Standard AW: Frage zu kleinem raspberry projekt

    Ich glaube, ich habe noch ein Bash-CGI Skript gesehen^^ Normales CGI wird eigentlich gar nicht mehr verwendet, sondern wurde fast vollständig durch Fastcgi oder wsgi ersetzt.

    Zitat Zitat von Elektrohexe Beitrag anzeigen
    Code:
    echo '<button type="button" onclick="<?php
    echo exec('ffmpeg -i rtsp://admin:9999@192.168.1.13:554/onvif/profile2/media.smp -f image2 /var/www/kamera/testimg.jpg');
    ?>
    Du verwendest ja schon Teile aus PHP, warum machst du nicht einfach alles mit PHP und lässt CGI komplett raus? Mal ganz abgesehen davon, dass onclick für Javascript und nicht für PHP gedacht ist. Beim Parsen würde der PHP-Teil in jedem Fall ausgeführt werden.

    In PHP könnte man es z.B. so machen. Habe das vorhin nur schnell im Editor geschrieben und nicht getestet:

    Code:
    <html><head>
    <script src=...>
    </head>
    
    <body>
    
    <form method="GET" target=<?=$_SERVER["PHP_SELF"]>
        <input type="submit" name="submit" value="Click">
        <input type="submit" name="submit" value="Bild machen">
    </form>
    
    <?php
        if(isset($_GET["submit"])) {
            if($_GET["submit"] == "Click") {
                //...
            } else {
                echo "Bild wird erstellt<br>";
                exec("/usr/bin/ffmpeg -i rtsp://admin:9999@192.168.1.13:554/onvif/profile2/media.smp -f image2 /var/www/kamera/testimg.jpg");
                echo '<img src="/kamera/testimg.jpg" width="1080" height="720" alt="Bild">';
            }
         }
    ?>
    
    </body>
    </html>
    Damit sparst du dir den Umweg über CGI und verwendest direkt den PHP Interpreter, der auch FastCGI kann.
    Bald 14 Jahre auf Free-Hack. Krass wie die Zeit vergeht...
    "Drei Dinge sind unendlich - das Universum, die menschliche Dummheit und die WinRAR-Testversion"

Ähnliche Themen

  1. Warpi - Wardriving mit dem Raspberry Pi
    Von Fixi im Forum Dev-Boards
    Antworten: 9
    Letzter Beitrag: 03.05.2015, 21:47
  2. Der inoffizielle Raspberry Pi Spaßthread!
    Von Bonkers im Forum Elektronik
    Antworten: 34
    Letzter Beitrag: 05.08.2012, 21:13
  3. Raspberry PI
    Von Butcher im Forum Hardware
    Antworten: 6
    Letzter Beitrag: 04.03.2012, 21:04
  4. [Global] Raspberry Pi: Verkaufsstart des 35-Dollar-PC
    Von Boarder im Forum Globale News / Szene News
    Antworten: 1
    Letzter Beitrag: 04.03.2012, 18:33
  5. C++ projekt
    Von Mike17 im Forum C, C++
    Antworten: 7
    Letzter Beitrag: 02.07.2009, 01:35

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •