Skip to content

mp4 file with extra tags results in incorrect output from AtomicParsley #65

@ghjimmy

Description

@ghjimmy

Looks like if a non standard tag is added by, for example, ffmpeg, AtomicParsley reports on all of the tokes, but called them the empty string. If the example below I've removed the extraneous ffprobe output:

$ AtomicParsley file.mp4 -t
Atom "©nam" contains: Title
Atom "©too" contains: Lavf58.20.100
Atom "©cmt" contains: Comment
Atom "©day" contains: 2023
Atom "desc" contains: Description
$ ffprobe -i file.mp4 -print_format json -show_format
 < deleted >
    "format": {
        "filename": "file.mp4",
        "nb_streams": 2,
        "nb_programs": 0,
        "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
        "format_long_name": "QuickTime / MOV",
        "start_time": "0.000000",
        "duration": "2100.235000",
        "size": "362797503",
        "bit_rate": "1381931",
        "probe_score": 100,
        "tags": {
            "major_brand": "isom",
            "minor_version": "512",
            "compatible_brands": "isomiso2avc1mp41",
            "creation_time": "2023-04-03T03:06:47.000000Z",
            "title": "Title",
            "encoder": "Lavf58.20.100",
            "comment": "Comment",
            "date": "2023",
            "description": "Description"
        }
    }

Now add an extra tag to the file and re-run AtomicParsley and ffprobe again

$ ffmpeg -i file.mp4 -movflags use_metadata_tags -metadata newTag="newTag" -c copy file2.mp4 >/dev/null 2>&1
$ AtomicParsley file2.mp4 -t
Atom "" contains: isom
Atom "" contains: 512
Atom "" contains: isomiso2avc1mp41
Atom "" contains: Description
Atom "" contains: Title
Atom "" contains: newTag
Atom "" contains: Comment
Atom "" contains: 2023
Atom "" contains: Lavf59.27.100
$ ffprobe -i file2.mp4 -print_format json -show_format
 < deleted >
    "format": {
        "filename": "file2.mp4",
        "nb_streams": 2,
        "nb_programs": 0,
        "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
        "format_long_name": "QuickTime / MOV",
        "start_time": "0.000000",
        "duration": "2100.199000",
        "size": "362797671",
        "bit_rate": "1381955",
        "probe_score": 100,
        "tags": {
            "minor_version": "512",
            "major_brand": "isom",
            "compatible_brands": "isomiso2avc1mp41",
            "description": "Description",
            "title": "Title",
            "newTag": "newTag",
            "comment": "Comment",
            "date": "2023",
            "encoder": "Lavf59.27.100"
        }
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions