Datenvolumen Stream Kamera

  • Hi,

    ich bin Neuling und möchte folgende Kamera

    (https://www.reichelt.de/?ARTICLE=14894…trjEaAk2t8P8HAQ)

    an meinen Raspberry anschließen und ein Video über GSM oder WLAN zu einem Server übertragen der sich unter Umständen nicht in meinem eigenen Netzwerk befindet.
    Wie groß wäre meine Datenvolumen bei z.B. 15 fps??? Mit GSM würde ich vermutlich ruckzuck das verfügbare Datenvolumen überschreiten.
    Wie ist das bei WLAN? Wie viel Speicherplatz sollte ich für 1 Stunde Video mit z.B. 15 fps einplanen wenn ich den Videostream auf einer Festplatte speichern wollte?

    Grüße

  • Das hängt von einigen Faktoren ab:

    - Codec
    - Auflösung
    - Bitrate
    - Übertragungsprotokoll (Komprimierung etc.)

    Es geht denk ich auch nicht nur um Datenvolumen sondern auch um Geschwindigkeit, es sei denn du magst ruckelnde Videos :fies:

    GSM kann nur bis zu 9.6 kBit/s
    EDGE kann bis zu 236 kBit/s
    UMTS kann bis zu 384 kBit/s
    HSPA kann bis zu 14.4 MBit/s
    LTE kann bis zu 150 MBit/s
    LTE-A kann bis zu 600 MBit/s
    LTE-AP kann bis zu 1 GBit/s

    Ob diese Geschwindigkeiten erreicht werden hängt wiederum aber auch von einem wichtigen Faktor ab: Signalqualität (Empfang-/ Sendequalität des jeweiligen Handy Netzes)
    Die Signalqualität wiederum kann von verschiedenen Faktoren beeinflusst werden ..... Is halt Funk also normal dass das von vielem beeinflusst werden kann

  • Hallo Mock789,

    Vorweg möchte ich erwähnen das dies mein aller, aller erster Forumseintrag überhaupt ist und sollte es etwas unklar werden, bitte ich um Rücksicht.

    Ich bin was Linux betrifft ein Noob, habe aber mit Videotechnik viel zu tun weswegen ich glaube dir hier weiterhelfen zu können!


    Nun zum eigentlichen:

    Die Angaben die du vorgegeben hast sind etwas vage.
    Was bezweckst du mit dieser Lösung?
    Wird der Videostream permanent an den Server gestreamt?

    Wie von anderen bereits angedeutet, sind Codec und Format für eine Vorberechnung entscheidend.
    Für das Format nehme ich mal FullHD an, da dein Kameramodul dies ja auch unterstützt.
    Zum Codec ist ganz wichtig zu wissen ob du H.264 oder Mjpeg verwendest.
    Grob erklärt liegt der unterschied darin, dass bei Mjpeg jedes Bild als Vollbild abgespeichert wird, bei H.264 jedoch nur Bildänderungen, die sogenannten P-frames, zum Referenzbild, genannt I-frame, gespeichert werden.

    Als Beispiel:
    Mjpeg – bei 15fps hast du 15 volle Bilder mit 1920x1080 jede Sekunde

    H.264 – es wird 1 Vollbild jede Sekunde erstellt, sollte sich im Bild etwas bewegen, werden nur diese Änderungen im Vergleich zum I-frame gespeichert.

    Der H.264 Codec ist somit weit aus Bandbreiten schonender, dafür benötigt es etwas mehr Rechenleistung.
    Der Mjpeg Codec macht nur dann Sinn wenn man mit >80% Bewegung rechnet. Dann steht die Performance/Rechenlast evtl nicht mehr dafür.

    Weiters rate ich dir beim Streaming auf eine konstante Bitrate von zB. 3Mbit/s zu setzen.
    Das verursacht zwar bei weniger Bewegung reservierten Traffic, aber die Bilder laufen flüssig wenn dann wieder Bewegung auftritt.

    Und damit sind wir schon bei deiner Frage:
    (3Mbit/s*60s*60min*24h)/8Bit/1024=31,64GB am Tag!

    Das ist natürlich überspitzt, aber kann dem Ergebnis schon sehr nahekommen.
    Wie gesagt, der Anwendungsfall ist entscheidend.

    Vielleicht kannst du ja mit einer Lösung leben die bei Bewegungserkennung Standbilder hochladet?
    Würde auf alle Fälle einiges an Bandbreite sparen.

    Und dann kommt noch die Upload Thematik die in der letzten Antwort bereits bestens beantwortet wurde.

    Ich hoffe dir damit etwas weiterhelfen zu können!

    Edited once, last by RaspiBastler2 (August 1, 2016 at 11:06 AM).

  • Und damit sind wir schon bei deiner Frage:
    (3Mbit/s*60s*60min*24h)/8Bit/1024=31,64GB am Tag!

    Hi, erstmal danke für die super Antwort! Das war auf jeden Fall schon mal sehr erhellend! ;)

    Meine Rechnung wäre wie folgt: Wenn ich 15fps und 1920x1080 nehme dann hätte ich pro frame 1920x1080 = 2073600 px
    und pro Sekunde 15x1920x1080 = 15x2073600 px = 31104000 px

    Jedes Pixel wird mit 24 bit pro Pixel dargestellt (8 bit für R, 8 bit für G, 8 bit für B). Macht also 31104000 x 24 = 746496000 bit

    Geteilt durch 8 kriege ich 746496000 bit / 8 = 93312000 Byte = 93,312 MByte

    Pro Minute also 93,312 MByte * 60 = 5598.72 MByte = 5,598 Gigabyte

    Pro Stunde 5,598 Gigabyte * 60 = 335,88 Gigabyte

    Pro Tag 335,88 Gigabyte * 24 = 8061,12 Gigabyte oder 8,062 Terrabyte (Teilt man hier überhaupt durch Tausend oder durch 1024 ???)

    Die Kompression reduziert das ganze soweit ich gelesen habe auf ca. 25 % (abhängig natürlich von der Art der Kompression)

    8,062 Terrabyte * 0,25 ist aber noch immer 2,015 Terrabyte

    Ich denke an meiner Rechnung wird recht anschaulich wo meine Denkfehler liegen. Allerdings seh ich die noch nicht :D

    Danke schon mal für eure Nachricht und Nachsicht mit einem Neuling! ;)

  • Hallo mock789,
    deine Rechnung berücksichtigt den Codec nicht, den nimmst du mit 25% an, was völlig überschätzt ist. Die Videocodect bauen darauf, dass sie etwas Bildqualität verlieren, dafür aber wesentlich weniger Speicher brauchen. Viele Codecs bieten außerdem die Möglichkeit eine Bandbreite vorzugeben, z.B. 3Mbit/s, was eine passable Qualität sein sollte für eine Überwachungsanlage.

    Gruß
    Chris

    PS. Nimm doch einfach mal einige Minuten Video auf und schau dir die Dateigrößen an.

    Edited once, last by ChrisvA (August 4, 2016 at 3:39 PM).

  • Cool! Danke! Der Rest meiner Rechnung macht aber schon so Sinn??? Auf wie viel Prozent reduziere ich denn so circa mit einem Codec? 5 % von der ursprünglichen Dateigröße?

    Vielen Dank!!

    Edited once, last by mock789 (August 4, 2016 at 7:28 PM).

  • Je nach geforderter Qualität/Codec und vllt. auch abhängig davon, wie viel Bewegung im Bild ist. Da bleibt nur ausprobieren und schauen, was der Pi dir an Codecs anbietet. Wenn ich mir einige Fernsehaufnahmen so anschaue, so liegen die bei 1280x720 etwa bei 1Gb/Stunde. Kannst ja auch mal zum Spaß ein Youtubevideo runter laden und schauen, was Google (die werden was von Kompression verstehen) so schafft.

    Am Ende wird aber immer das gelten, was der Pi von der Rechenleistung schafft. Vllt. lohnt es sich auch eine Bewegungserkennung zu verwenden, so dass nur bei Bewegung tatsächlich ein Film aufgezeichnet/übertragen wird und ansonsten nur alle 5s ein Standbild.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!