Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#15297 closed bug (fixed)

video/mp4 sniffer rule

Reported by: nephele Owned by: nobody
Priority: normal Milestone: R1/beta2
Component: Audio & Video Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

I have a mp4 file that does not seam to be catched by the sniffer for filetypes, as a consequence it does not get metadata assigned if i play the file, unless i add a .mp4 extension in which case it does get video/mp4 attached for BEOS:type.

This seams to be a problem with mp4 version 2.

Attachments (2)

mp4-file (302.7 KB ) - added by NullAndVoid 5 years ago.
0001-fix-detection-of-video-mp4-files-via-sniffer-rule.patch (882 bytes ) - added by nephele 5 years ago.
Patch

Download all attachments as: .zip

Change History (6)

by NullAndVoid, 5 years ago

Attachment: mp4-file added

comment:1 by NullAndVoid, 5 years ago

I can reproduce the problem with the attached mp4-file.

The file signature is 66 74 79 70 6D 6D 70 34 (ascii ftypmmp4) with an offset of 4.

comment:2 by nephele, 5 years ago

Upon further investigation it seams that this are the tasks:

  • fix current sniffer rules to ignore offset
  • fix current sniffer rules to be case-insensitive
  • add ftypmp41 ftypmmp4 ftypisom (not-spec conform) ftypiso2 (not spec-conform)

reference: https://ftyps.com Aswell as just sniffing stuff on my computer, ftypisom for instance isn't allowed according to the iso spec apparently, but ffmpeg produces those files, for example. (http://www.ffmpeg-archive.org/ISO-mp4-Major-Brand-field-non-compliant-td4677987.html)

That should be the rules, the ftyps website also lists ones for nero, but i am not sure how relevant those are.

I am not quite sure how to go about making the sniffer rules case-insensitive or how to make them ignore a specific offset though.

Last edited 5 years ago by nephele (previous) (diff)

comment:3 by pulkomandy, 5 years ago

Resolution: fixed
Status: newclosed

Applied in hrev53541.

comment:4 by nielx, 5 years ago

Milestone: UnscheduledR1/beta2

Assign tickets with status=closed and resolution=fixed within the R1/beta2 development window to the R1/beta2 Milestone

Note: See TracTickets for help on using tickets.