[FFmpeg-user] moov atom way too big + udta added
Mayescid Ocomance
MayescidOcomance at gmail.com
Mon Jun 17 12:09:02 EEST 2019
Hi Carl, hi erveryone,
>> The file is fine, however, when I compare its structure using
AtomicParsley
>> to a file with the same specifics but created by another programm, I'm
>> getting way too big moov atoms, which seems to be caused by way too big
>> stscm, stszm, stco, (and ctts for audio) atoms in both streams.
>How do you define "too big"?
The files themselves are fine and work well. However, the basically same
files are created by another programm with up to 5 times smaller moov atoms.
The bigger moov atoms don't seem to add any advantage so their size seems
to be redundantly big.
Either I need help spotting the advantages or I'd like some help reducing
the moov atom size in order to save data space.
My best guess so far is that it's a matter of sample sizes.
This is the ffprobe output of both files, first ffmpeg encoded and second
by a different programm:
C:\FFMPEG\bin\ffprobe.exe : ffprobe version N-90399-ged0e0fe102 Copyright
(c) 2007-2018 the FFmpeg developers
In C:\Users\zraab01\Power Shell Easy
Scripts\FFprobe_FFEnc_frames_select.ps1:28 Zeichen:9
+ C:\FFMPEG\bin\ffprobe.exe -i $_.FullName 2>&1 | Out-File \ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (ffprobe version...mpeg
developers:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
built with gcc 7.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv
--enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame
--enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus
--enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora
--enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp
--enable-libx264 --enable-libx265
--enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
--enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc
--enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx
--enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2
--enable-avisynth
libavutil 56. 11.100 / 56. 11.100
libavcodec 58. 15.100 / 58. 15.100
libavformat 58. 10.100 / 58. 10.100
libavdevice 58. 2.100 / 58. 2.100
libavfilter 7. 13.100 / 7. 13.100
libswscale 5. 0.102 / 5. 0.102
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'INPUTFILE:
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.23.100
Duration: 00:02:14.36, start: 0.000000, bitrate: 2051 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p,
1280x720 [SAR 1:1 DAR 16:9], 1915 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc
(default)
Metadata:
handler_name : Video Media Handler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
stereo, fltp, 130 kb/s (default)
Metadata:
handler_name : Sound Media Handler
C:\FFMPEG\bin\ffprobe.exe : ffprobe version N-90399-ged0e0fe102 Copyright
(c) 2007-2018 the FFmpeg developers
In C:\Users\zraab01\Power Shell Easy
Scripts\FFprobe_FFEnc_frames_select.ps1:28 Zeichen:9
+ C:\FFMPEG\bin\ffprobe.exe -i $_.FullName 2>&1 | Out-File \ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (ffprobe version...mpeg
developers:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
built with gcc 7.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv
--enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame
--enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus
--enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora
--enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp
--enable-libx264 --enable-libx265
--enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
--enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc
--enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx
--enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2
--enable-avisynth
libavutil 56. 11.100 / 56. 11.100
libavcodec 58. 15.100 / 58. 15.100
libavformat 58. 10.100 / 58. 10.100
libavdevice 58. 2.100 / 58. 2.100
libavfilter 7. 13.100 / 7. 13.100
libswscale 5. 0.102 / 5. 0.102
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'SAMEbutDifferentINPUTFILE':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2019-06-07T07:24:32.000000Z
Duration: 00:02:14.29, start: 0.000000, bitrate: 2130 kb/s
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2019-06-07T07:24:32.000000Z
handler_name : Mainconcept MP4 Sound Media Handler
Stream #0:1(eng): Video: h264 (Baseline) (avc1 / 0x31637661),
yuv420p(tv), 1280x720 [SAR 1024:1024 DAR 16:9], 2000 kb/s, 24.98 fps, 25
tbr, 25k tbn, 50 tbc (default)
Metadata:
creation_time : 2019-06-07T07:24:33.000000Z
handler_name : Mainconcept MP4 Video Media Handler
encoder : AVC Coding
If you'd like to see the streams or packets info, please let me know.
Thanks!
Mayescid
Am Fr., 7. Juni 2019 um 15:31 Uhr schrieb Carl Eugen Hoyos <
ceffmpeg at gmail.com>:
> Am Fr., 7. Juni 2019 um 11:46 Uhr schrieb Mayescid Ocomance
> <MayescidOcomance at gmail.com>:
>
> > I'm creating serveral mp4 derivatives of other mp4s and m2ts using
> ffmpeg.
> > It's an automated process. So far I have used this command line for one
> of
> > the derivaties:
> >
> > -s 1280x720 -c:v libx264 -profile:v main -crf 10 -maxrate 2M -bufsize 2M
> > -c:a aac -ac 2 -b:a 128k -ar 44100 -f mp4 -movflags +faststart
> >
> >
> > The file is fine, however, when I compare its structure using
> AtomicParsley
> > to a file with the same specifics but created by another programm, I'm
> > getting way too big moov atoms, which seems to be caused by way too big
> > stscm, stszm, stco, (and ctts for audio) atoms in both streams.
>
> How do you define "too big"?
>
> > (Keep in mind this is just a 2-3 minute video. The difference is even
> 4-5x
> > when encoding 1-2h videos).
> >
> > Does anyone have an idea, what I could change to reduce the moov atom
> file ?
> > So far I have tried forcing keyframe intervals, bigger GOPs, disabling
> > metadata, maping chapters differenty, alas without any or only teeny tiny
> > progress in moov reduction.
>
> > (and any idea how to get rid of the udta that is not part of the original
> > input and seemingly is generated by ffmpeg by default ?!)
>
> It is always written.
>
> Carl Eugen
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-user
mailing list