You are not logged in.

#1 2024-07-18 22:41:47

ElMastro
Member
Registered: 2015-12-02
Posts: 64

[Solved]Corrupted MP4 files have become a nightmare

Greetings,
I have a bunch of xxxxxx-something.mp4 files I REALLY would like to see. In the past I remember being able to solve it with

mplayer -vcodec -acoded smtg 

but after an evening I must admit the only thing I arrived at was

ffmpeg/demuxer mov,mp4,m4a,3gp,3g2,mj2: moov atom not found lavf avformat_open_input() failed 

with

mpv -v --demuxer-lavf-probescore=1 xxxxxxxx_something.mp4 

and

 mov,mp4,m4a,3gp,3g2,mj2 @ 0x557d63ada5c0 moov atom not found
in#0 @ 0x557d63ada4c0 Error opening input: Invalid data found when processing input
Error opening input file xxxxxxxx_something.mp4.
Error opening input files: Invalid data found when processing input 

with

 ffmpeg -i xxxxxxxx_something.mp4 video.mpg 

.
After that I googled a bit to understand what this was about, and discovered untrunc.
Unfortunately, giving

untrunc -vv -a xxxxxxxx_something.mp4 

comes out with

 Info: version 'v364-bd783dd' using ffmpeg 'n6.1.1' Lavc60.31.102
Info: reading xxxxxxxx_something.mp4
Info: parsing healthy moov atom ... 
requests: 4 at offset : 0
requests: 4 at offset : 4
start_ = 0
length_ = 268435456
name_ = 

Warning: failed decoding atom: invalid atom name: ''
no 'ftyp' atom found
Error: no 'moov' atom found 

I am lost. Any cue?

P.S. I hope this at least could be useful to someone is experiencing my same problem smile

Last edited by ElMastro (2024-07-21 01:17:21)

Offline

#2 2024-07-19 07:18:26

seth
Member
Registered: 2012-09-03
Posts: 59,737

Re: [Solved]Corrupted MP4 files have become a nightmare

That's probably not an MP4 at all.
https://stackoverflow.com/questions/338 … x-b-or-avc

mkvmerge -o yeahweallknowitsporn.mkv xxxxxxxx_something.mp4
mpv yeahweallknowitsporn.mkv

Offline

#3 2024-07-19 09:34:10

ElMastro
Member
Registered: 2015-12-02
Posts: 64

Re: [Solved]Corrupted MP4 files have become a nightmare

@seth:
First thing first, thank for your help.

seth wrote:

mkvmerge -o yeahweallknowitsporn.mkv xxxxxxxx_something.mp4.

unfortunately only produces

mkvmerge v84.0 ('Sleeper') 64-bit
Error: The type of file 'xxxxxxxx_000000_tp00051.mp4' could not be recognized.

....and btw we don't even know it's porn really xD
I should have been more specific, my bad.
This video comes from an Ipcam that whe something goes wrong renames (it looks like at least) the files from %m%d%Y-000000_tp00051.mp4  to xxxxxx-000000_tp00051.mp4

Just to be more specific and don;t waste anyone time, I got a previous recording from the same camera, mpv says:

 (+) Video --vid=1 (*) (h264 1280x720 14.866fps)
 (+) Audio --aid=1 --alang=eng (*) (aac 1ch 8000Hz)
Using hardware decoding (vaapi).
AO: [pulse] 8000Hz mono 1ch float
VO: [gpu] 1280x720 vaapi[nv12]
Invalid audio PTS: 0.128000 -> 0.010000
Invalid audio PTS: 0.397000 -> 0.517000
AV: 00:00:03 / 00:01:12 (5%) A-V:  0.000

So I believe it to be an H264 720p video in low frames count

Offline

#4 2024-07-19 09:36:03

ElMastro
Member
Registered: 2015-12-02
Posts: 64

Re: [Solved]Corrupted MP4 files have become a nightmare

I post the verbose output of the 'working' video, maybe someone has an idea

