Video Encoding zu parallelisieren ist ja ziemlich trivial. Macht aber zumindest mencoder nicht. Das Problem ist, dass sich mencoder auf den Codec verlässt und das funktioniert eben noch nicht so toll, weil der eben nur unabhängige Operationen parallelisieren kann.
Ein viel simplerer und besser skalierender Ansatz (wenn keine Echtzeitanforderungen im Spiel sind) wäre einen Film beim Kodieren in separate Blöcke (an I-Frame Grenzen) zu zerlegen und die dann einfach unabhängig voneinander zu kodieren - jeweils ein Prozess pro Kern und die holen sich ihre Filmschnipsel aus einer Queue. Das sollte besonders bei langen Filmen gut skalieren, selbst bei hunderten von Kernen, so lange genug Speicher vorhanden ist.
Kennt jemand einen Encoder der das so ähnlich macht?
Ein viel simplerer und besser skalierender Ansatz (wenn keine Echtzeitanforderungen im Spiel sind) wäre einen Film beim Kodieren in separate Blöcke (an I-Frame Grenzen) zu zerlegen und die dann einfach unabhängig voneinander zu kodieren - jeweils ein Prozess pro Kern und die holen sich ihre Filmschnipsel aus einer Queue. Das sollte besonders bei langen Filmen gut skalieren, selbst bei hunderten von Kernen, so lange genug Speicher vorhanden ist.
Kennt jemand einen Encoder der das so ähnlich macht?
