Ticket #224 (closed task: fixed)

Opened 4 years ago

Last modified 3 years ago

[Core] More robuust filehandling and file analyzer

Reported by: Frans Owned by:
Priority: major Milestone: MediaMosa 2.1
Component: Core Version: 2.0. transcoding package
Keywords: Cc:
MoSCoW: Must Have Estimated time after impact analysis:
Related to project: none Tested:
Accepted: no Estimated Hours:

Description

Placeholder issue to start discussion on a more robuust and flexible way to determine the type of mediafile.

More info: Fine Free File Command:
 http://www.darwinsys.com/file/

--8<--

Magic file info in MediaMosa onder beheer van Madcap
 
Oplossingsrichting

Sinds PHP 5.3 is libmagic, de achterliggende logica van het file(1) commando, onderdeel van PHP als de FileInfo extension: 
http://nl2.php.net/manual/en/function.finfo-open.php . Bij het aanroepen van FileInfo is het mogelijk om op te geven welke magic file gebruikt moet worden. Hiermee kan een applicatie dus gebruik maken van een andere magic file definitie dan op het OS staat geinstalleerd. MediaMosa kan dan meegeleverd worden met zijn eigen magic file die van tevoren is gegenereerd bij Madcap en niet meer door ZX aangepast hoeft te worden.
 
Het aanpassen en bijhouden van de magic file is redelijk eenvoudig. 
Nieuwere versies van file(1) maken gebruik van een verzameling "source files" die is opgedeeld in categorieen en een "compiled" magic file, die alle definities bevat in een snel te parsen formaat. Een aangepaste magic file wordt gemaakt door definities toe te voegen of te wijzigen in de source files en daarna een nieuwe compiled file te maken met het commando

file -C -m 'source file directory'
 
Deze aangepaste file zou dan meegenomen kunnen worden bij een nieuwe MediaMosa-release en gebruikt worden door FileInfo om de file-definities die MediaMosa nodig heeft mee te nemen.

Benodigdheden
 
* PHP 5.3.0 op VP-Core servers
* aanpassing aan MediaMosa om niet meer "file" te gebruiken maar "fileinfo()"
* ervaring opbouwen bij Madcap met het aanpassen van magic file definities
* procedure voor het aanvragen/inschieten van nieuwe file types
 
-->8--

Change History

Changed 3 years ago by Frans

  • moscow set to Must Have

Changed 3 years ago by MC-arjen

  • version set to 2.0. transcoding package

see also #122

Changed 3 years ago by Michiel.Schok

Vandaag een vraag binnengekomen over asset 39ns1oqItkW0jZA1AO2ZT2Yh / mediafile FJ9snHvPLH1eT8endNB4mO1L die een foutief mime-type krijgt:

Mediafile id FJ9snHvPLH1eT8endNB4mO1L
Owner id SURFgroepen.avc
Group id SURFmedia
Mime Type application/octet-stream
Container mov;mp4;m4a;3gp;3g2;mj2 @ 604kbps
Width * Height @ fps 480px * 270px @ 25fps
Duration 00:03:15.97
Filesize 14.13 MB
Video information h264 @ kbps (yuv420p)

Overige parameters worden wel correct gedetecteerd.

Changed 3 years ago by MC-arjen

  • status changed from new to closed
  • resolution set to fixed

Ook de laatste versie van libmagic (5.04) herkent dit bestand niet:

madcap@app1:~$ file FJ9snHvPLH1eT8endNB4mO1L
FJ9snHvPLH1eT8endNB4mO1L: ISO Media

ffmpeg geeft:

$ ffmpeg -i FJ9snHvPLH1eT8endNB4mO1L 
FFmpeg version SVN-r22897, Copyright (c) 2000-2010 the FFmpeg developers
  built on May 20 2010 13:58:23 with gcc 4.3.2
  configuration: --enable-nonfree --enable-libx264 --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-libvorbis --enable-libtheora --enable-libgsm --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3
  libavutil     50.14. 0 / 50.14. 0
  libavcodec    52.66. 0 / 52.66. 0
  libavformat   52.61. 0 / 52.61. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0.10. 0 /  0.10. 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x8c8a420]max_analyze_duration reached
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'FJ9snHvPLH1eT8endNB4mO1L':
  Metadata:
    major_brand     : f4v 
    minor_version   : 0
    compatible_brands: isommp42m4v 
  Duration: 00:03:15.97, start: 0.000000, bitrate: 604 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 480x270 [PAR 1:1 DAR 16:9], 500 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 96 kb/s
    Stream #0.2(eng): Data: amf0 / 0x30666D61, 0 kb/s

Op acceptatie hebben we de magic definitie toegevoegd aan de magic definitie.

4       string          ftyp
>8      string          f4v          video/mp4
Note: See TracTickets for help on using tickets.