#9542(ffprobe:new): FFprobe doesn't get exif metadata
#9542: FFprobe doesn't get exif metadata ------------------------------------+-------------------------------------- Reporter: Aightt | Type: defect Status: new | Priority: normal Component: ffprobe | Version: git-master Keywords: mjpeg exif | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | ------------------------------------+-------------------------------------- Hello, Summary of the bug: Since this commit (https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/e93c9986027d17917c3b4f533b28...), the mpjeg decoder detect the rotation in the exif metadata and automatically rotate the frames. But unfortunately when analyzing the same file with ffprobe, we don't get the rotate information. How to reproduce: {{{ % ffprobe -i input -of json -show_streams -show_format ffprobe / ffmpeg built from master built on debian }}} Result: {{{ { Input #0, jpeg_pipe, from '036538dd-700c-4884-9bf4-da1f4d85baed': Duration: N/A, bitrate: N/A Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1280x960 [SAR 72:72 DAR 4:3], 25 fps, 25 tbr, 25 tbn "streams": [ { "index": 0, "codec_name": "mjpeg", "codec_long_name": "Motion JPEG", "profile": "Baseline", "codec_type": "video", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "width": 1280, "height": 960, "coded_width": 1280, "coded_height": 960, "closed_captions": 0, "film_grain": 0, "has_b_frames": 0, "sample_aspect_ratio": "1:1", "display_aspect_ratio": "4:3", "pix_fmt": "yuvj420p", "level": -99, "color_range": "pc", "color_space": "bt470bg", "chroma_location": "center", "refs": 1, "r_frame_rate": "25/1", "avg_frame_rate": "25/1", "time_base": "1/25", "bits_per_raw_sample": "8", "disposition": { "default": 0, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0, "captions": 0, "descriptions": 0, "metadata": 0, "dependent": 0, "still_image": 0 } } ], "format": { "filename": "036538dd-700c-4884-9bf4-da1f4d85baed", "nb_streams": 1, "nb_programs": 0, "format_name": "jpeg_pipe", "format_long_name": "piped jpeg sequence", "size": "272927", "probe_score": 26 } } }}} We can see there is no informations about the rotate metadata. But when reencoding: {{{ ffmpeg -y -loop 1 -t 5 -f image2 -i input output.mp4 ffprobe -i output.mp4 -of json -show_streams -show_format }}} Result: {{{ { Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf59.9.102 Duration: 00:00:05.00, start: 0.000000, bitrate: 351 kb/s Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 960x1280 [SAR 1:1 DAR 3:4], 347 kb/s, 25 fps, 25 tbr, 12800 tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] "streams": [ { "index": 0, "codec_name": "h264", "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10", "profile": "High", "codec_type": "video", "codec_tag_string": "avc1", "codec_tag": "0x31637661", "width": 960, "height": 1280, "coded_width": 960, "coded_height": 1280, "closed_captions": 0, "film_grain": 0, "has_b_frames": 2, "sample_aspect_ratio": "1:1", "display_aspect_ratio": "3:4", "pix_fmt": "yuvj420p", "level": 32, "color_range": "pc", "color_space": "bt470bg", "chroma_location": "center", "field_order": "progressive", "refs": 1, "is_avc": "true", "nal_length_size": "4", "id": "0x1", "r_frame_rate": "25/1", "avg_frame_rate": "25/1", "time_base": "1/12800", "start_pts": 0, "start_time": "0.000000", "duration_ts": 64000, "duration": "5.000000", "bit_rate": "347878", "bits_per_raw_sample": "8", "nb_frames": "125", "extradata_size": 51, "disposition": { "default": 1, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0, "captions": 0, "descriptions": 0, "metadata": 0, "dependent": 0, "still_image": 0 }, "tags": { "language": "und", "handler_name": "VideoHandler", "vendor_id": "[0][0][0][0]" } } ], "format": { "filename": "output.mp4", "nb_streams": 1, "nb_programs": 0, "format_name": "mov,mp4,m4a,3gp,3g2,mj2", "format_long_name": "QuickTime / MOV", "start_time": "0.000000", "duration": "5.000000", "size": "219803", "bit_rate": "351684", "probe_score": 100, "tags": { "major_brand": "isom", "minor_version": "512", "compatible_brands": "isomiso2avc1mp41", "encoder": "Lavf59.9.102" } } } }}} We can see the resolution is not the same in output because the mjpeg decoder automatically rotate the frame. -- Ticket URL: <https://trac.ffmpeg.org/ticket/9542> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
participants (1)
-
FFmpeg