reparieren von scr aufnahme

ZuseZ3

Lt. Commander
Registriert
Jan. 2014
Beiträge
1.659
Ich habe mit dem SimpleScreenRecorder unter Ubuntu etwa 45Minuten aufgenommen.
Als Einstellungen wurde mp4 mit H.264+vorbis genutzt.
Leider hat sich mein pc mal wieder aufgehangen, wobei er im Hintergrund (sound) normal weiterlief, aber kein Bild mehr kam. Ist leider nix neues. Dementsprechend habe ich über den pwr button am Gehäuse den pc neugestartet.

Das aufgenommene, aber nicht beendete .mp4 file bietet keine vorschau an und lässt sich auch in keinem meiner player abspielen.
Gibt es realistische chancen das gratis zu reparieren?
Keiner meiner player konnte es abspielen, umbenennen in av1 mit vlc-fix damaged/incomplete av1 files hat auch nichts geschafft.
Das versuchte umwandeln in eine neue Datei mittels VLC hat ebenfalls nur zu einer leeren output datei geführt.
Ich habe noch ein unverändertes original hier, aber mir gehen die Ideen aus.
Vorschläge?
 
Container sind mir bekannt, dh. ja die angabe von h.264+vorbis.
Leider fehlt halt durchs runterfahren das Ende mit der Info section. Andere vorschläge @wickedgonewild ?

ffmpeg -i foo_23_nov-2020-11-23_18.03.32.mp4 -c copy output-mp4
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x556f7543d240] moov atom not found
foo_23_nov-2020-11-23_18.03.32.mp4: Invalid data found when processing input
 
Zuletzt bearbeitet:
Schade, ich hatte gehofft du würdest dich auskennen, oder jemand mit anderen Vorschlägen kommen.
untrunc hatte ich probiert, das Ergebnis war "avc1: Failed for no particular reason."
Wie mans an nem Montag halt so macht.

sudo docker run -v /home/zuse/Desktop/:/Desktop/ untrunc /Desktop/foo_23_nov.mp4 /Desktop/bar_23_nov-2020-11-23_18.03.32.mp4
Reading: /Desktop/bar_23_nov.mp4
Opening: /Desktop/bar_23_nov.mp4
Found 'Composition Time To Sample' atom (ctts). Out of order samples possible.
Repair: /Desktop/foo_23_nov-2020-11-23_18.03.32.mp4
Track 0 codec: mp4a
Track 1 codec: avc1
Track 0 codec: mp4a
Track 1 codec: avc1
First byte expected 0.
mp4a: Failure because of NULL header.
avc1: Match with 0 header.

Length : 686
Ref idc : 0
Nal type : 6
Partial length : 686

Length : 74213
Ref idc : 3
Nal type : 5
First mb : 0
Slice type : 7
Pic parm set id: 0
Frame number : 0
Field pic flag: 0
Idr pic id : 15
Poc lsb : 0
Partial length : 74899

Length : 28508
Ref idc : 2
Nal type : 1
First mb : 0
Slice type : 5
Pic parm set id: 0
Frame number : 1
Field pic flag: 0
Poc lsb : 9
Different frame number.
mp4a: Failure because of NULL header.
avc1: Match with 0 header.

Length : 28508
Ref idc : 2
Nal type : 1
First mb : 0
Slice type : 5
Pic parm set id: 0
Frame number : 1
Field pic flag: 0
Poc lsb : 9
Partial length : 28508

Track 0 codec: mp4a
Flush mp4a decoder.
Track 1 codec: avc1
Found 2 packets.

Saving to: /Desktop/foo_23_nov-2020-11-23_18.03.32.mp4_fixed.mp4
Track 0 (mp4a): duration: 0 timescale: 48000
Adjusting track duration to movie timescale: New duration: 0 timescale: 1000.
Track 1 (avc1): duration: 1024 timescale: 15360
Adjusting track duration to movie timescale: New duration: 67 timescale: 1000.
Movie duration: 67 timescale: 1000
mp4a: Success because of large s value.
Duration: 0
avc1: Failed for no particular reason.

Das mit dem aufsplitten scheint mir wie ein billiger workaround, ich wechsel einfach komplett das Format auf eines, dass ich jederzeit abwürgen kann. Ich würde aber zumindest die Audiospur von dieser Datei retten wollen. Ein wenig Hoffnung habe ich noch, da die von untrunc erstellte Videodatei zumindest das allererste frame der Aufnahme beinhaltet.
 
Zuletzt bearbeitet:
MP4 ist halt ein kein sonderlich robustes Format, auch das die TOC am Ende der Datei steht ist ziemlich ungünstig. Viel Erfolg.

In themennahen Communities ist du wohl besser mit deinem Anliegen aufgehoben, allerdings scheint mir die Grenze des technisch machbaren bereits erreicht.
 
  • Gefällt mir
Reaktionen: ZuseZ3
Habe gerade noch mal einen deutlich besseren fork von untrunc ausprobiert, aber außer 10,20 frames und einem kurzen Aliensound konnte der aus den 45min auch nichts rausholen.

Welche Kombination empfiehlst du denn? mkv + x?
 
Ich nehme nur dieses Format. Es ist ein offenes und robustes Format, daher ist eine Wiederherstellung einer defekten Datei imho auch einfacher.
 
  • Gefällt mir
Reaktionen: ZuseZ3
Zurück
Oben