On Thu, Jul 18, 2024 at 12:26 AM Mark Filipak <markfilipak.i...@gmail.com> wrote:
> Have you tried appealing to the manufacturer for a repair? > Well, the camera is a GoPro Hero8, it's out of warranty and basically outdated so I doubt they do anything except charge me for more than the price of a brand new one. [Off-topic]Action cameras are designed with water and snow in mind, so they are extremely compact and watertight, which makes them prone to overheating (a search for "gopro overheat" returns thousands of results). Now put one of those Hero 8 /Black/ behind a windscreen with some sunlight and it overheats in 5 minutes. Several times instead of shutting down it hung burning CPU cycles and getting hotter and hotter, to the point it swelled several batteries. The only way I found to keep it cool was to use it powered via USB, remove the battery, remove the battery cover, wrap it in white plastic stick a CPU heatsink against the screen and redirect an air vent to the it: https://photos.app.goo.gl/vNinJDpGWX7KAkqQ7 https://photos.app.goo.gl/ifY7oNeFyrSbe4j69 I can't say for sure the corrupted files are due to overheating, but with the above setup it never happened for 2 years. Then it began to occur randomly, rarely at first. But during my last trip around one third of the footage was corrupt :-( So I bought a new action camera now (needless to say it's not a GoPro anymore) but I'd like to recover the corrupt footage... Anyway. [/offtopic] Based on a recent tip, try this command: > ffprobe -flags2 +showall -i ... > > You may find that what you think is the first frame is not always the > first frame. > Thanks. I tried the above command but it reports some compatibility issues: ffprobe -flags2 +showall -i in_bad_frame_order.mp4 ffprobe version 7.0.1-full_build-www.gyan.dev Copyright (c) 2007-2024 the FFmpeg developers built with gcc 13.2.0 (Rev5, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint libavutil 59. 8.100 / 59. 8.100 libavcodec 61. 3.100 / 61. 3.100 libavformat 61. 1.100 / 61. 1.100 libavdevice 61. 1.100 / 61. 1.100 libavfilter 10. 1.100 / 10. 1.100 libswscale 8. 1.100 / 8. 1.100 libswresample 5. 1.100 / 5. 1.100 libpostproc 58. 1.100 / 58. 1.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 00000288169e7940] All samples in data stream index:id [4:5] have zero duration, stream set to be discarded by default. Override using AVStream->discard or -discard for ffmpeg command. Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'in_bad_frame_order.mp4': Metadata: major_brand : mp41 minor_version : 538120216 compatible_brands: mp41 creation_time : 2024-05-11T15:45:07.000000Z firmware : HD8.01.02.51.00 Duration: 00:05:57.72, start: 0.000000, bitrate: 45211 kb/s Stream #0:0[0x1](eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 44952 kb/s, 29.97 fps, 29.97 tbr, 90k tbn (default) Metadata: creation_time : 2024-05-11T15:45:07.000000Z handler_name : GoPro H.265 vendor_id : [0][0][0][0] encoder : GoPro H.265 encoder timecode : 15:55:58:16 Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default) Metadata: creation_time : 2024-05-11T15:45:07.000000Z handler_name : GoPro AAC vendor_id : [0][0][0][0] timecode : 15:55:58:16 Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74) (default) Metadata: creation_time : 2024-05-11T15:45:07.000000Z handler_name : GoPro TCD timecode : 15:55:58:16 Stream #0:3[0x4](eng): Data: bin_data (gpmd / 0x646D7067), 52 kb/s (default) Metadata: creation_time : 2024-05-11T15:45:07.000000Z handler_name : GoPro MET Stream #0:4[0x5](eng): Data: none (fdsc / 0x63736466), 9 kb/s (default) Metadata: creation_time : 2024-05-11T15:45:07.000000Z handler_name : GoPro SOS Unsupported codec with id 0 for input stream 2 Unsupported codec with id 98314 for input stream 3 Unsupported codec with id 0 for input stream 4 Apart from several GoPro streams, I don't see anything pertaining to frame order. Now admittedly I don't really know what I'm looking for ;-) Kind regards, Vincent _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".