[cplayer] Command line options: '-v' '4_6039332593567011050.mp4'
[cplayer] mpv v0.38.0 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
[cplayer]  built on Apr 18 2024 06:31:17
[cplayer] libplacebo version: v6.338.2
[cplayer] FFmpeg version: n6.1.1
[cplayer] FFmpeg library versions:
[cplayer]    libavutil       58.29.100
[cplayer]    libavcodec      60.31.102
[cplayer]    libavformat     60.16.100
[cplayer]    libswscale      7.5.100
[cplayer]    libavfilter     9.12.100
[cplayer]    libswresample   4.12.100
[cplayer] 
[cplayer] Configuration: -Db_pie=true -Dpython.bytecompile=1 -Dlibmpv=true -Dgl-x11=enabled -Dcaca=disabled -Dcdda=enabled -Ddvbin=enabled -Ddvdnav=enabled -Dlibarchive=enabled -Dopenal=enabled -Dprefix=/usr -Dlibexecdir=lib -Dsbindir=bin -Dauto_features=auto -Dbuildtype=plain -Dwrap_mode=nodownload
[cplayer] List of enabled features: alsa av-channel-layout avif-muxer build-date cdda cplugins cuda-hwaccel cuda-interop dmabuf-interop-gl dmabuf-wayland drm dvbin dvdnav egl egl-drm egl-wayland egl-x11 ffmpeg ffnvcodec gbm gl gl-x11 glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg jpegxl lavu-uuid lcms2 libarchive libass libavdevice libbluray libdl libplacebo linux-fstatfs luajit memfd-create openal pipewire posix posix-shm ppoll pthread-condattr-setclock pulse rubberband rubberband-3 sixel uchardet vaapi vaapi-drm vaapi-wayland vaapi-x11 vapoursynth vdpau vdpau-gl-x11 vector vk-khr-display vt.h vulkan vulkan-interop wayland wayland-protocols-1-27 wayland-protocols-1-31 wayland-protocols-1-32 x11 xv zimg zimg-st428 zlib
[cplayer] Reading config file /etc/mpv/encoding-profiles.conf
[ifo_dvdnav] Opening /etc/mpv/encoding-profiles.conf
[bdmv/bluray] Opening /etc/mpv/encoding-profiles.conf
[file] Opening /etc/mpv/encoding-profiles.conf
[cplayer] Applying profile 'default'...
[cplayer] Reading config file /etc/mpv/mpv.conf
[ifo_dvdnav] Opening /etc/mpv/mpv.conf
[bdmv/bluray] Opening /etc/mpv/mpv.conf
[file] Opening /etc/mpv/mpv.conf
[cplayer] Applying profile 'default'...
[cplayer] Setting option 'hwdec' = 'vaapi' (flags = 4)
[cplayer] Setting option 'gpu-context' = 'wayland' (flags = 4)
[cplayer] Setting option 'v' = '' (flags = 8)
[cplayer] Waiting for scripts...
[cplayer] Set property: user-data/osc/visibility="auto" -> 1
[cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"t":0,"r":0} -> 1
[cplayer] Done loading scripts.
[cplayer] Running hook: auto_profiles/on_before_start_file
[cplayer] Running hook: ytdl_hook/on_load
[ytdl_hook] ytdl:// hook
[ytdl_hook] not a ytdl:// url
[cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"t":0,"r":0} -> 1
[cplayer] Running hook: ytdl_hook/on_load
[ytdl_hook] playlist hook
[cplayer] Running hook: auto_profiles/on_load
[ifo_dvdnav] Opening 4_6039332593567011050.mp4
[bdmv/bluray] Opening 4_6039332593567011050.mp4
[file] Opening 4_6039332593567011050.mp4
[demux] Trying demuxers for level=normal.
[cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"t":0,"r":0} -> 1
[osd/libass] libass API version: 0x1701000
[osd/libass] libass source: commit: 0.17.1-0-ge8ad72accd3a84268275a9385beb701c9284e5b3-dirty
[osd/libass] Shaper: FriBidi 1.0.13 (SIMPLE) HarfBuzz-ng 8.4.0 (COMPLEX)
[osd/libass] Setting up fonts...
[lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
[file] stream level seek from 131072 to 6733150
[demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
[cplayer] Opening done: 4_6039332593567011050.mp4
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[find_files] Loading external files in .
[cplayer] Running hook: ytdl_hook/on_preloaded
[cplayer] Running hook: auto_profiles/on_preloaded
[lavf] select track 0
[lavf] select track 1
[cplayer]  (+) Video --vid=1 (*) (h264 1280x720 14.866fps)
[cplayer]  (+) Audio --aid=1 --alang=eng (*) (aac 1ch 8000Hz)
[vo/gpu/opengl] Initializing GPU context 'wayland'
[vo/gpu/wayland] Registered for protocol wl_shm
[vo/gpu/wayland] Registered for protocol zwp_linux_dmabuf_v1
[vo/gpu/wayland] Registered for protocol wl_compositor
[vo/gpu/wayland] Registered for protocol wl_subcompositor
[vo/gpu/wayland] Registered for protocol wl_data_device_manager
[vo/gpu/wayland] Registered for protocol xdg_wm_base
[vo/gpu/wayland] Registered for protocol wl_seat
[vo/gpu/wayland] Registered for protocol zwp_idle_inhibit_manager_v1
[vo/gpu/wayland] Registered for protocol zxdg_decoration_manager_v1
[vo/gpu/wayland] Registered for protocol wp_presentation
[vo/gpu/wayland] Registered for protocol wp_viewporter
[vo/gpu/wayland] Registered for protocol wp_fractional_scale_manager_v1
[vo/gpu/wayland] Registered for protocol wp_single_pixel_buffer_manager_v1
[vo/gpu/wayland] Registered for protocol wl_output
[vo/gpu/wayland] Compositor doesn't support the wp_content_type_manager_v1 protocol!
[vo/gpu/wayland] Registered output AU Optronics 0x22ED (0x29):
[vo/gpu/wayland] 	x: 0px, y: 0px
[vo/gpu/wayland] 	w: 1920px (340mm), h: 1080px (190mm)
[vo/gpu/wayland] 	scale: 1
[vo/gpu/wayland] 	Hz: 60.030000
[vo/gpu/wayland] Enabling server decorations
[vo/gpu/opengl] EGL_VERSION=1.5
[vo/gpu/opengl] EGL_VENDOR=Mesa Project
[vo/gpu/opengl] EGL_CLIENT_APIS=OpenGL OpenGL_ES 
[vo/gpu/opengl] Trying to create Desktop OpenGL context.
[vo/gpu/wayland] GL_VERSION='4.6 (Core Profile) Mesa 24.0.7-arch1.3'
[vo/gpu/wayland] Detected desktop OpenGL 4.6.
[vo/gpu/wayland] GL_VENDOR='AMD'
[vo/gpu/wayland] GL_RENDERER='AMD Radeon Vega 3 / 10 Graphics (radeonsi, raven, LLVM 17.0.6, DRM 3.54, 6.6.7-1-ck)'
[vo/gpu/wayland] GL_SHADING_LANGUAGE_VERSION='4.60'
[vo/gpu/wayland] Loaded extension GL_NV_vdpau_interop.
[vo/gpu/wayland] Loaded extension GL_KHR_debug.
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] Assuming 60.030000 FPS for display sync.
[vd] Container reported FPS: 14.865945
[vd] Codec list:
[vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd]     h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
[vd]     h264_qsv (h264) - H264 video (Intel Quick Sync Video acceleration)
[vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[vd] Opening decoder h264
[vd] Looking at hwdec h264-vaapi...
[vo/gpu] Loading hwdec drivers for format: 'vaapi'
[vo/gpu] Loading hwdec driver 'vaapi'
[vo/gpu/vaapi] Using EGL dmabuf interop via GL_EXT_EGL_image_storage
[vo/gpu/vaapi] Trying to open a x11 VA display...
[vo/gpu/vaapi] Trying to open a wayland VA display...
[vo/gpu/vaapi/vaapi] libva: VA-API version 1.21.0
[vo/gpu/vaapi/vaapi] libva: Trying to open /usr/lib/dri/radeonsi_drv_video.so
[vo/gpu/vaapi/vaapi] libva: Found init function __vaDriverInit_1_21
[vo/gpu/vaapi/vaapi] libva: va_openDriver() returns 0
[vo/gpu/vaapi/vaapi] Initialized VAAPI: version 1.21
[vo/gpu/vaapi] Going to probe surface formats (may log bogus errors)...
[vo/gpu/vaapi] Done probing surface formats.
[vd] Trying hardware decoding via h264-vaapi.
[vd] Selected codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vf] User filter list:
[vf]   (empty)
[ad] Codec list:
[ad]     aac - AAC (Advanced Audio Coding)
[ad]     aac_fixed (aac) - AAC (Advanced Audio Coding)
[ad] Opening decoder aac
[ad] Requesting 1 threads for decoding.
[ad] Selected codec: AAC (Advanced Audio Coding)
[af] User filter list:
[af]   (empty)
[cplayer] Starting playback...
[file] stream level seek from 6756814 to 48
[af] [in] 8000Hz mono 1ch floatp
[af] [userspeed] 8000Hz mono 1ch floatp
[af] [userspeed] (disabled)
[af] [convert] 8000Hz mono 1ch floatp
[vd] Pixel formats supported by decoder: vdpau vulkan cuda vaapi yuv420p
[vd] Codec profile: Main (0x4d)
[vd] Requesting pixfmt 'vaapi' from decoder.
[vd] Using hardware decoding (vaapi).
[vd] Decoder format: 1280x720 [0:1] vaapi[nv12] bt.709/bt.709/bt.1886/limited/auto CL=mpeg2/4/h264 crop=1280x720+0+0
[vf] [in] 1280x720 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
[vf] [userdeint] 1280x720 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
[vf] [userdeint] (disabled)
[vf] [autorotate] 1280x720 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
[vf] [autorotate] (disabled)
[vf] [convert] 1280x720 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
[vo/gpu] Loading hwdec drivers for format: 'vaapi'
[vf] [out] 1280x720 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
[ao] Trying audio driver 'pipewire'
[ao/pipewire] requested format: 8000 Hz, mono channels, floatp
[ao/pipewire] Headers version: 1.0.5
[ao/pipewire] Library version: 1.0.6
[ao/pipewire] Core user: maxtro
[ao/pipewire] Core host: rottame
[ao/pipewire] Core version: 1.0.6
[ao/pipewire] Core name: pipewire-0
[ao/pipewire] PipeWire does not have any audio sinks, skipping
[ao] Trying audio driver 'pulse'
[ao/pulse] requested format: 8000 Hz, mono channels, floatp
[ao/pulse] Library version: 17.0.0
[ao/pulse] Proto: 35
[ao/pulse] Server proto: 4294967295
[ao/pulse] Channel layouts:
[ao/pulse]  - #fl
[ao/pulse]  - #fr
[ao/pulse]  - #fc
[ao/pulse]  - #lfe
[ao/pulse]  - #bl
[ao/pulse]  - #br
[ao/pulse]  - #flc
[ao/pulse]  - #frc
[ao/pulse]  - #bc
[ao/pulse]  - #sl
[ao/pulse]  - #sr
[ao/pulse]  - #tc
[ao/pulse]  - #tfl
[ao/pulse]  - #tfc
[ao/pulse]  - #tfr
[ao/pulse]  - #tbl
[ao/pulse]  - #tbc
[ao/pulse]  - #tbr
[ao/pulse] result: mono
[ao/pulse] device buffer: 800 samples.
[ao/pulse] using soft-buffer of 1600 samples.
[cplayer] AO: [pulse] 8000Hz mono 1ch float
[cplayer] AO: Description: PulseAudio audio output
[autoconvert] inserting resampler
[swresample] format change, reinitializing resampler
[swresample] 8000Hz mono floatp -> 8000Hz mono float
[af] [out] 8000Hz mono 1ch float
[cplayer] VO: [gpu] 1280x720 vaapi[nv12]
[cplayer] VO: Description: Shader-based GPU Renderer
[vo/gpu] reconfig to 1280x720 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1280x720+0+0
[vo/gpu/wayland] Reconfiguring!
[vo/gpu] Resize: 1280x720
[vo/gpu] Window size: 1280x720 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 1280x720 (1:1)
[vo/gpu] Video display: (0, 0) 1280x720 -> (0, 0) 1280x720
[vo/gpu] Video scale: 1.000000/1.000000
[vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[vo/gpu] Video borders: l=0 t=0 r=0 b=0
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu/wayland] Handling resize on the egl side
[vo/gpu] Resize: 1280x720
[vo/gpu] Window size: 1280x720 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 1280x720 (1:1)
[vo/gpu] Video display: (0, 0) 1280x720 -> (0, 0) 1280x720
[vo/gpu] Video scale: 1.000000/1.000000
[vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[vo/gpu] Video borders: l=0 t=0 r=0 b=0
[vo/gpu] Reported display depth: 10
[vo/gpu] Dither to 10.
[vo/gpu/wayland] Surface entered output AU Optronics 0x22ED (0x29), scale = 1.000000, refresh rate = 60.030000 Hz
[vo/gpu/wayland] Surface entered output AU Optronics 0x22ED (0x29), scale = 1.000000, refresh rate = 60.030000 Hz
[vo/gpu/wayland] Given DND offer with mime type text/plain;charset=utf-8
[vo/gpu/wayland] Received a new DND offer. Releasing the previous offer.
[vo/gpu/wayland] Surface entered output AU Optronics 0x22ED (0x29), scale = 1.000000, refresh rate = 60.030000 Hz
[vo/gpu/wayland] Resizing due to xdg from 1280x720 to 1280x720
[cplayer] first video frame after restart shown
[vo/gpu/wayland] Handling resize on the egl side
[vo/gpu] Resize: 1280x720
[vo/gpu] Window size: 1280x720 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 1280x720 (1:1)
[vo/gpu] Video display: (0, 0) 1280x720 -> (0, 0) 1280x720
[vo/gpu] Video scale: 1.000000/1.000000
[vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[vo/gpu] Video borders: l=0 t=0 r=0 b=0
[vo/gpu] Reported display depth: 10
[ad] Invalid audio PTS: 0.128000 -> 0.010000
[osd/libass] libass API version: 0x1701000
[osd/libass] libass source: commit: 0.17.1-0-ge8ad72accd3a84268275a9385beb701c9284e5b3-dirty
[osd/libass] Shaper: FriBidi 1.0.13 (SIMPLE) HarfBuzz-ng 8.4.0 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[cplayer] audio ready
[cplayer] starting audio playback
[cplayer] playback restart complete @ 0.000000, audio=playing, video=playing
[vo/gpu/wayland] Enabling idle inhibitor
[cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"t":0,"r":0} -> 1
[ao/pulse] starting AO
[cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"t":0,"r":0} -> 1
[ad] Invalid audio PTS: 0.397000 -> 0.517000
[vo/gpu/wayland] Surface entered output AU Optronics 0x22ED (0x29), scale = 1.000000, refresh rate = 60.030000 Hz
[cplayer] Set property: user-data/osc/margins={"l":0,"b":0,"t":0,"r":0} -> 1
[osd/libass] fontselect: (sans-serif, 400, 0) -> /usr/share/fonts/TTF/Verdana.TTF, 0, Verdana
[osd/libass] fontselect: (mpv-osd-symbols, 400, 0) -> mpv-osd-symbols-Regular, 0, mpv-osd-symbols-Regular
[vo/gpu] Reallocating OSD texture to 2048x128.
[cplayer] EOF code: 5  
[vo/gpu/wayland] Disabling the idle inhibitor
[statusline] AV: 00:00:02 / 00:01:12 (4%) A-V:  0.000
[cplayer] finished playback, success (reason 3)
[cplayer] Exiting... (Quit)
[vo/gpu/wayland] Deregistering output AU Optronics 0x22ED (0x29)
[vo/gpu/wayland] Deregistering seat 0xf

Offline

#5 2024-07-19 14:26:14

seth
Member
Registered: 2012-09-03
Posts: 59,737

Re: [Solved]Corrupted MP4 files have become a nightmare

Assuming this actually /is/ a h264 stream, see https://superuser.com/questions/1526530 … le-on-a-pc
Can you share such file?

Offline

#6 2024-07-20 22:02:55

ElMastro
Member
Registered: 2015-12-02
Posts: 64

Re: [Solved]Corrupted MP4 files have become a nightmare

@seth, I have already tried something similar to the link you posted

I uploaded it in https://files.fm/u/aehcsqndq6 as a zip.
Please be careful. For some reason this webcam has started to spawn some *.bin files in the MMc card, that in my knowledge are files of firmware. As I am pretty sure that when I installed it it wasn't doing anything like that, I wouldn't really be surprised if this thing got infected from a virus, a malware or something similar. If you're not sure, please don't open it.

Offline

#7 2024-07-20 22:16:21

seth
Member
Registered: 2012-09-03
Posts: 59,737

Re: [Solved]Corrupted MP4 files have become a nightmare

Did you notice how the 256MB "video" compressed to 256kB?
It's all just zeros, there's no data in that at all.
https://archlinux.org/packages/extra/x86_64/hexedit/

tr < xxxxxxxx_000000_tp00051.mp4 -d '\000' > leftover

Offline

#8 2024-07-21 01:16:34

ElMastro
Member
Registered: 2015-12-02
Posts: 64

Re: [Solved]Corrupted MP4 files have become a nightmare

@seth
Yeah, this explains a lot of things. Thank you, at least now I have a way to know if all these files are garbage or not.

Btw I am enquiring the manufacturer asking if they know why their product start behaving this way.

Offline

Board footer

Powered by FluxBB