Hello,
gstreamer 1.0 fails to detect a klv metadata stream on certain files. For example, see the sample file for ESRI's FMV extension: http://esriurl.com/FMVSampleCheyenne If I run ffprobe on this file, I get: $ ffprobe CheyenneVAhospital.mpeg4 ffprobe version 4.2 Copyright (c) 2007-2019 the FFmpeg developers ... Input #0, mpegts, from 'CheyenneVAhospital.mpeg4': Duration: 00:01:05.15, start: 271.125322, bitrate: 5535 kb/s Program 1 Stream #0:0[0x100]: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 129 kb/s Stream #0:2[0x102]: Data: klv (KLVA / 0x41564C4B) Unsupported codec with id 100356 for input stream 2 However, if I run gst-discoverer-1.0 (built from gst-build github on 6/21) on this file, I get: $ gst-discoverer-1.0 CheyenneVAhospital.mpeg4 Analyzing file:///home/aflores/Desktop/CheyenneVAhospital.mpeg4 Done discovering file:///[snip]/CheyenneVAhospital.mpeg4 Properties: Duration: 0:01:04.533864333 Seekable: yes Live: no container: MPEG-2 Transport Stream audio: MPEG-2 AAC Stream ID: d5dea03afad24b384745b1909a8c321236d8570899490e8018cbbb58bb13eb4e:1/00000101 Language: <unknown> Channels: 2 (front-left, front-right) Sample rate: 48000 Depth: 32 Bitrate: 0 Max bitrate: 0 video: H.264 (Baseline Profile) Stream ID: d5dea03afad24b384745b1909a8c321236d8570899490e8018cbbb58bb13eb4e:1/00000100 Width: 1920 Height: 1080 Depth: 24 Frame rate: 30000/1001 Pixel aspect ratio: 1/1 Interlaced: false Bitrate: 0 Max bitrate: 0 However, I have discovered that if I copy the file using ffmpeg: $ ffmpeg -i CheyenneVAhospital.mpeg4 -map 0:0 -map 0:1 -map 0:2 -c copy copy.ts And then run gst-discoverer on this file, gstreamer can now detect the klv stream: $ gst-discoverer-1.0 copy.ts Analyzing file:///home/aflores/Desktop/copy.ts Done discovering file:///[snip]/copy.ts Missing plugins (gstreamer|1.0|gst-discoverer-1.0|meta/x-klv decoder|decoder-meta/x-klv) Properties: Duration: 0:01:04.714110851 Seekable: yes Live: no container: MPEG-2 Transport Stream unknown: meta/x-klv audio: MPEG-2 AAC Stream ID: b8cc9a4934c090599f66f9cfaafe0f433d249a18204856ece3313273331dc55f:1/00000101 Language: <unknown> Channels: 2 (front-left, front-right) Sample rate: 48000 Depth: 32 Bitrate: 0 Max bitrate: 0 video: H.264 (Baseline Profile) Stream ID: b8cc9a4934c090599f66f9cfaafe0f433d249a18204856ece3313273331dc55f:1/00000100 Width: 1920 Height: 1080 Depth: 24 Frame rate: 30000/1001 Pixel aspect ratio: 1/1 Interlaced: false Bitrate: 0 Max bitrate: 0 Why is gstreamer unable to recognize the klv stream in the original file? How does ffmpeg copy operation change the file such that the klv stream is now detected by gstreamer? Arturo p.s., This is a follow up to this thread: https://lists.freedesktop.org/archives/gstreamer-devel/2018-July/068698.html _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |