[FFmpeg-user] loudnorm and experimental audio codecs
Jonathan Baecker
jonbae77 at gmail.com
Fri Sep 27 10:49:02 EEST 2019
Hello,
I tried to use the loudnorm filter with experimental audio codec - I
need mostly s302m - but I had some issues.
I make a report here to: https://trac.ffmpeg.org/ticket/8131
But because it is an experimental codec, I think the priority is very
low to fix here something.
The problem is, that I get the error:
[s302m @ 00000275a32cba00] number of samples in frame too big
Audio encoding failed
This is happen because s302m needs a max packet size from 16bit.
When I use the filter *asetnsamples=n=1024, *this problem goes away, but
the I get the message:
[out_0_0 @ 000002660d73d200] 100 buffers queued in out_0_0, something may be wrong.
When I use this output file again in ffmpeg, I get:
[s302m @ 000001e5830f9980] frame has invalid header
Error while decoding stream #0:0: Invalid data found when processing input
Complete output from first issue is:
ffmpeg -f lavfi -i testsrc=size=1280x720:rate=25:duration=5 -f lavfi -i sine=frequency=1000:duration=5 -af "loudnorm=I=-23.0:TP=-1.5:LRA=11.0:dual_mono=true" -ac 2 -c:a s302m -strict -2 -f null -
ffmpeg version N-94713-g9c369b3222 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-sdl2 --enable-gmp --enable-libmp3lame --enable-libvpx --enable-libx264 --enable-libx265 --enable-fontconfig --enable-libfreetype --enable-libmysof
a --enable-libopenjpeg --enable-libsoxr --enable-libtwolame --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libzimg --enable-gpl --enable-avisynth --enable-ch
romaprint --enable-libfdk-aac --enable-libfribidi --enable-librubberband --enable-libzmq --enable-opengl --enable-libsrt --enable-libaom --enable-schannel --extra-cflags=-DL
IBTWOLAME_STATIC --extra-cflags=-DCHROMAPRINT_NODLL --extra-libs=-lstdc++ --extra-cflags=-DZMQ_STATIC --extra-cflags=-DLIBXML_STATIC --enable-version3 --enable-nonfree --dis
able-stripping
libavutil 56. 33.100 / 56. 33.100
libavcodec 58. 56.100 / 58. 56.100
libavformat 58. 31.104 / 58. 31.104
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.101 / 7. 58.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, lavfi, from 'testsrc=size=1280x720:rate=25:duration=5':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Input #1, lavfi, from 'sine=frequency=1000:duration=5':
Duration: N/A, start: 0.000000, bitrate: 705 kb/s
Stream #1:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Stream #1:0 -> #0:1 (pcm_s16le (native) -> s302m (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf58.31.104
Stream #0:0: Video: wrapped_avframe, rgb24(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc58.56.100 wrapped_avframe
Stream #0:1: Audio: s302m, 48000 Hz, stereo, s32 (24 bit), 2688 kb/s
Metadata:
encoder : Lavc58.56.100 s302m
[Parsed_sine_0 @ 00000275a32aef00] EOF timestamp not reliable
[s302m @ 00000275a32cba00] number of samples in frame too big
Audio encoding failed
Conversion failed!
On the tracker page I have also an example audio file.
My question is now: is there any way to work around this issues with
other filters or settings, so I can use loudnorm with s302m codec? And
when the filter *asetnsamples *is involved: is there a fixed rule of how
many samples needed to be used?
Jonathan
More information about the ffmpeg-user
mailing list