CroatianMeteorNetwork / RMS

RPi Meteor Station
https://globalmeteornetwork.org/
GNU General Public License v3.0
183 stars 50 forks source link

SkyFit2 does not read mp4 files using the default media_backend #449

Open satmonkey opened 4 weeks ago

satmonkey commented 4 weeks ago

When using SkyFit2 to read the mp4 file using the default media backend, e.g.: python -m Utils.SkyFit2 /opt/RMS/FR/20241024/k/k4_241024.mp4 -c . -t 20241024_192437.0 -f 12 -n, it ends up with the error:

Using video file: /opt/RMS/FR/20241024/k/k4_241024.mp4 Gstreamer video pipeline: filesrc location=/opt/RMS/FR/20241024/k/k4_241024.mp4 ! matroskademux ! h264parse ! avdec_h264 ! videoconvert ! video/x-raw,format=BGR ! queue leaky=downstream max-size-buffers=100 ! appsink emit-signals=True max-buffers=100 drop=False sync=0 name=appsink 0:00:00.418337349 2546706 0x52132a0 WARN basesrc gstbasesrc.c:3600:gst_base_src_start_complete: pad not activated yet 0:00:00.418685662 2546706 0x3ca6d20 ERROR ebmlread ebml-read.c:139:gst_ebml_peek_id_length: Invalid EBML ID size tag (0x0) at position 0 (0x0) 0:00:00.418720199 2546706 0x3ca6d20 WARN matroskademux matroska-demux.c:5034:gst_matroska_demux_check_parse_error: parse error, looking for next cluster 0:00:00.426618392 2546706 0x3ca6d20 WARN matroskademux matroska-demux.c:5745:gst_matroska_demux_loop: error: got eos but no streams (yet)

However, when using media_backend: cv2, it read the mp4 file fine.

satmonkey commented 4 weeks ago

As ffmpeg seems to be more robust when dealing with different codecs, would it be possible to make the opencv:ffmpeg default choice? Even the fallback does not work here.

dvida commented 4 weeks ago

I'd be happy to diagnose this, could you please provide some example data via email?