Moin, Unn zwaa haett ich gern folgendes Problem: Es gibt so diverse SoCs (fuer Dashcams, etc.) die fuer h264/5 encodierung einen Hardwarebeschleuniger eingebaut haben, als CPU aber eher nur kuemmerliche AeRMchen - also nix, wo ein ffmpeg performant drauf laufen wuerde. Wenn ich nun mit so einem SoC "mit Gewalt" einen h262 (mpeg2) Videostrom erzeugen will, was der Hardwarebeschleuniger nicht so direkt hergibt, ist die Frage, ob man das nicht irgendwie "anders" hinkriegen kann - z.b. dass man versucht, per hw-beschleunigter h264/5 encodierung einen entsprechenden Bitstrom zu erzeugen, der danach moeglichst "billig" (im Sinn von CPU-Bumms- Verbrauch) in h262 (mpeg2video) gewandelt werden kann. "Billig" waere es z.b. wenn man nicht die Bewegungsschaetzung, DCT oder sowas "neu" machen muesste, die GOP-Stuktur gleichbliebe, etc. Nu ist aber h264 (und wahrscheinlich h265 auch) ein arg komplexes Ding, mit vielen Schraeubchen zum Drehen. Hier wird z.B. beschrieben, wie man unkomprimiertes Video in h264 encodieren ( eigentlich eher nur "verpackeln") kann: https://www.cardinalpeak.com/blog/worlds-smallest-h-264-encoder Hat dazu analog mal jemand z.b. was in Richtung h262 in h264 encodieren irgendwo gesichtet - das waere zumindest schon mal das umgekehrte Szenario, was ich eigentlich gerne haette? Ich tu mir mit googlen auch etwas schwer, da kommen eher Vergleiche zwischen den verschiedenen Videocodecs oder eben allgemeines Blabla, wie diese Codecs funktionieren... Gruss WK
Dergute W. schrieb: > Wenn ich nun mit so einem SoC "mit Gewalt" einen h262 (mpeg2) Videostrom > erzeugen will, was der Hardwarebeschleuniger nicht so direkt hergibt, > ist die Frage, ob man das nicht irgendwie "anders" hinkriegen kann Kurz: Vergiß es. Das liegt weniger daran, dass nicht durchaus Teile der H.264/5-Hardwarebeschleunigung auch für MPEG2 sehr schick nutzbar wären. Es liegt vielmehr daran, dass du praktisch keine Chance hast, an diese Teile direkt ranzukommen. Typisch ist es heute sogar so, dass nichtmal vollständige Doku hier helfen würde (die natürlich der Normalsterbliche sowieso nicht bekommt). Das liegt daran, das Schnittstellen zu den interessanten Teilbereichen schon im Design der Hardware einfach nicht mehr vorgesehen sind.
Diese encoder, die hier angesprochen werden, sind bei SoC ausnahmslos fest verdrahtete Hardware. Diese lässt sich in aller Regel nicht so konfigurieren, dass sie alte Standards ausgibt und wenn dürfte das nicht nur ein SW- und Konfigurationsproblem werden, sondern auch eines der HH. Verschiedene Modi und Bandbreiten müssen abgespeckt werden, weil der 262 nicht alles kann.
Moin, Ja, ist mir schon klar, dass ich an der fest verdrahteten Encoder)Logik nix aendern kann. Frage ist nur, ob man bestimmte (welche) Betriebsarten einstellen kann, z.b. SimpleProfile, keine B-Frames, etc. um einen h264 Strom zu kriegen, der relativ aufwandsarm von der CPU auf h262 umgemodelt werden koennte. Klar muesste dann die CPU per (hoechstwahrscheinlich noch zu schreibender) Software hergehen und eben aus den h264 NAL units (die aus'm HW-Beschleuniger rausfallen) die entsprechenden mpeg2 Geschichten machen. Also z.b. aus ner Nalu "Nummer 5; IDR-Picture" ein mpeg2 iframe basteln (ohne IDCT und neue DCT berechnen zu muessen), aus den SPS und PPS Nalus entsprechende mpeg2 sequence header und GOP Header... Was sicherlich noch Aufriss ist. Aber eben deutlich weniger, wie ein ffmpeg draufzuhetzen, was das h264 komplett decodiert und mpeg2 komplett neu encodiert. Gruss WK
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.