Einführung ********** Dies ist eine Amiga-Version von Christoph Moars MPEG- Multiplexer "MPLEX". Damit ist es möglich, aus einem MPEG-Audio und einem MPEG-Video-Stream einen einzigen MPEG-System-Stream zu erzeugen, im Klartext heißt das: MPEG-Video mit Ton! Beispiel ******** Für eine Demonstration benötigen wir also ein Videofile und ein dazu passendes Audio-File. Dazu splitten wir am einfachsten ein fertiges Systemfile in seine Bestandteile auf und mixen diese mit mplex dann wieder zusammen. Mit splitmpeg (Aminet) wurde dazu ein Werbevideo für Maxon Cinema von der CD zur AmigaPlus 8/98 zerlegt. 9.Leer1:MpgTest> splitmpeg cd0:cinema4d.mpg SYSTEM HEADER ------------- Maximum Multiplexed data rate =176400 bytes per second Max number of audio streams = 1 Bitrate is variable Multiplexed stream meets constrained parameters There is a constant rational relationship between the audio sampling rate and the system clock frequency in the system target decoder There is a constant rational relationship between the video picture rate and the system clock frequency in the system target decoder Max number of video streams = 0 Reserved_byte = ff Stream Information for stream 1c0 : Buffer bound = 32768 bytes Processing Complete Processed 17087 Packs , 2 system headers and 17089 Packets 9.Leer1:MpgTest> Nach diesem Befehl haben wir 3 neue Files: Leer1:MpgTest/stm190.mpg (Paddingstream) Leer1:MpgTest/stm192.mpg (Audiostream) Leer1:MpgTest/stm224.mpg (Videostream) Für uns sind nur der Audio und Videostream interessant. Multiplexen des Video- und Audiostreams *************************************** Diese beiden Streams sollen nun mit mplex (wieder) zu einem Systemstream zusammengefaßt werden. mplex-1.1 stm224.mpg stm192.mpg system.mpg Vorsicht Falle! Wird die Ausgabedatei vergessen, gibt es keine Fehlermeldung! Statt dessen nimmt mplex an, daß entweder die Video- oder Audiodatei fehlt und der letzte Paramter die Ausgabedatei sei. Diese wird dann überschrieben! Mplex scannt zunächst den Video- und Audiostream und zeigt eine Reihe von Informationen an. Danach sind einige Parameter anzu- geben. Folgende Werte wurden zum Test verwendet: sector size (CD-ROM 2324 bytes) : 2324 packs to packets ratio : 1 STD video buffer in kB (CSPS: max 46 kB) : 40 STD audio buffer in kB (CSPS: max 4 kB) : 4 target data rate (e.g. 175050) : 175050 startup sectors_delay : 8 startup sectors_delay : 0 video stream startup offset (ms) : 0 Die Frage "very verbose mode?" kann mit "n" beantwortet werden, sonst werden unzählige Statusmeldungen ausgegeben. Geschwindigkeit, Programmversionen ********************************** Das Programm wurde mit SAS/C für 68000 und PPC sowie mit dem Gnu-C Compiler (Geek-Gadgets, ADE) für 68000 compiliert. Die SAS/C-Version wurde mit Stacküberwachung compiliert, sollte also auf jedem Rechner problemlos funktionieren. Die GCC-Version ist etwas schneller als die SAS-Version, benötigt aber die ixemul.library. Auf dem Testrechner (68060/50/604e/200) wurden folgende Zeiten gemessen: SAS68k 6 Min 8 Sek gcc68k 4 Min 55 Sek sasppc 2 Min 46 Sek Hinweis, Änderungen zum Original ********************************* Ich habe das Programm lediglich für den Amiga compiliert. Ich kann keine Hilfestellung zu den notwendigen Parametern geben. Im Originalarchiv sind verschiedene Dokumentationen enthalten. Mit GCC lassen sich die Originalquellen ohne Änderungen compilieren. Notwendige Änderungen für die SAS-Version sind im File main.c dokumentiert. Und nun viel Spaß! Alexander Fritsch PS. Falls jemand noch eine Programmieridee sucht: Im Aminet habe ich bisher noch keine brauchbare Lösung zum Erzeugen von MPEG-Video und -Audio Files aus Movieshop gefunden...