amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Amiga, AmigaOS 4 > mpeg (SVCD) -> mpeg1/2 [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

25.03.2006, 17:55 Uhr

Indy
Posts: 538
Nutzer
Hallo Forum !

Heute möchte ich mal wegen folgender "harten Nuss" in die Runde fragen:

Ich habe hier eine "echte" SVCD mit einem, dieser Norm entsprechenden MPEG darauf (480x576, 25 fps).

Diese SVCD läßt sich sowohl im DVD-Player, als auch mit AMP2 am Amiga problemlos abspielen.

Um dieses MPEG jedoch noch am Amiga nachbearbeiten zu können, wäre es erforderlich, es in ein MPEG1/2 oder in Einzelbilder zu konvertieren, was sich jedoch als gar nicht sooo einfach herausstellt, wie es vielleicht zunächst klingen mag.

Ich habe es bereits mit ein paar ffmpeg-Versionen und verschiedenen Parameterangaben versucht, jedoch ohne wirklichen Erfolg, da eine SVCD offensichtlich kein echtes MPEG2 enthält, sondern eine Art Mix aus MPEG1 und MPEG2.

Stand vielleicht schon mal jemand vor dieser Aufgabe und hat dafür eine Lösung gefunden (sprich die entsprechenden Parameter für ffmpeg oder eine andere Amigasoftware-Lösung) ?


Schon mal Danke für jeden Vorschlag im Voraus,

--


Gruß, Indy

[ - Antworten - Zitieren - Direktlink - ]

25.03.2006, 18:20 Uhr

hjoerg
Posts: 3853
Nutzer
@Indy:
Eigentlich ist SVCD=MPEG, versuch mal das x.dat rename .mpg
--
by WinUAE
hjörg :dance2:
Nethands
(Bild) http://hjoerg.homepage.t-online.de/thumb.html

[ - Antworten - Zitieren - Direktlink - ]

25.03.2006, 18:53 Uhr

Palgucker
Posts: 1342
Nutzer
@ Indy

Ich bin zwar nicht ganz im Bilde, wie du das mpeg von der svcd ausgelesen hast, aber ich habe das auch mal vor ca. 2 Jahren mit der Demo von Make-CD gemacht. Den Part mit den MPEG-Daten musste ich aber nochmals mit einem Arexx-Script "beharken", da zwischen den Paket-Headern (0x000001BA) immer noch 12 Byte zwischen sind (Checksummen?), die das eigendliche mpeg eben untauglich machen.

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

26.03.2006, 00:47 Uhr

Indy
Posts: 538
Nutzer
Ich muß noch dazu sagen, daß es sich auf dieser SVCD um ein MPEG ohne Ton, also nur Video handelt, obwohl eine Art Pseudotonspur dabei ist (laut GetMpegInfo), wohl um die Spezifikationen der SVCD einzuhalten.
Siehe dazu folgendes Infofenster von GetMpegInfo:

http://img207.imageshack.us/img207/6917/pic006ri.jpg


@hjoerg:
Eigentlich ist SVCD=MPEG

Ja, ... aber MPEG ist nicht gleich MPEG.

versuch mal das x.dat rename .mpg

Wie meinst Du das ? Was soll ich wo umbenennen ?

@Palgucker
Das MPEG liegt bei einer SVCD ja im Ordner MPEG2 und ist dort als Datei (Avseq01.mpg, 89088000 kB) zugänglich.
FFmpeg konnte dieses MPEG allerding nicht richtig wandeln, weder direkt von der SVCD, noch, nachdem ich es mal auf die HD kopiert hatte.

Gut, ... ging wohl nicht, da noch multiplexed, dachte ich.
Also habe ich dieses MPEG mittels ViCaDo demultiplexed und zwei neue Dateien erhalten:
avseq-0.m2v (45807761 kB) -> wohl das eigentliche Video
avseq-0.mp2 (4144500 kB) -> wohl die leere Pseudotonspur

Aber selbst an avseq-0.m2v scheitert ffmpeg und erzeugt leider nur gestörte Einzelbilder bzw. MPEGs.

Hier ein "kleiner" Auszug aus dem Protokoll von ffmpeg beim Wandeln der avseq-0.m2v Datei:

.
.
.

[mpeg2video @ 0x8ff5ee4]MPEG motion vector out of boundary
[mpeg2video @ 0x8ff5ee4]MPEG motion vector out of boundary
[mpeg2video @ 0x8ff5ee4]MPEG motion vector out of boundary
[mpeg2video @ 0x8ff5ee4]00 motion_type at 6 35
[mpeg2video @ 0x8ff5ee4]concealing 2147483647 errors
[mpeg2video @ 0x8ff5ee4]ac-tex damaged at 13 0trate=1152.1kbits/s
[mpeg2video @ 0x8ff5ee4]concealing 2147483647 errors
[mpeg2video @ 0x8ff5ee4]MPEG motion vector out of boundary
[mpeg2video @ 0x8ff5ee4]MPEG motion vector out of boundary
[mpeg2video @ 0x8ff5ee4]00 motion_type at 11 2
[mpeg2video @ 0x8ff5ee4]ac-tex damaged at 13 16
[mpeg2video @ 0x8ff5ee4]concealing 2147483647 errors
[mpeg2video @ 0x8ff5ee4]ac-tex damaged at 21 23
[mpeg2video @ 0x8ff5ee4]concealing 2147483647 errors
[mpeg2video @ 0x8ff5ee4]ac-tex damaged at 9 25trate=1151.8kbits/s
[mpeg2video @ 0x8ff5ee4]concealing 2147483557 errors
[mpeg2video @ 0x8ff5ee4]ac-tex damaged at 22 3
[mpeg2video @ 0x8ff5ee4]concealing 2147483647 errors
[mpeg2video @ 0x8ff5ee4]00 motion_type at 9 5
[mpeg2video @ 0x8ff5ee4]ac-tex damaged at 28 15
[mpeg2video @ 0x8ff5ee4]concealing 2147483647 errors
[mpeg2video @ 0x8ff5ee4]MPEG motion vector out of boundarykbits/s
[mpeg2video @ 0x8ff5ee4]ac-tex damaged at 4 32
[mpeg2video @ 0x8ff5ee4]concealing 2147483647 errors
[mpeg2video @ 0x8ff5ee4]MPEG motion vector out of boundary
[mpeg2video @ 0x8ff5ee4]slice mismatch
[mpeg2video @ 0x8ff5ee4]concealing 2147483647 errors
[mpeg2video @ 0x8ff5ee4]ac-tex damaged at 14 2
[mpeg2video @ 0x8ff5ee4]concealing 2147483647 errors
.
.
.


[ Dieser Beitrag wurde von Indy am 26.03.2006 um 01:23 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

26.03.2006, 03:00 Uhr

Palgucker
Posts: 1342
Nutzer
Wäre vielleicht noch die Möglichkeit, Ripley darauf anzusetzen. Dieses spielt im Normalfall Mpeg2 ab und kann auch Einzelbilder abspeichern (PPM). Es hat allerdings dann die "Macke", das es bei interleaved MPEG's das 2. Halbbild mit dem Namen des 1. Halbbildes überschreibt, und so im Endeffekt nur die Hälfte der Einzelbilder übrigbleibt.
Zumindest wäre es mal einen Versuch wert, ob sich die Ausgangsdatei überhaupt abspielen lässt, denn so ganz muss man dem Frieden nicht trauen, das du die AV-Sequence heil von der SVCD auf die Platte bekommen hast.
Stutzig machen mich in dieser Hinsicht deine Angaben, das das MPEG auf CD fast 89MB hat, aber die Summe der gesplitteten File kaum 50MB sind

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

26.03.2006, 11:54 Uhr

Indy
Posts: 538
Nutzer
@Palgucker:

Also beim Versuch, Avseq01.mpg (89088000 kB) mit Ripley abzuspielen, kommt nur folgende Fehlermeldung:

unexpected startcode 00000102 in system layer

Versucht man, das demultiplexte avseq-0.m2v (45807761 kB) damit abzuspielen, sieht man nur einen Film mit einer Menge bunter Streifen ohne jeglichen wirklichen Bildinhalt.
--


Gruß, Indy

[ - Antworten - Zitieren - Direktlink - ]

26.03.2006, 12:40 Uhr

hjoerg
Posts: 3853
Nutzer
@Indy:
>Ja, ... aber MPEG ist nicht gleich MPEG

Du wolltest doch MPEG haben? Etwas genauere Angaben mußt Du schon selbst liefern.

Lt. der MPEG INFO ist das File nur 4 Minuten? Da kann etwas nicht stimmen.
Auch die "Pseudotonspur" ist nach den Angaben viel zu groß im Verhältnis zum File. Das wären ja ca. 50% der MPEG-Video-Größe nur Ton.
EDIt: Die Tonspur kann doch stimmen, aber das Video ist nach dem demuxen irgendwie zu klein!


Könnte es sein, dass dieses Video mit einem käuflichen PC-Tool, ala Video-Jack oder ähnl., erstellt wurde?
--
by WinUAE
hjörg :dance2:
Nethands
(Bild) http://hjoerg.homepage.t-online.de/thumb.html


[ Dieser Beitrag wurde von hjoerg am 26.03.2006 um 12:46 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

26.03.2006, 21:53 Uhr

Indy
Posts: 538
Nutzer
@hjoerg:

Du wolltest doch MPEG haben? Etwas genauere Angaben mußt Du schon selbst liefern.

Habe ich's nicht bereits ganz oben geschrieben ?

Ziel ist, dieses MPEG in ein Format zu bringen, welches ich am Amiga nachbearbeiten kann.
Ich dachte zunächst, daß es "einfach" mittels ffmpeg in ein echtes MPEG1 oder MPEG2 wandelbar sein müßte. Geht aber anscheinend nicht (...so ohne weiteres).
Am besten wäre also eigentlich gleich die Zerlegung in Einzelbilder.

Es ist schon richtig, daß dieses MPEG nur knapp mehr als 4 Minuten dauert.

Ausserdem steht selbst in der Anleitung zu GetMpegInfo, daß dieses Tool nicht immer hundertprozentig richtige Angaben liefert.

Womit dieses MPEG erstellt wurde, weis ich leider nicht, aber PC ist sehr wahrscheinlich.
--


Gruß, Indy

[ - Antworten - Zitieren - Direktlink - ]

26.03.2006, 22:14 Uhr

Palgucker
Posts: 1342
Nutzer
@ Indy

Normalerweise sollte das Mpeg für SVCD schon im MPEG-2 Format vorliegen, da z.B. schon die Auflösung 408x576 ausserhalb der MPEG-1 Spezifikation liegt.
Du könntest ja mal versuchen, die SVCD mittels MakeCD auf Platte zu bannen. Das von mir angesprochene Skript kann ich ja noch hier 'rein pappen.
Vielleicht gibt es mit dieser Variante andere (brauchbarere) Daten.

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

26.03.2006, 22:32 Uhr

hjoerg
Posts: 3853
Nutzer
@Indy:

Nun, Du meinst Byte und nicht Kilobyte(kb). (Ich war etwas verwirrt)

Das File ist eigentlich MPG2-Konform, vermutlich hat aber ffmepg Schwierigkeiten damit.

Ich weiß nicht ob Du einen schnellen INET-Zugang hast, dann vielleicht mal hochladen odre hast selbst Zugang zu einem PC? Am AMIGA habe die Videobearbeitung eigentlich aufgegeben, manchmal klappt es mit ffmpeg/nur DEcoding!

Gut für ffmpeg macht sich auch der Videokonverter.lha

Oder mal den probieren: http://aminet.net/package.php?package=gfx/conv/MPEG2Dec.lha



--
by WinUAE
hjörg :dance2:
Nethands
(Bild) http://hjoerg.homepage.t-online.de/thumb.html


[ Dieser Beitrag wurde von hjoerg am 26.03.2006 um 22:58 Uhr geändert. ]

[ Dieser Beitrag wurde von hjoerg am 26.03.2006 um 23:04 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

26.03.2006, 23:22 Uhr

Indy
Posts: 538
Nutzer
@Palgucker:

Das MPEG hat 480x576 Auflösung und entspricht somit exakt der SVCD-Spezifikation.
Ein Videotechniker erklärte mir, daß es sich bei SVCD's um eine Art Zwischending zwischen MPEG1 und MPEG2 handle und eigentlich kein reines MPEG2 sei.

Dein script könnte vielleicht nützlich sein. Also falls Du es noch findest... ;)

@hjoerg

Sorry für die Verwirrung, das MPEG hat, anders gesagt, knapp 90 Megabyte.
...und ja, ffmpeg hat mit diesem Format so seine liebe Not...

Weder Frogger noch FroggerNG können das bereits demuxte MPEG richtig abspielen.

Videobearbeitung möchte ich hier auch nicht regelmäßig machen müssen ;) ...aber solange es nur ab und zu der Fall ist und es sich um kleinere Dateien handelt, geht es meist gerade noch.
--


Gruß, Indy

[ - Antworten - Zitieren - Direktlink - ]

27.03.2006, 00:03 Uhr

Palgucker
Posts: 1342
Nutzer
Hier nun das Script

code:
/* cut mpg */
Parse Arg OPTS
Parse Value OPTS with File ' ' Ziel
Laenge=SUBWORD(STATEF(File),2,1)
Call Open(File,File,R)
Blksize=0 ; adr=0
Do Forever
If Blksize > 0 Then Leave
pr$=Readch(File,65535)
Sadr=1
ADR1=POS(X2C(000001BA),pr$,1)
ADR2=POS(X2C(000001BA),pr$,Adr1+1)
Blksize=Adr2-Adr1
End
say "gefundener Blocksize = " || Blksize 
Paketsize=Blksize-12
Radr=8
Do Forever
Radr=Seek(File,Radr,Begin)
Blk$=Readch(File,4)
If D2X(C2D(Blk$),8)="000001BA" Then Leave
Radr=Radr+Blksize
End
say "Packet-header gefunden bei Position " || Radr ||" " Radr % Blksize + 1 ||". Block"
Call Open(Ziel,Ziel,W)

Durchlauf=Laenge%Blksize
Rest=Laenge//Blksize

say "lese Daten..."
Radr=Seek(File,-4,Current)
Do D =1 to Durchlauf
Wr=Writech(Ziel,Readch(File,Paketsize))
Radr=Seek(File,12,Current)
End
Wr=Writech(Ziel,Readch(File,Rest))
Cl=Close(File)
Cl=Close(Ziel)


Aufgerufen wird es einfach in der Shell mit

rx scriptname Qellfile Zielfile

Das Script ist zwar recht rudimentär, aber hat bei mir immer ein brauchbares MPEG extrahiert.
Hoffe, das es auch bei dir klappt

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

27.03.2006, 00:57 Uhr

Indy
Posts: 538
Nutzer
@Palgucker:

Also Dein Skript funktioniert soweit, in dem Sinne, daß es aus dem bereits demuxten avseq-0.m2v (ca. 46 MB) ein weiteres MPEG erzeugt (ca. 38 MB), welches jedoch leider ebenso "zerstört" wiedergegeben wird (FroggerNG).
Also leider wieder nichts...

Dank Dir trotzdem für Deinen Einsatz :)
--


Gruß, Indy

[ - Antworten - Zitieren - Direktlink - ]

27.03.2006, 13:18 Uhr

Palgucker
Posts: 1342
Nutzer
@ Indy

Jetzt haben wir uns gründlich missverstanden.
Dieses Script ist ausschlieslich dafür geeignet, aus einem von MakeCD abgespeicherten Image einer SVCD die "reinen" MPEG-Daten zu extrahieren.
MakeCD (Demo) speichert bei mir eine SVCD immer in 2 Teilen ab.
Einmal der ISO-conforme Teil der SVCD (Inhaltsverzeichnis usw.) mit einer Blockweite von 2048 Bytes.
Und dann den "Video-Part" mit einer Blockweite von 2336 Byte. Diese beiden Track's heißen dann z.B.

01_MODE2_xx_xx_xx (ISO-Part)
02_MODE2_xx_xx_xx (Video-Part)

Und nur auf letzteren Part macht die Anwendung des Scriptes Sinn. Wenn Du es auf ein normales MPEG loslässt, schneidet es zwar auch jeweils 12 Byte 'raus, macht damit die Lage aber noch schlimmer.

Mir ging es hierbei vorallen, mal eine andere Variante auszuprobieren, das MPEG von der SVCD auf die Platte zu bekommen.
Denn die auf CD angezeigte Länge des Avseq01.mpg von 89088000 Byte und der Summe der demultiplexten Files von 49952261 Bytes ergeben einen "Schwund" von ~39000000 Byte. Irgendwo passt da was nicht.

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

27.03.2006, 16:52 Uhr

McFly
Posts: 586
Nutzer
@Indy:

versuche es mal mit VCD-Save, ich denke das ist genau das was Du brauchst. Kann aber sein, das Du Dir NewGUI zusätlich installieren musst.

regards
McFly

--
PPS for Amiga on:
http://McFly.de.tf



[ - Antworten - Zitieren - Direktlink - ]

27.03.2006, 21:40 Uhr

Indy
Posts: 538
Nutzer
@Palgucker:

So, nach erfolgreicher Beseitigung des Mißverständnisses durch Umgehung desselben habe ich es dank Deines Skripts geschafft, das eigentliche MPEG so zu extrahieren, daß es nun auch sogar mit FroggerNG problemlos abspielbar ist.
Das MPEG hat jetzt nach dieser Prozedur übrigens eine Größe von 101,4 MB (!) und ist damit um rund 500 kbyte kleiner geworden, als der ursprüngliche Track 2 (101,9 MB) auf der SVCD.

Einer Weiterverarbeitung mit ffmpeg sollte demnach nun (kaum) mehr etwas im Wege stehen...
(...mal sehen, ob's auch stimmt)

Danke Dir vielmals, Palgucker

@McFly

VCDsave werde ich mir aber auch noch mal ansehen, ...kann nie schaden ;)


Danke für Eure Tips...


Gruß, Indy

[ Dieser Beitrag wurde von Indy am 27.03.2006 um 21:42 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > mpeg (SVCD) -> mpeg1/2 [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.