Video-Browser gesucht
Video-Browser gesucht
Was ich suche, ist ein Programm für Videos, analog zu PMView für Fotos: In einem Vorschaufenster wird mir der Inhalt der Dateien in Form kleiner Mini-Bilder (Thumbnails) angezeigt. Wenn ich also ein Photo suche, aber dessen exakten Dateinamen nicht weiß (und Namen wie "IMG_4712.JPG" sagen ja nix aus), hilft mir dieses Vorschaufenster in PMView erheblich: Auf einen Blick sehe ich alle Bilder in einem Verzeichnis. In verkleinerter Form, aber aussagefähig. Das ist *seeeeehr* hilfreich!
So etwas müßte es doch auch für Videos geben. Mir würde schon eine Thumbnail-Anzeige des ersten Frames jedes Videos reichen.
Das ansonsten geniale VLC macht an der Stelle leider schlapp: Im Open-Dialog sehe ich nur die Liste aller Dateinamen. Aber Namen wie "VID-20210906-124696.mp4" sagen leider gar nichts aus. Für SMPlayer gilt dasselbe. Und die native WPS gibt schon gar nichts her.
Gibt es da ein Programm, das ich nicht kenne, das solches "Browsen" erlaubt?
Danke,
Lutz W.
So etwas müßte es doch auch für Videos geben. Mir würde schon eine Thumbnail-Anzeige des ersten Frames jedes Videos reichen.
Das ansonsten geniale VLC macht an der Stelle leider schlapp: Im Open-Dialog sehe ich nur die Liste aller Dateinamen. Aber Namen wie "VID-20210906-124696.mp4" sagen leider gar nichts aus. Für SMPlayer gilt dasselbe. Und die native WPS gibt schon gar nichts her.
Gibt es da ein Programm, das ich nicht kenne, das solches "Browsen" erlaubt?
Danke,
Lutz W.
Ein Programm wüsste ich nicht, aber eine Möglichkeit, wie es sich vielleicht alternativ lösen lässt. Ich habe testweise einen Leuchttisch erzeugt und einige Videos dort gespeichert.
Detailreicher arbeitet man mit der Software movicontactsheet. Die erzeugt eine ganze Bildserie und montiert sie einem zusammen. Das Ergebnis ist recht ansprechend, aber man muss jede Datei einzeln laden und das Extrahieren dauert recht lang:
Ich habe das Programm ffmpegthumbnailer verwendet (Installation ist etwas mühselig, bis alle nötigen DLL da sind) und ein Programmobjekt mit folgenden Einstellungen angelegt:
In einem Rutsch konnten für alle Videos Thumbnails erzeugt werden. Im Ergebnis bietet sich etwas mehr Info als zuvor:
Die mit dem ffmpegthumbnailer erzeugten png's lassen sich auch der jeweiligen Datei als Icon zuordnen. Mir ist jedoch nicht gelungen, dass dieses dann auch gezeigt wird (auch nicht mit entsprechender Größenanpassung). In den Eigenschaften wird es jeweils dargestellt. Detailreicher arbeitet man mit der Software movicontactsheet. Die erzeugt eine ganze Bildserie und montiert sie einem zusammen. Das Ergebnis ist recht ansprechend, aber man muss jede Datei einzeln laden und das Extrahieren dauert recht lang:
Hallo P.R.,
danke für den Tip. Hatte noch nie gehört von dem Programm. Scheint aber genau das zu sein, wonach ich suche.
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Bevor ich mir also die Mühsal der Installation antue, noch eine Frage:
Das Programm nennt sich selbst (in der Readme): "video thumbnailer". In deinem Screenshot "Leuchttisch.2.jpg" sind aber gerade die Icons von Video-Dateien (avi, mp4) leer. Echte Thumbnails sehe ich dort nur bei den JPGs. Wie erklärt sich das?
Gruß,
Lutz Wagner
danke für den Tip. Hatte noch nie gehört von dem Programm. Scheint aber genau das zu sein, wonach ich suche.
Äh .. ja ... ein Blick in das Readme zeigt, wie recht du hast
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Bevor ich mir also die Mühsal der Installation antue, noch eine Frage:
Das Programm nennt sich selbst (in der Readme): "video thumbnailer". In deinem Screenshot "Leuchttisch.2.jpg" sind aber gerade die Icons von Video-Dateien (avi, mp4) leer. Echte Thumbnails sehe ich dort nur bei den JPGs. Wie erklärt sich das?
Gruß,
Lutz Wagner
Ich sehe auf dem Bild zu jeder Datei (egal welche Endung) eine entsprechende .png Datei.DonLucio hat geschrieben: ↑Mo 13. Sep 2021, 10:32 Bevor ich mir also die Mühsal der Installation antue, noch eine Frage:
Das Programm nennt sich selbst (in der Readme): "video thumbnailer". In deinem Screenshot "Leuchttisch.2.jpg" sind aber gerade die Icons von Video-Dateien (avi, mp4) leer. Echte Thumbnails sehe ich dort nur bei den JPGs. Wie erklärt sich das?
Gruß,
Lutz Wagner
z.b.: Demo4.mp4 und Demo4.png
OS/2 versus Hardware - Maximum Warp!
Uff! "Tomaten auf den Augen" nannte man diese Krankheit früher...
Hatte ich tatsächlich nicht gesehen. Liegt wohl auch daran, dass die JPG- und die Video-Dateinamen nicht ganz identisch sind.
Danke für die Aufklärung.
Allerdings finde ich diese Machart persönlich etwas befremdlich. Warum präsentiert man für *eine* Videodatei *zwei* Thumbnails, zumal wo das PNG ja nun rein gar nichts an Information enthält.
Noch mal eine Ergänzung, nun, wo ich mir die Screenshots nochmal genauer angeschaut habe (ohne Tomaten):
Die Screenshots stammen anscheinend gar nicht aus dem Programm ffmpegthumbnailer, sondern - gem. Titlebar - aus einer Anwendung "Leuchttisch".
Ich erinnere mich ganz dumpf an graue Vorzeiten des Warp3- und 4, wo es mal eine gleichnamige Anwendung gab. Im eCS und AOS scheint die aber nicht mehr dabei zu sein. Warum eigentlich nicht?
Gruß,
Lutz W.
Die Leuchttisch-Klasse wurde mit den cwmmutils wiederbelebt. Wahrscheinlich war es seit Warp-4-Zeiten nie verschwunden.
Das hat den Vorteil, dass Bilder im Kleinformat angezeigt werden, wo sonst nur Bitmap-Symbole erscheinen würden, on-the-fly und unabhängig von EAs. PMView kann beides, EAs erzeugen und on-the-fly, ist aber langsamer. iconify.exe aus den fm2utils kann EAs für Bitmap-Dateien erzeugen.
Was Dir jetzt noch fehlt, ist:
o Umwandlung von PNG in OS/2-Icon (nicht mit dem Windows-ICO-Format kampatibel)
o Anwendung der .ico-Dateien als EAs auf die Filmdateien.
Du kannst natürlich auch das Paket PNG-Icons aktivieren (mit allen Nachteilen, die das bietet), damit könntest Du Dir die Umwandlung sparen.
Das hat den Vorteil, dass Bilder im Kleinformat angezeigt werden, wo sonst nur Bitmap-Symbole erscheinen würden, on-the-fly und unabhängig von EAs. PMView kann beides, EAs erzeugen und on-the-fly, ist aber langsamer. iconify.exe aus den fm2utils kann EAs für Bitmap-Dateien erzeugen.
Was Dir jetzt noch fehlt, ist:
o Umwandlung von PNG in OS/2-Icon (nicht mit dem Windows-ICO-Format kampatibel)
o Anwendung der .ico-Dateien als EAs auf die Filmdateien.
Du kannst natürlich auch das Paket PNG-Icons aktivieren (mit allen Nachteilen, die das bietet), damit könntest Du Dir die Umwandlung sparen.
Andreas Schnellbacher
Genialer Tip! Danke!
Es gibt ein Template namens "Light Table"!
Muß ich gleich mal ausprobieren.
Was jetzt noch fehlt, ist leider etwas mehr: Wo kriege ich denn das PNG oder ICO her? Das muß mir ja jemand aus dem Video irgendwie rausziehen.aschn hat geschrieben:Was Dir jetzt noch fehlt, ist:
o Umwandlung von PNG in OS/2-Icon (nicht mit dem Windows-ICO-Format kampatibel)
o Anwendung der .ico-Dateien als EAs auf die Filmdateien.
Das könnte man theoretisch mit ffmpeg machen (wenn man sich durch die Hölle der Kommandozeilenparameter durchwühlt).
Wenn man also des objektorientierten Programmierens mächtig ist (was ich nicht bin) *und* den Sourcecode der cwmm.dll hat, dann dürfte es nicht schwer sein, aus jedem Video in einem Verzeichnis den ersten Frame herauszuziehen und als JPG (oder PNG) zu speichern.
Ja, wenn ... Fahrradkette ...
Trotzdem, danke für den Tip. Hilft mir schon etwas weiter.
Gruß,
Lutz W.
Hat das nicht Peter geschrieben und als Screenshot gepostet?
Andreas Schnellbacher
Meine Idee ging in Richtung WPS Klasse. Die MMPM API erlaubt es, ein Video in einem Anwenderfenster in einem dort noch weiter eingegrenzten viereckigen Ausschnitt wiederzugeben. Das Anwenderfenster wäre also der Container Client und der eingegrenzten Bereich eben der Platz wo normalerweise ein Icon angezeigt würde. Dann könnte man als "Icon" z.B. die ersten drei Sekunden des Videos zeigen. Die Frage wäre natürlich, wie häufig man diese ersten 3 Sekunden abspielen würde.DonLucio hat geschrieben: ↑Mo 13. Sep 2021, 18:45Genialer Tip! Danke!
Es gibt ein Template namens "Light Table"!
Muß ich gleich mal ausprobieren.
Was jetzt noch fehlt, ist leider etwas mehr: Wo kriege ich denn das PNG oder ICO her? Das muß mir ja jemand aus dem Video irgendwie rausziehen.aschn hat geschrieben:Was Dir jetzt noch fehlt, ist:
o Umwandlung von PNG in OS/2-Icon (nicht mit dem Windows-ICO-Format kampatibel)
o Anwendung der .ico-Dateien als EAs auf die Filmdateien.
Das könnte man theoretisch mit ffmpeg machen (wenn man sich durch die Hölle der Kommandozeilenparameter durchwühlt).
Wenn man also des objektorientierten Programmierens mächtig ist (was ich nicht bin) *und* den Sourcecode der cwmm.dll hat, dann dürfte es nicht schwer sein, aus jedem Video in einem Verzeichnis den ersten Frame herauszuziehen und als JPG (oder PNG) zu speichern.
Ja, wenn ... Fahrradkette ...
Trotzdem, danke für den Tip. Hilft mir schon etwas weiter.
Gruß,
Lutz W.
Das wäre auch meine Idealvorstellung gewesen. Ich finde nur wenig bis gar keine Information dazu. Die einzige *.hlp-Datei, die ich finde, betrifft Abspielen von MP3s und OGGs. Nix zu MPGs oder anderen Video-Formate. INFs zu Multimedia finde ich gar keine.
Problem ist ausserdem: Nachdem ich mich gestern hier so begeistert über die Leuchttisch-Klasse geäußert habe, ist da jetzt Ernüchterung eingekehrt: Der Versuch, ein JPG-Image per Doppeklick anzuzeigen, führt zur Anlistung des Binärcodes der JPG-Datei.
Dann per Kontext-Menü -> "View as JPEG file interchange" endet in einem System-Freeze. Manchmal ging danach nicht einmal mehr <ctrl>alt><del>.
Dann die dritte Methode: Umständlich, aber funzt: Einmal Klick: Ein Image selektieren, dann aus dem Menü: "Selected" -> "Open As" -> "Picture Editor". Wenig benutzerfreundlch, zumal jedesmal das große Zittern, ob nicht wieder beim "falschen" Befehl das System abstürzt.
Zum anderen (was auch schon P.R angesprochen hatte): Man muß jede Bilddatei einzeln per Drag-n-Drop in den Leuchttisch hineinziehen. Gibt's denn dafür kein Rexx-Interface, keinen Kommandozeilen-Befehl? Oder eine eingebaute Funktion wie: Ein ganzes Dir dem Leuchttisch zuordnen. Und alle Multimedia-Dateien bekommen da einen Eintrag (Icon oder Thumbnail bzw. Preview-Video, 3 Sekunden). Das wäre ideal! Kann doch nicht so schwer sein... denke ich, als Cobol-Programmierer
![Lachend :lol:](./images/smilies/icon_lol.gif)
Tut sie das? Ich wüßte nicht wie.erdmann hat geschrieben:Die MMPM API erlaubt es, ein Video in einem Anwenderfenster in einem dort noch weiter eingegrenzten viereckigen Ausschnitt wiederzugeben.
Im Ordner "Computer" -> "Programs" -> "Multimedia" gibt es zwei Objekte: "Digital Video" und "Software Motion Video". Beide scheinen in ihrem Verhalten identisch zu sein: Bei Doppelklick öffnet sich ein "Select file"-Dialog. Voreingestellt ist *.AVI. Gut, ich habe noch ein paar alte AVI-Dateien. Er kann's aber nicht: "Unable to open ....". Nix geht. Bei *.MP4 liest er die Binärdaten der Datei und will den Hexadezimalen Salat anzeigen.
Das einzige Licht im Tunnel findet sich im "Multimedia"-Subfolder "Movies". Es stellt sich heraus, dass "Movies" kein "normales" Verzeichnis im Dateisystem ist, sondern wieder ein abstraktes Objekt. Es verhält sich ähnlich wie die "Light Table"-Klasse. Man kann Videodateien dort hineinziehen und dann per Doppelklick zum Abspielen bringen. Immerhin! Das könnte es sein. Nur leider: Er kann nur MPGs abspielen. Keine MP4, keine MOV. Nicht einmal das Format AVI, das im "Software Motion Video"-Objekt als Default voreingestellt ist.
Sehr schade. Man kann sich natürlich mit ffmpeg alle *.MP4s etc. zu MPG konvertieren lassen. Aber soll das die Lösung sein?
Das wäre super! Aber warum ist es wichtig, wie häufig man dieses Video-Schnipsel abspielen würde? Es wäre jedenfalls genau die Lösung, die ich suche: Mit wenigen Klicks einen Überblick über die Videos in einem Verzeichnis erhalten. Es müßten aber natürlich gängige Video-Formate, zumindest aber MP4 unterstützt werden.erdmann hat geschrieben:Dann könnte man als "Icon" z.B. die ersten drei Sekunden des Videos zeigen. Die Frage wäre natürlich, wie häufig man diese ersten 3 Sekunden abspielen würde.
Hintergrund in meinem Fall ist auch die Tatsache, dass ich Megatonnen an Videos auf einem per Samba angeschlossenen NAS verwalte. Die Videos sind teilweise viele hundert MB groß und jedesmal eine solche Datei über die Leitung zu ziehen, nur um zu sehen, ob es sich um ein Familenfoto oder die Party beim Nachbarn oder, oder, oder ... handelt, ist ein sehr zähes Unterfangen. Hinzu kommt, dass das Arca-Samba äußerst instabil ist und bei größeren Dateien gern mal die Verbindung ganz verliert (aber das ist ein anderes Thema). Jedenfalls mit 3-Sek.Video-Schnipseln kann man diese Probleme umgehen.
Fazit: So wie sich die Multimedia-Klassen derzeit präsentieren, sind sie (für mich) nicht anwendbar. Bleiben nur zwei Hoffnungen: (1) Ich habe etwas übersehen (2) Da macht sich jemand dran, die Klassen zu erweitern.
Gruß,
Lutz W.
zu 1) mciSendCommand mit MCI_WINDOW mit MCI_DGV_WINDOW_HWND zum Setzen des Abspielfensters sowie MCI_PUT mit MCI_GDV_PUT_RECT | MCI_DGV_PUT_DESTINATION zum Setzen des Rects im Fenster in das gezeichnet werden soll.DonLucio hat geschrieben: ↑Di 14. Sep 2021, 13:44
Tut sie das? Ich wüßte nicht wie.erdmann hat geschrieben:Die MMPM API erlaubt es, ein Video in einem Anwenderfenster in einem dort noch weiter eingegrenzten viereckigen Ausschnitt wiederzugeben.Das wäre super! Aber warum ist es wichtig, wie häufig man dieses Video-Schnipsel abspielen würde? Es wäre jedenfalls genau die Lösung, die ich suche: Mit wenigen Klicks einen Überblick über die Videos in einem Verzeichnis erhalten. Es müßten aber natürlich gängige Video-Formate, zumindest aber MP4 unterstützt werden.erdmann hat geschrieben:Dann könnte man als "Icon" z.B. die ersten drei Sekunden des Videos zeigen. Die Frage wäre natürlich, wie häufig man diese ersten 3 Sekunden abspielen würde.
Dann (und so macht es die MMFolder Klasse), Überschreiben der Attribute des Verzeichnis Containerwindows mit CA_OWNERDRAW Attribut, das erlaubt es, ein Item (also Icon) im Container nach Belieben zu zeichnen (ergibt natürlich nur in Iconview und Treeview einen Sinn)
Dann bekommt man eine WM_DRAWITEM Nachricht für jedes Item, die unter anderem das Rect enthält, in das man zeichnen kann/soll sowie das Handle des Containerfensters. Mit dieser Info kann mciSendCommand wie oben dann ausgeführt werden. Wenn das alles erledigt ist kann man mit MCI_PLAY dann das Video abspielen. Keine Ahnung, was das für eine Auswirkung auf die Performance hat ...
Der generelle Vorteil einer MMPM Lösung ist, das MMPM alles abspielt was man ihm per IOProcs zugänglich macht. Wenn also das MMPM Subsystem MP4 Unterstützung hat, dann wird es auch möglich sein, das abzuspielen. Ich befürchte nur, dass so ein MP4 IOProc noch nicht existiert. Aber vielleicht existiert das irgendwo.
2) Die Frage ist eben wann man das Video abspielt, da ich nicht weiß ob der letzte Frame der Videosequenz nach Abspielen sichtbar bleibt oder nicht. Wenn nicht, müßte man das Video ja immer wieder und wieder abspielen. Das aber stelle ich mir problematisch vor, wenn da 100 Videos in dem einen Verzeichnis sind.
Danke für deine ausführliche Erläuterung. Ist ja fast schon eine Programmvorgabe
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Nur - leider - es handelt sich wohl um Commands, die man nur per C-Programm und Toolkit ausführen kann und nicht via Rexx-Multimedia-Interface, oder irre ich mich da?
Ich habe mal ein bißchen mit mciRxSendString() herumgespielt - leider ohne Ergebnis.
Bin leider nur ein auf Rexx umgeschulter Cobol-Programmierer
![Traurig :(](./images/smilies/icon_e_sad.gif)
Deine Befürchtung triff wohl zu. Sonst wäre ja das "Motion Video Software"-Objekt im Multimedia-Folder in der Lage, mp4 abzuspielen.erdmann hat geschrieben:Der generelle Vorteil einer MMPM Lösung ist, das MMPM alles abspielt was man ihm per IOProcs zugänglich macht. Wenn also das MMPM Subsystem MP4 Unterstützung hat, dann wird es auch möglich sein, das abzuspielen. Ich befürchte nur, dass so ein MP4 IOProc noch nicht existiert.
Es scheint also an der IOProcs zu liegen. Was eigentlich ist das?
Übrigens, das mit den Videoformaten ist - keine ganz neue Erkenntnis - die reinste Hölle. Eine Standardisierung, die es bei Bildformaten gibt (jpg, tga, bmp etc.), existiert nicht. In MOV kann sich alles mögliche drin verstecken ("Container format") und selbst MP4 macht Probleme. Ich dachte, Windows ist da souveränder Beherrscher dieser Verhältnisse, aber selbst im Win10 Prof kriege ich bei einigen MP4-Dateien eine sofortige Abspielung, bei anderen soll ich einen HEC.254-Codec installiern (kostet 0.99€). Bei MPG ist es ähnlich. Mal spielt's, mal nicht. Und ich kann nicht sagen, worin die Unterschiede liegen. Nur die Herkunft ist immer dieselbe: Handy-Camera (verschiedene Handies), mal editiert, selten original.
Auffällig ist, dass dagegen ffmpeg alles abspielen kann. Und ich rede von der OS/2-Version.
Und das macht Hoffnung! Zwar gibt's da auch kein Rexx-Interface, nur eine Kommandozeile mit einem (fast) undurchdringlichen Parameter-Dschungel, aber ich denke, es lohnt sich, da mal Zeit reinzustecken.
Oder es findet sich eine leistungsfähige IOProcs
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Danke einstweilen,
Lutz W.
1) REXX support für MMPM: du solltest dir mal \MMOS2\PLAY.CMD anschauen, das wurde mit OS/2 mitgeliefert. Das ist ein Abspielprogramm für beliebigen Media content, sei es nun eine WAV Datei (Audio) oder eine MPG Datei (Video)
2) mein Vorschlag geht in Richtung einer Integration in die WPS. REXX geht, siehe 1), auch, aber da gibt es natürlich Einschränkungen. z.B. spielt REXX ein Video im "Default Window" ab, welches angelegt wird, wenn es keine abweichende Vorgabe (mittels MCI_WINDOW) gibt. Aber natürlich eröffnet einem eine Programmiersprache den kompletten Zugang zu allen Features von MMPM und damit wäre es dann eben möglich in einen bestimmten Bereich eines beliebigen Fensters zu zeichnen (beim Abspielen von Videos)
3) Ein "IOProc" ist ein Stück SW (eine DLL) die zum einen standardisierte Befehle unterstützt und zum anderen ein gegebenes Eingangsformat (z.B. mp3) ein ein standardisiertes Zielformat transformiert (bei AUDIO ist das wav), so dass das MMPM System dieses standardisierte Format abspielen kann (und eben nicht alle Eingangsformate nativ unterstützen muss).
Die Befehle, die unterstützt werden sind unter anderem Öffnen einer Mediendatei, Lesen des Dateiheaders, Vorspulen im Datenteil der Datei, Lesen des Datenteils der Datei oder Schreiben des Datenteils in eine Datei, etc., grob gesagt muss ein IOProc die MMIOM_ Befehle umsetzen (allerdings nicht unbedingt alle).
Blöderweise sind IOProcs für Video (also nicht für Audio) eher schlecht dokumentiert und sicherlich schwerer zu implementieren (und zu testen) als IOProcs für Audio.
Ein IOProc registiert sich (mittels eines statischen Registrierungsmechanismus) für ein oder mehrere Eingangsformate/Dateiendungen. Mit Hilfe der Registratur kann dann MMPM herausfinden, WELCHE IOProc es aufrufen muss, um das Audio/das Video abzuspielen.
4) apropos FFMPEG: ich sehe gerade, dass FFMPEG mit einem Satz von Libraries (DLLs: das Paket ffmpeg-libs) kommt, die nicht nur das FFMPEG Executable benutzt, sondern die man natürlich auch in eigenem Code nutzen kann. Man könnte also ein IOProc schreiben, was auf diese Libraries aufbaut. Leider kann man die wahrscheinlich nur gescheit mit dem gcc Compiler nutzen und mit dem habe ich so meine liebe Mühe. Ich bin in Bezug auf Unix leider völlig unbedarft.
2) mein Vorschlag geht in Richtung einer Integration in die WPS. REXX geht, siehe 1), auch, aber da gibt es natürlich Einschränkungen. z.B. spielt REXX ein Video im "Default Window" ab, welches angelegt wird, wenn es keine abweichende Vorgabe (mittels MCI_WINDOW) gibt. Aber natürlich eröffnet einem eine Programmiersprache den kompletten Zugang zu allen Features von MMPM und damit wäre es dann eben möglich in einen bestimmten Bereich eines beliebigen Fensters zu zeichnen (beim Abspielen von Videos)
3) Ein "IOProc" ist ein Stück SW (eine DLL) die zum einen standardisierte Befehle unterstützt und zum anderen ein gegebenes Eingangsformat (z.B. mp3) ein ein standardisiertes Zielformat transformiert (bei AUDIO ist das wav), so dass das MMPM System dieses standardisierte Format abspielen kann (und eben nicht alle Eingangsformate nativ unterstützen muss).
Die Befehle, die unterstützt werden sind unter anderem Öffnen einer Mediendatei, Lesen des Dateiheaders, Vorspulen im Datenteil der Datei, Lesen des Datenteils der Datei oder Schreiben des Datenteils in eine Datei, etc., grob gesagt muss ein IOProc die MMIOM_ Befehle umsetzen (allerdings nicht unbedingt alle).
Blöderweise sind IOProcs für Video (also nicht für Audio) eher schlecht dokumentiert und sicherlich schwerer zu implementieren (und zu testen) als IOProcs für Audio.
Ein IOProc registiert sich (mittels eines statischen Registrierungsmechanismus) für ein oder mehrere Eingangsformate/Dateiendungen. Mit Hilfe der Registratur kann dann MMPM herausfinden, WELCHE IOProc es aufrufen muss, um das Audio/das Video abzuspielen.
4) apropos FFMPEG: ich sehe gerade, dass FFMPEG mit einem Satz von Libraries (DLLs: das Paket ffmpeg-libs) kommt, die nicht nur das FFMPEG Executable benutzt, sondern die man natürlich auch in eigenem Code nutzen kann. Man könnte also ein IOProc schreiben, was auf diese Libraries aufbaut. Leider kann man die wahrscheinlich nur gescheit mit dem gcc Compiler nutzen und mit dem habe ich so meine liebe Mühe. Ich bin in Bezug auf Unix leider völlig unbedarft.
Kenn ich. Hab bisher nur nicht geschafft, etwas anderes als WAV damit abzuspielen.
Da geht's dir genau wie mir
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Nochmal: Danke für deine Ausführung zum Thema MMPM und IOProcs. Ich werde mich erstmal auf die Möglichkeiten stürzen, die in Rexx (VXRexx) und ffmpeg liegen.
Gruß,
Lutz W.
Ich benutze eCS, bei ArcaOS sollte sich hoffentlich etwas Äquivalentes finden lassen. Und was hier ohne Probleme funktioniert ist:
1) Wechsel in das Verzeichnis \MMOS2\MOVIES in dem sich eine Datei "ecs.mpg" befindet
2) von einer Komandozeile: play.cmd FILE="ecs.mpg"
Es öffnet sich ein Fenster (das schon erwähnte "Default Window") und der Film wird abgespielt.
Die IOProc für "mpg" Dateien befindet sich in "mpgio.dll" (die DLL ist übrigens von IBM) und im \MMOS2\DLL Verzeichnis zu finden. Wenn das bei dir nicht funktioniert, dann hast du ein Problem mit MMPM.
Analog funktioniert das für mich auch mit AVI Dateien. Aber bei "AVI" ist Vorsicht geboten: "AVI" ist lediglich ein Containerformat, welches unterschiedlichste Datenformate enthalten kann. Unter OS/2 wird nur das Datenformat "IBM Ultimotion" unterstützt. IBM liefert ich glaube mit dem Toolkit einige Beispieldateien im AVI Format, die man abspielen kann.
Windows AVIs scheinen ein anderes Datenformat zu enthalten.
1) Wechsel in das Verzeichnis \MMOS2\MOVIES in dem sich eine Datei "ecs.mpg" befindet
2) von einer Komandozeile: play.cmd FILE="ecs.mpg"
Es öffnet sich ein Fenster (das schon erwähnte "Default Window") und der Film wird abgespielt.
Die IOProc für "mpg" Dateien befindet sich in "mpgio.dll" (die DLL ist übrigens von IBM) und im \MMOS2\DLL Verzeichnis zu finden. Wenn das bei dir nicht funktioniert, dann hast du ein Problem mit MMPM.
Analog funktioniert das für mich auch mit AVI Dateien. Aber bei "AVI" ist Vorsicht geboten: "AVI" ist lediglich ein Containerformat, welches unterschiedlichste Datenformate enthalten kann. Unter OS/2 wird nur das Datenformat "IBM Ultimotion" unterstützt. IBM liefert ich glaube mit dem Toolkit einige Beispieldateien im AVI Format, die man abspielen kann.
Windows AVIs scheinen ein anderes Datenformat zu enthalten.
Tut es leider nicht. In meinem Fall (ArcaOS 5.0.6) gibt es keine Datei ecs.mpg, stattdessen orion_1.mpg. OK, kein Problem.erdmann hat geschrieben: ↑Fr 17. Sep 2021, 09:14 Ich benutze eCS, bei ArcaOS sollte sich hoffentlich etwas Äquivalentes finden lassen. Und was hier ohne Probleme funktioniert ist:
1) Wechsel in das Verzeichnis \MMOS2\MOVIES in dem sich eine Datei "ecs.mpg" befindet
2) von einer Komandozeile: play.cmd FILE="ecs.mpg"
Es öffnet sich ein Fenster (das schon erwähnte "Default Window") und der Film wird abgespielt.
Der Befehl "play.cmd FILE="orion_1.mpg" führt zu dem kuriosen Ergebnis: Die Kommandozeile verschwindet spurlos, es gibt kein Movie-Window, gar nix. In der Taskleiste ist nix zu sehen und TOP kennt auch keinen Prozess. Immerhin stürzt das System nicht ab (so wie bei Light Table).
A propos Light Table. Ich hatte da ja den System-Freeze bei Draufklicken auf ein JPG. Nun wird es noch kurioser: Im Systemordner "Programs -> Multimedia" gibt es ein Objekt "Movies", das sich als Instanz der Light Table-Klasse herausstellt. Und dort finde ich auch die Datei "orion_1.mpg". Und die läßt sich - mit einem einfachen Doppelklick - abspielen. Was bei meiner selbst geschaffenen Instanz von Light Table mit JPGs zu einem Freeze führt, klappt hier mit MPGs tadellos. Ich konnte sogar eigene MPGs in das "Movies"-Objekt hineinziehen und abspielen. Leider keine MP4, ich mußte sie zuvor mit ffmpeg transkodieren.
Was diese "Movies"-Klasse leider auch nicht kann, ist ein Vorschaubild anzeigen. Und das ist - man erinnere sich an den Ursprung meines Threads - mein eigentliches Ziel: Eine schnelle Übersicht über die Videos in einem Verzeichnis, deren einzelne Videodateien zumeist nur nichtssagende Namen wie Datum und Uhrzeit tragen.
Die Datei ist bei mir vorhanden, und mit MPGs gibt es ja anscheinend auch keine Probleme (jedenfalls wenn man es nicht per Rexx auf der Kommandozeile abspielen will).
Jetzt suche ich (vergeblich) nach einer DLL "mp4io.dll"
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
So, wie du mir das mit den IOProcs erklärt hast, denke ich: Solange es keine mp4io.dll gibt, wird es auch nicht klappen mit Abspielen von Videos dieses (heute weitverbreiteten) Formats. Dass ffmpeg es kann, liegt eben daran, dass es nicht aus der IBM-OS/2-Multimedia-Architektur heraus geboren ist.
Ich denke, ich werde das Nötige mit VXRexx und ffmpeg zusammenbasteln können, aber schade ist es: Diese Lighttable-Klasse, total harmonisch eingebettet ins PM-System, hat schon ihren Charme. Müßte eben nur überarbeitet und (auf heutige Formate) erweitert werden.
Aber wer hat da schon Lust + Zeit zu .... Und das nötige Knowhow.
Gruß,
Lutz W.
Wenn das mit dem Abspielen von MPG via REXX nicht klappt, ist dein MMPM Subsystem vergeigt.
Und vielleicht ist das auch der Grund für den Freeze.
Ich kann mich noch dumpf erinnern, dass ich Teile von CWMM (Chris Wohlgemuth Multimedia Classes) deinstallieren musste, um das eine oder andere Problem mit MMPM zu beheben.Aber das ist schon so lange her. Ich hab das Audio CD Gedöns deinstalliert. Aber die Ersatzmultimediaklassen (unter anderem MMFolder) sind noch installiert und aktiv.
Und vielleicht ist das auch der Grund für den Freeze.
Ich kann mich noch dumpf erinnern, dass ich Teile von CWMM (Chris Wohlgemuth Multimedia Classes) deinstallieren musste, um das eine oder andere Problem mit MMPM zu beheben.Aber das ist schon so lange her. Ich hab das Audio CD Gedöns deinstalliert. Aber die Ersatzmultimediaklassen (unter anderem MMFolder) sind noch installiert und aktiv.