Im Allgemeinen sind Multimedia-Container auf bestimmte Codecs beschränkt, die eingebettet werden können. Einige mehr als andere. Zum Beispiel kann der Matroska-Container praktisch jeden Video-, Audio- oder Untertitel-Codec enthalten. Auf der anderen Seite sind Container wie MPEG-4 Part 14 (.mp4) ziemlich begrenzt. Container wie MPEG-2-Transportströme sind sehr flexibel, da Sie hier "private Streams" definieren können, in denen nicht standardisierte Codecs übertragen werden können.
Sie finden eine umfassende Übersicht auf Wikipedia .
Natürlich können Sie im Prinzip beliebige Daten, die sich als Video oder Audio tarnen, in einen Container einbetten. Der Container ist nur da, um die Nutzlast zu bündeln. Ich sehe jedoch keinen praktischen Nutzen dafür, da Sie die Daten ohne einen Parser, der die Nutzlast versteht, nicht entschlüsseln können.
Vielleicht interessiert Sie auch: Was ist ein Codec (zB DivX?) Und wie unterscheidet er sich von einem Dateiformat (zB MPG)?
In Bezug auf Ihre spezielle Frage werden Sie feststellen, dass Ogg-Container die folgenden Codecs enthalten können :
- Video: Theora, Dirac, OggUVS, MNG
- Audio: Vorbis, FLAC, Speex, Opus, OggPCM
Insbesondere kann ffmpeg nicht beliebige Daten in einen Container muxen. Sie erfahren, wenn ein bestimmter Codec für ein Format nicht gültig ist.