icatcherplus / icatcher_plus

iCatcher+: Robust and automated annotation of infant gaze from videos collected in laboratory, field, and online studies
GNU General Public License v3.0
18 stars 19 forks source link

Issue with a particular video from Lookit terminating prematurely without any frame annotations #35

Closed GalRaz closed 1 year ago

GalRaz commented 1 year ago

Video has been shared securely.

Error message was:

ffmpeg b'' b"ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers\n built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0)\n configuration: --prefix=/opt/conda/conda-bld/ffmpeg_1597178665428/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh --cc=/opt/conda/conda-bld/ffmpeg_1597178665428/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-gnutls --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-pic --enable-pthreads --enable-shared --disable-static --enable-version3 --enable-zlib --enable-libmp3lame\n libavutil 56. 51.100 / 56. 51.100\n libavcodec 58. 91.100 / 58. 91.100\n libavformat 58. 45.100 / 58. 45.100\n libavdevice 58. 10.100 / 58. 10.100\n libavfilter 7. 85.100 / 7. 85.100\n libavresample 4. 0. 0 / 4. 0. 0\n libswscale 5. 7.100 / 5. 7.100\n libswresample 3. 7.100 / 3. 7.100\nInput #0, mov,mp4,m4a,3gp,3g2,mj2, from 'DKXJJT.mp4':\n Metadata:\n major_brand : isom\n minor_version : 512\n compatible_brands: isomiso2avc1mp41\n encoder : Lavf58.29.100\n Duration: 00:07:26.86, start: 0.000000, bitrate: 805 kb/s\n Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 726 kb/s, 28.47 fps, 1k tbr, 16k tbn, 2k tbc (default)\n Metadata:\n handler_name : VideoHandler\n Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default)\n Metadata:\n handler_name : SoundHandler\nStream mapping:\n Stream #0:0 -> #0:0 (h264 (native) -> wrapped_avframe (native))\n Stream #0:1 -> #0:1 (aac (native) -> pcm_s16le (native))\nPress [q] to stop, [?] for help\nToo many packets buffered for output stream 0:1.\nConversion failed!\n"

yoterel commented 1 year ago

The problem was with the video file itself, having some structural problem when created. Strictly following the video format, the only real solution is to create a proper video. However ffmpeg can "buffer lookahead" and try to solve the problem by caching frames of the video, which is what "-max_muxing_queue_size" does. I pushed a fix to do this, but this might cause machine to run out of memory in some rare cases (though for the file shared this works).

more info

Fixed (you must install iCatcher from source for this fix, or wait until the next release)