Wieviel Rechenpower braucht man um ein MPEG-2 Video in MPEG-4 AVC in Echtzeit umzuwandeln und anschließend mit AES zu



  • verschlüsseln?

    Das Video ist im PAL Format und kommt als MPEG-2 Datenstrom von einer DVB-C Karte.



  • PS:

    Die Bitrate sollte so klein wie möglich sein, aber dennoch groß genug, daß man
    keine visuell für den Menschen wahrnehmbaren Verluste hat.



  • aes auch in echtzeit?



  • 268,8 gigaflops.



  • 42



  • Nimm Linux.



  • sind das überhaupt fließkommaops oder ganzzahl?



  • sothis_ schrieb:

    aes auch in echtzeit?

    Ja, natürlich.
    Das auch.



  • Dekoder & Encoder schrieb:

    PS:

    Die Bitrate sollte so klein wie möglich sein, aber dennoch groß genug, daß man
    keine visuell für den Menschen wahrnehmbaren Verluste hat.

    "So klein wie möglich" ist viel zu schwammig. Je mehr Rechenpower du reinsteckst, desto geringer wird die Bitrate bei gleicher Qualität sein.
    Du wirst das vermutlich mit einem Core eines Core 2 Duo @2 GHz hinbekommen, du kannst aber genauso 4 Cores @3 GHz damit beschäftigen.

    Wo der Punkt ist wo du sagst "das passt jetzt" kannst du wohl nur experimentell ermitteln.



  • hustbaer schrieb:

    "So klein wie möglich" ist viel zu schwammig. Je mehr Rechenpower du reinsteckst, desto geringer wird die Bitrate bei gleicher Qualität sein.

    Aber irgendwo muß doch Schluß sein, irgendwann gehen doch viel zu viel Details verloren.

    Wo der Punkt ist wo du sagst "das passt jetzt" kannst du wohl nur experimentell ermitteln.

    Hm, kennt ihr ein Programm mit dem man das dekodieren und enkodieren und anschließendes verschlüsseln testen kann?



  • Mit der Spursengine oder mit GPUs (mit spezieller software) kann man gut encodieren, selbst bei kleineren cpus 😉

    das mehr rechenleistung zu besserer kompression fuehrt kann man nicht wirklich sagen, die algorithmen versuchen das optimum zu finden z.b. bei motion estimation und mehr rechenleistung fuehrt da nicht unbeding zu mehr qualitaet, es laeuft lediglich schneller durch. man muesste schon einen neuen, rechenaufwendigereren algorithmus einschalten damit es wirklich einen unterschied macht.

    benchmarks solcher art gibt es bei vielen zeitschriften, print und online, z.b. pcgames hardware, toms hardware guide, oder http://www.hartware.de/review_886_8.html

    und nen AES source findet man sicherlich irgendwo mit dem man dann einen bechmark schreiben kann.



  • raps schrieb:

    benchmarks solcher art gibt es bei vielen zeitschriften, print und online, z.b. pcgames hardware, toms hardware guide, oder http://www.hartware.de/review_886_8.html

    Deute ich das Benchmarkergebniss auf hartware.de richtig, daß
    ein Core2 E8600 z.b. nur 62.14 Frames pro Sekunde encodieren kann.
    D.h. wenn ich davon ausgehe, daß ein Video 25 frames pro Sekunde hat,
    also wie bei einem normalen PAL Signal, daß der Core2Duo dieses Frame
    in einer Halben Sekunde enkodieren kann und ich somit
    die restliche halbe Sekunde für das dekodieren des MPEG-2 Streams und AES verwenden kann.

    Mit anderen Worten, der Core2 E8600 würde das geradeso in Echtzeit schaffen.
    Richtig?



  • das kommt in etwa so hin. beim enkodieren nach h264 habe ich mit meinen 2 opterons 250 (2.4GHz) zu tun, dass ich über 20fps komme. solche sachen laufen bei mir immer über nacht 🙂



  • Hm, das sieht schlecht aus.

    Ich hatte gehofft, daß ein Atom oder Semptron schnell genug ist für die Echtzeit Enkodierung.

    Ich bräuchte nämlich einen Stromsparrechner, der daß bei einem Gesamtstromverbrauch von ca. 30 W in Echtzeit schafft.

    Welche Möglichkeiten gäbe es denn, diese Aufgabe an spezielle DSPs auszulagern?
    Also gibt es dafür spezielle Karten mit entsprechenden Enkodier & Dekodierchips
    die das in Echtzeit können, ohne dabei aber deutlich den Gesamtstromverbrauch zu erhöhen?

    Eine extra Grafikkarte wollte ich eigentlich nicht nehmen, weil die mehr verbraucht als eine Onboard GPU.
    Aber welche onboard GPUs könnte man denn für diese Aufgabe mißbrauchen?
    Gibt es da schon etwas passendes von NVidia oder ATI?

    Ansonsten, wenn ich die Arbeit nur von der CPU machen lasse,
    mit MPEG-4 ASP (h.263), also XVID/DivX anstatt MPEG-4 AVC (H.264) müßte das doch besser aussehen, oder?



  • Nachtrag:

    sothis_ schrieb:

    das kommt in etwa so hin. beim enkodieren nach h264 habe ich mit meinen 2 opterons 250 (2.4GHz) zu tun, dass ich über 20fps komme. solche sachen laufen bei mir immer über nacht 🙂

    Dazu habe ich noch zwei Fragen.
    1. Werden dabei beide CPU Kerne von deinem Enkoderprogramm benutzt?
    2. Machst du das in einem Pass, oder verwendest du ein 2-Pass Modus, also einer, bei dem das Video 2 mal durchlaufen wird?



  • Dekoder & Encoder schrieb:

    Nachtrag:

    sothis_ schrieb:

    das kommt in etwa so hin. beim enkodieren nach h264 habe ich mit meinen 2 opterons 250 (2.4GHz) zu tun, dass ich über 20fps komme. solche sachen laufen bei mir immer über nacht 🙂

    Dazu habe ich noch zwei Fragen.
    1. Werden dabei beide CPU Kerne von deinem Enkoderprogramm benutzt?
    2. Machst du das in einem Pass, oder verwendest du ein 2-Pass Modus, also einer, bei dem das Video 2 mal durchlaufen wird?

    1. ja, bei ffmpeg kannst du die gewünschte zahl der threads als option angeben
    2. das mit den 20fps hat sich auf einen pass bezogen, beim 2-pass verfahren geht der erstere natürlich wesentlich schneller (fps hab ich jetzt nicht mehr so genau in erinnerung, ist schon etwas her), während der zweite dann aber auch so bei 17 bis 20fps abgearbeitet wird



  • Falls ich nicht so eine schnelle stromfressende CPU verbauen will,
    wäre dann nicht ein Mainboard mit ATI Chipset sinnvoll,
    wenn der Chipsatz AVIVO bietet?

    AVIVI ist zum enkodieren und dekodieren von Vidoematerial und man kann es auch resizen, deinterlacen etc.
    http://en.wikipedia.org/wiki/AVIVO

    Solche Chips müßten dann in Frage kommen:
    http://en.wikipedia.org/wiki/AMD_700_chipset_series#Integrated_graphics

    Aber wird die AVIVO Encodingeinheiten eigentlich von Linux unterstützt?
    Also kann man die ansprechen, gibt es dafür Treiber und Software für Linux die diese Einheit nutzen?



  • PS:

    Wichtig ist dabei übrigens noch, daß ich dann das enkodiere Video auf Festplatte speichern kann.
    Es sollte also nicht am DVI Port direkt fix und fertig ausgegeben werden.
    Geht das mit diesem AVIVO Chipset von AMD?

    Später will ich das Video nämlich über mein lokales Netzwerk streamen.



  • Dekoder & Encoder schrieb:

    raps schrieb:

    benchmarks solcher art gibt es bei vielen zeitschriften, print und online, z.b. pcgames hardware, toms hardware guide, oder http://www.hartware.de/review_886_8.html

    Deute ich das Benchmarkergebniss auf hartware.de richtig, daß
    ein Core2 E8600 z.b. nur 62.14 Frames pro Sekunde encodieren kann.
    D.h. wenn ich davon ausgehe, daß ein Video 25 frames pro Sekunde hat,
    also wie bei einem normalen PAL Signal, daß der Core2Duo dieses Frame
    in einer Halben Sekunde enkodieren kann und ich somit
    die restliche halbe Sekunde für das dekodieren des MPEG-2 Streams und AES verwenden kann.

    Mit anderen Worten, der Core2 E8600 würde das geradeso in Echtzeit schaffen.
    Richtig?

    nicht nur encodieren, sondern transcodieren, er muss erst den mpeg stream entpacken und dann zu x264 encoden.

    wenn du einen stromspar rechner brauchst, bietet sich eventuell ein AMD 2000+ an, der soll als sparversion 8Watt ziehen, ich glaube das stand in der letzten c't. die rechenleistung ist dabei nicht schlecht.

    kommt immer drauf an was du vor hast. es gibt z.b. settop boxen fuer irgendwas um 50euro die dir fernsehsendungen als mpeg ablegen koennen, afaik ziehen die auch recht wenig.



  • rapso schrieb:

    wenn du einen stromspar rechner brauchst, bietet sich eventuell ein AMD 2000+ an, der soll als sparversion 8Watt ziehen,

    8 W im Gesamtstromverbrauch oder nur die CPU?

    Bei ersterem wäre das ja top.

    kommt immer drauf an was du vor hast. es gibt z.b. settop boxen fuer irgendwas um 50euro die dir fernsehsendungen als mpeg ablegen koennen, afaik ziehen die auch recht wenig.

    Ja, aber ich brauche die Flexibiltät eines PCs, schließlich will ich das Videomaterial übers Netzwerkstreamen und dabei auch noch verschlüsseln.


Anmelden zum Antworten