Dateiformate

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Dateiformate

    Da ich festgestellt habe, dass es schierig ist, welche Endungen oder Dateitypen am Ende Bild-, Audio- oder VideoDaten sind, habe ich mich mal hingesetzt und die zusammengefasst, die mir einfallen.

    Dabei konzentriere ich mich auf Dateiendungen, welche man über die Endung der Datei:

    Quellcode

    1. [[directoryElement pathExtension] uppercaseString]
    in Großbuchstaben, oder wenn diese nicht da sind über type von

    Quellcode

    1. [[NSWorkspace sharedWorkspace] getInfoForFile: directoryElement application: &defApp type: &type];
    zu bekommen sind.

    Ich werde diese Liste mit der Zeit erweitern, da ich mir sicher bin, dass man sowas hin und wieder mal braucht. Sollte jemand vorschläge oder Korekturen haben, dann bitte hier.

    Brainfuck-Quellcode

    1. //------- 3 Arrays für die Datentypen -------
    2. NSArray* myPictures;
    3. NSArray* mySounds;
    4. NSArray* myMovies;
    5. myPictures = [NSArray arrayWithObjects:
    6. @"BMP", // BMP Bild – Bit Map Picture (Microsoft)
    7. @"EMF", // EMF Bild – Windows Enhanced Metafile (EMF) (Microsoft)
    8. @"EPS", // EPS Bild – Encapsulated Postscript (EPS) (Adobe)
    9. @"EPSF", // EPS Bild – Encapsulated Postscript Format (EPS) (Adobe)
    10. @"GIF", // GIF Bild – Graphics Interchange Format (GIF) (Compuserve)
    11. @"IFF", // IFF Bild – Interchange File Format (IFF) (Electronic Arts)
    12. @"JFI", // JPG Bild – Joint Photographic Expert Group (JPEG)
    13. @"JFIF", // JPG Bild – Joint Photographic Expert Group (JPEG)
    14. @"JPEG", // JPG Bild – Joint Photographic Expert Group (JPEG)
    15. @"JPG", // JPG Bild – Joint Photographic Expert Group (JPEG)
    16. @"PIC", // PIC Bild – Picture (Bild)
    17. @"PICT", // PICT Bild – Bildformat (Apple)
    18. @"PNG", // PNG Bild – Portable Netzwork Graphic (PNG)
    19. @"PNT", // PNT Bild – MacPaint Bild (Bild)
    20. @"PNTG", // PNT Bild – MacPaint Bild (Bild)
    21. @"PS", // PS Bild – Postscript (Adobe)
    22. @"PSD", // PSD Bild – PhotoShop Document (PSD) (Adobe)
    23. @"QTI", // QTI Bild – QuickTime-Image (Bild) (QTI) (Apple)
    24. @"QTIF", // QTI Bild – QuickTime-ImageFile (BildDatei) (QTI) (Apple)
    25. @"SGI", // SIG Bild – Silicon Graphics-Bild
    26. @"TGA", // TGA BILD – T.a.r.g.a. (Truevision Advanced Raster Graphics Array) Image File (TGA) (Truevision)
    27. @"TIF", // TIFF Bild – Tagged Image File Format (TIF) (Aldus)
    28. @"TIFF", // TIFF Bild – Tagged Image File Format (TIF) (Aldus)
    29. @"WMF", // WMF Bild – Windows Metafile (WMF) (Microsoft)
    30. nil];
    31. mySounds = [NSArray arrayWithObjects:
    32. @"AAC", // AAC Audio – Advanced Audio Coding (AAC) (Moving Picture Experts Group)
    33. @"AIF", // AIFF Audio – Audio Interchange File Format (AIFF) (Apple)
    34. @"AIFC", // AIFF Audio – Audio Interchange File Format (AIFF) (Apple)
    35. @"AIFF", // AIFF Audio – Audio Interchange File Format (AIFF) (Apple)
    36. @"ALAC", // ALAC Audio – Apple Lossless Audio Codec (ALAC) (Apple)
    37. @"AU", // AU Audio – Apple Audio Unit
    38. @"CELP", // CELP Audio – Code-book Excited Linear Predictive Coding (CELP)
    39. @"KAR", // MIDI Audio – musical instrument digital interface (KARAOKE) (MIDI Manufacturous Association)
    40. @"M1A", // MPG1 Audio – MPEG-1
    41. @"M1S", // MPG1 Audio – MPEG-1
    42. @"MID", // MIDI Audio – musical instrument digital interface (MIDI Manufacturous Association)
    43. @"MIDI", // MIDI Audio – musical instrument digital interface (MIDI Manufacturous Association)
    44. @"MP1", // MPG1 Audio – MPEG-1 Audio Layer 1 (MP1) (Moving Picture Experts Group)
    45. @"MP2", // MPG1 Audio – MPEG-1 Audio Layer 2 (MP2) (Musicam) (Moving Picture Experts Group)
    46. @"MP3", // MPG1 Audio – MPEG-1 Audio Layer 3 (MP3) (Moving Picture Experts Group)
    47. @"MPA", // MPG1 Audio – MPEG-1
    48. @"RA", // RA Audio – RealAudio (RealNetworks)
    49. @"SD2", // SD2 Audio – Sound Designer II
    50. @"SMF", // MIDI Audio – musical instrument digital interface (KARAOKE) (MIDI Manufacturous Association)
    51. @"SND", // SND Audio – Dieses Dateiformat ist ein von NeXT und Sun benutztes Audiodateiformat
    52. @"ULAW", // ULAW Audio – Dieses Dateiformat ist ein von NeXT und Sun benutztes Audiodateiformat
    53. @"ULW", // ULAW Audio – Dieses Dateiformat ist ein von NeXT und Sun benutztes Audiodateiformat
    54. @"WAV", // WAV Audio – WAV-Dateiformat, Containerformat.
    55. nil];
    56. myMovies = [NSArray arrayWithObjects:
    57. @"AVI", // AVI Video – Audio Video Interleaved (AVI) (Microsoft)
    58. @"DIF", // DV Video – Digital Video und Audio
    59. @"DV", // DV Video – Digital Video und Audio.
    60. @"M1V", // MPG1 Video – Moving Picture Experts Group (MPEG)
    61. @"M4A", // M4A Video – M4A ist eine Kurzform für den von der MPEG vorgesehenen Container für MPEG-4-Inhalte.
    62. @"M4B", // M4B Video – M4B ist eine Kurzform für den von der MPEG vorgesehenen Container für MPEG-4-Inhalte.
    63. @"M4P", // M4P Video – M4P ist eine Kurzform für den von der MPEG vorgesehenen Container für MPEG-4-Inhalte.
    64. @"M4V", // M4V Video – M4V ist eine Kurzform für den von der MPEG vorgesehenen Container für MPEG-4-Inhalte.
    65. @"MOV", // MOV Video – QuickTime-Film (Apple)
    66. @"MP4", // MP4 Video – MP4 ist eine Kurzform für den von der MPEG vorgesehenen Container für MPEG-4-Inhalte.
    67. @"MPEG", // MPG1 Video – Moving Picture Experts Group (MPEG)
    68. @"MPG", // MPG1 Video – Moving Picture Experts Group (MPEG)
    69. @"MPM", // MPG1 Video – Moving Picture Experts Group (MPEG)
    70. @"MPV", // MPG1 Video – Moving Picture Experts Group (MPEG)
    71. @"QT", // QT Video – QuickTime-Film (Apple)
    72. @"QTL", // QTL Video – QuickTime Player-Film (Apple)
    73. @"RAM", // RAM Video – RealMedia-Container für RealVideo (RAM) (RealMedia)
    74. @"RM", // RM Video – RealMedia-Container für RealVideo (RM) (RealMedia)
    75. @"RMVB", // RMVB Video – RealMedia-Container für RealVideo (RMVB) (RealMedia)
    76. @"RV", // RV Video – RealMedia-Container für RealVideo (RV) (RealMedia)
    77. @"WMV", // WMV Video – Windows Media Video (WMV) (Microsoft)
    78. nil];
    79. //-------------------------------------------------
    Alles anzeigen
    Weiter überlege ich, ob es sinnvol währe noch eine vierte Gruppe zu erstellen mit Dokumenten (DOC, RTF,...)

    Mr Light :)
  • RE: Dateiformate

    Nein, die Frage ist OK. Ich hätt's selber nicht geglaubt, bevor ich es nicht gebraucht hätte. Wenn Du feststellen willst, wie viele Bilder Du auf deiner Platte hast, wonach suchst Du? Welche Dateiendung(en) nimmst Du? Und wenn die Dokumente keine Endung haben? ... um sagen wir mal diese zu konvertieren, kopieren, oder einfach nur zu zählen...

    Mr Light :)
  • ich würd spotlight verwenden ;)

    Audio.mdimporter, Image.mdimporter, QuickTime.mdimporter etc haben interessante plists drin.

    PS: außerdem würd ich da nix an variablen zuweisen sondern einfach ne #Define drausmachen wenn ich die liste wirklich brauchen würde!

    PPS: ich würd an deiner signatur noch ordentlich feilen oder sie ganz rausnehemen denn so ist sie einfach nur plamabel!
  • RE: Dateiformate

    Original von snowman

    Quellcode

    1. mdfind kind:image | wc -l

    ich glaube, man kann aber irgendwo die Typenabfragen, die Quicktime bekannt sind. Vielleicht hat das jmd parat.
    ^^wenn man blamabel falsch schreibt ist das auch irgendwie...


    meinst du jetzt imageFileTypes und movieFileTypes: oder meinst du die schematas der jeweiligen importer? die bekommst mit mdimport -X oder eben durch einfaches reingucken in die plists ;)
  • RE: Dateiformate

    Das mag ja helfen, aber quicktime, zB zeigt bilder und Filme und Songs an. Ich möcht aber genau das trennen... Wenn jemand einen Vorschlag(Hammer) hat...

    Audio.mdimporter, Image.mdimporter

    klingt interessant, müßt ich mir mal ansehn. Kann man damit auch Textdokumente herausfiltern?

    Mr Light :)
    pS Signatur drausssssen ... :,-)
  • RE: Dateiformate

    Ja, das mit den Images ist schon nicht schlecht, Da ist echt einiges dabei. Aber bei <QTKit/QTMovie.h>; NSLog([[QTMovie movieFileTypes:QTIncludeAllTypes] description]); glaube ich nicht, um auf einen anderen Thred zu verweisen, Datenformate wie WMV finden zu können.... Ich weiss nicht. Macht mich noch nicht ganz glücklich.

    Mr Light :)
  • RE: Dateiformate

    Ich hab gedacht, ich währ schlau und hab das mal mit:

    Quellcode

    1. #import <QTKit/QTMovie.h>
    2. NSLog(@"irgendwelche strings: %@",[[QTMovie movieFileTypes:QTIncludeAllTypes] description]);
    Ausprobiert, so wie eben vorgeschlagen mit

    Quellcode

    1. NSLog(@"irgendwelche strings: %@",[NSImage imageFileTypes]);
    , doch das was ich als ausgabe bekomme ist ein wenig enttäuschend:

    Quellcode

    1. 2006-07-24 22:46:58.971 Dateivergleich[1620] irgendwelche strings: (null)
    Ein kleiner Tipp, was mach ich falsch? Ich hab schon gegoogelt und auch in den DEVs gelesen, und sogar Japanische MailingsLists durchforstet...

    Mr Light :)
  • RE: Dateiformate

    Original von snowman
    ...Das, was Du vorhast ist doch eine Sisyphos-Arbeit...
    Aus diesem Grund wollte ich es im Forum machen, ich editier das regelmäsig, und wenn jemand ein neues Format hat, fügt er es unten hinzu und ich ergenz es oben. Am Anfang mag das viel sein, aber mit der Zeit wird sich das lichten. (Hoff ich)

    Mr Light :)
  • RE: Dateiformate

    Um den Inhalt darzustellen, solltest Du nicht das Array direkt ins Log packen, sondern die description. Hier ist etwas Code, der allerhand Extensions, MIMEs usw rauswirft - die Liste ließe sich ewig erweitern (insb. die QuickTime-Komponenten-Suche lässt sich auf andere Bereiche ausweiten):

    Quellcode

    1. #import <QTKit/QTKit.h> //entsprechendes Framework linken
    2. #import <AudioToolbox/AudioToolbox.h> //entsprechendes Framework linken
    3. - (void) logSomeFileTypes {
    4. //Dateitypen, die von QTMovie unterstuetzt werden
    5. NSLog(@"common types:%@",[[QTMovie movieFileTypes:QTIncludeCommonTypes] description]);
    6. NSLog(@"translatable types:%@",[[QTMovie movieFileTypes: QTIncludeTranslatableTypes] description]);
    7. NSLog(@"image (QT) types:%@",[[QTMovie movieFileTypes: QTIncludeStillImageTypes] description]);
    8. //Dateitypen, die von NSImage unterstuetzt werden
    9. NSLog(@"image types:%@",[[NSImage imageFileTypes] description]);
    10. NSLog(@"image unfiltered types:%@",[[NSImage imageUnfilteredFileTypes] description]);
    11. //Dateitypen, die von CoreAudio / AudioFile unterstuetzt werden
    12. UInt32 size;
    13. AudioFileGetGlobalInfoSize(kAudioFileGlobalInfo_ReadableTypes,0,NULL,&size);
    14. OSType* types = malloc(size);
    15. AudioFileGetGlobalInfo(kAudioFileGlobalInfo_ReadableTypes,0,NULL,&size,types);
    16. int count = size/sizeof(OSType);
    17. int i;
    18. for (i=0;i<count;i++) {
    19. NSArray* extensions;
    20. size = sizeof(NSArray*);
    21. AudioFileGetGlobalInfo(kAudioFileGlobalInfo_ExtensionsForType,sizeof(OSType),&(types[i]),&size,&extensions);
    22. NSLog(@"Audio types: %@",[extensions description]);
    23. }
    24. free(types);
    25. //Dateitypen, die von QuickTime / Graphics Importer unterstuetzt werden
    26. Component c = NULL;
    27. ComponentDescription cd = {GraphicsImporterComponentType,0,0,graphicsImporterHasMIMEList,graphicsImporterHasMIMEList};
    28. while (c = FindNextComponent(c,&cd)) {
    29. ComponentInstance ci;
    30. OpenAComponent(c,&ci);
    31. QTAtomContainer mimeContainer = NULL;
    32. GraphicsImportGetMIMETypeList(ci,&mimeContainer);
    33. int mimeCount = QTCountChildrenOfType(mimeContainer,kParentAtomIsContainer,0);
    34. int mimeIdx;
    35. for (mimeIdx=0;mimeIdx<mimeCount;mimeIdx++) {
    36. QTAtom atom;
    37. atom = QTFindChildByIndex(mimeContainer,kParentAtomIsContainer,kMimeInfoMimeTypeTag,mimeIdx,NULL);
    38. char cMIME[300];
    39. long cSize;
    40. QTCopyAtomDataToPtr(mimeContainer,atom,true,299,cMIME,&cSize);
    41. cMIME[cSize]=0;
    42. if (cSize>0) {
    43. NSLog(@"image importer MIME: %s",cMIME);
    44. }
    45. }
    46. QTDisposeAtomContainer(mimeContainer);
    47. CloseComponent(ci);
    48. }
    49. }
    Alles anzeigen


    PS: Ich hätte jetzt übrigens die Signatur drin gelassen - aus Prinzip! Im Forum muss die ja nicht ohne Warnungen kompilieren, wir sind ja vernunftbegabte Wesen ;)
    Multigrad - 360°-Produktfotografie für den Mac
  • RE: Dateiformate

    Original von MrLight
    ... ich editier das regelmäsig, und wenn jemand ein neues Format hat, fügt er es unten hinzu und ich ergenz es oben. Am Anfang mag das viel sein, aber mit der Zeit wird sich das lichten. (Hoff ich)

    Nobles Ziel, aber das kann nicht klappen - sinnvoll ist ja eine Liste der Extensions, die auf einem Rechner auch funktionieren. Mit jeder Systemversion ändert sich die Liste. Nicht alle haben die gleiche Systemversion. Und noch schlimmer: Sie ändert sich abhängig davon, welche Komponenten ein Benutzer installiert hat, sprich: Sie ist von Rechner zu Rechner unterschiedlich.
    Multigrad - 360°-Produktfotografie für den Mac
  • Also, einige haben das ja schon angedeutet: Du kannst zwei Ziele verfolgen:

    - Eine System-unabhängige Liste von Dateitypen anlegen. Aber solche Listen gibt es bestimmt schon im Internet

    - Dynamisch die Liste der lesbaren Dateitypen auf dem System herausbekommen (finde ich sinnvoller). Dazu haben z.B. QuickTime, NSImage, CoreAudio etc Routinen. Und man kann QuickTime auch nach bestimmten Typen fragen:

    is-edu.hcmuns.edu.vn/WebLib/Bo…DataExchange.22.htm#29835

    Alex
    The only thing that really worried me was the ether.