0

I have an AVI video and I want to reduce the file size. When I run the FFmpeg command below, the resulting audio in the video is sped up, and the last bit of the video has no audio. I play all my videos from VLC media player.

The FFmpeg command

ffmpeg -i "in.avi" -vcodec libx264 -acodec copy -crf 26 -vf "scale=-1:'min(720,ih)', yadif=1" out.avi

The output messages

ffmpeg version 2023-06-11-git-09621fd7d9-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, 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-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --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      58. 13.100 / 58. 13.100
  libavcodec     60. 17.100 / 60. 17.100
  libavformat    60.  6.100 / 60.  6.100
  libavdevice    60.  2.100 / 60.  2.100
  libavfilter     9.  8.101 /  9.  8.101
  libswscale      7.  3.100 /  7.  3.100
  libswresample   4. 11.100 /  4. 11.100
  libpostproc    57.  2.100 / 57.  2.100
[avi @ 000002255f70d540] Switching to NI mode, due to poor interleaving
Input #0, avi, from 'in.avi':
  Duration: 00:10:40.64, start: 0.000000, bitrate: 28852 kb/s
  Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 32:27 DAR 16:9], 25000 kb/s, SAR 8:9 DAR 4:3, 60k fps, 29.97 tbr, 60k tbn
  Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
  Stream #0:2: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (dvvideo (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[libx264 @ 000002255fbc4940] using SAR=8/9
[libx264 @ 000002255fbc4940] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002255fbc4940] profile High 4:2:2, level 3.1, 4:2:2, 8-bit
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf60.6.100
  Stream #0:0: Video: h264 (H264 / 0x34363248), yuv422p(tv, progressive), 720x480 [SAR 8:9 DAR 4:3], q=2-31, 59.94 fps, 59.94 tbn
    Metadata:
      encoder         : Lavc60.17.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
  Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
[dvvideo @ 000002255fb36d80] Concealing bitstream errors.33 bitrate=2437.5kbits/s speed=0.902x
    Last message repeated 15 times
[dvvideo @ 000002255fb36d80] Concealing bitstream errors.77 bitrate=2439.5kbits/s speed=0.902x
    Last message repeated 60 times
[dvvideo @ 0000022560071680] Concealing bitstream errors.72 bitrate=2461.8kbits/s speed=0.895x
    Last message repeated 18 times
[dvvideo @ 0000022560071680] Concealing bitstream errors.12 bitrate=2459.9kbits/s speed=0.894x
[out#0/avi @ 000002255f70d8c0] video:110055kB audio:80088kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.724923%
frame=38400 fps= 57 q=-1.0 Lsize=  191521kB time=00:10:40.60 bitrate=2449.2kbits/s speed=0.946x
[libx264 @ 000002255fbc4940] frame I:165   Avg QP:27.36  size: 37180
[libx264 @ 000002255fbc4940] frame P:9710  Avg QP:30.58  size:  7328
[libx264 @ 000002255fbc4940] frame B:28525 Avg QP:35.24  size:  1241
[libx264 @ 000002255fbc4940] consecutive B-frames:  0.8%  0.3%  0.3% 98.6%
[libx264 @ 000002255fbc4940] mb I  I16..4: 10.3% 67.6% 22.1%
[libx264 @ 000002255fbc4940] mb P  I16..4:  1.0%  3.8%  0.8%  P16..4: 40.7% 12.1%  8.6%  0.0%  0.0%    skip:33.0%
[libx264 @ 000002255fbc4940] mb B  I16..4:  0.1%  0.2%  0.0%  B16..8: 36.9%  1.8%  0.4%  direct: 1.4%  skip:59.1%  L0:45.0% L1:51.8% BI: 3.1%
[libx264 @ 000002255fbc4940] 8x8 transform intra:66.5% inter:68.7%
[libx264 @ 000002255fbc4940] coded y,uvDC,uvAC intra: 60.3% 64.7% 10.1% inter: 10.7% 6.9% 0.1%
[libx264 @ 000002255fbc4940] i16 v,h,dc,p: 21% 35% 10% 34%
[libx264 @ 000002255fbc4940] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 23% 19%  6%  8%  7% 12%  6%  9%
[libx264 @ 000002255fbc4940] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 25% 16%  6% 10%  7% 12%  5%  6%
[libx264 @ 000002255fbc4940] i8c dc,h,v,p: 58% 19% 18%  5%
[libx264 @ 000002255fbc4940] Weighted P-Frames: Y:3.0% UV:1.5%
[libx264 @ 000002255fbc4940] ref P L0: 56.9% 16.8% 19.3%  6.7%  0.2%
[libx264 @ 000002255fbc4940] ref B L0: 87.5% 10.4%  2.2%
[libx264 @ 000002255fbc4940] ref B L1: 93.2%  6.8%
[libx264 @ 000002255fbc4940] kb/s:1407.29

Since the audio stream is being copied I don't understand why the resulting audio sounds sped up. The video looks fine, it's just the audio that is the issue.

I've tried other options too, such as converting the audio to aac or mp3 and the resulting audio still sounds sped up and high pitched.

Does anyone know why the audio isn't simply being copied the way it sounds in the original AVI video and do you have any suggestions for how to fix the issue?

EDIT: I've tried lowering the frequency used with this command: ffmpeg -i in.avi -ar 32000 -vcodec libx264 -crf 26 -vf "scale=-1:'min(720,ih)', yadif=1" out.avi

The result is the same. There is this error message:

[pcm_s16le @ 000001a6364d0040] This decoder does not support parameter changes, but PARAM_CHANGE side data was sent to it.
[pcm_s16le @ 000001a6364d0040] Error applying parameter changes.

It seems like the audio can't be edited. Would anyone know why this error is coming up?

8
  • There are 2 audio streams on the input but only 1 on the output and seemingly the second one's frequency (32000 Hz) is being increased to the first one's frequency (48000 Hz)
    – marbens
    Commented Aug 22, 2023 at 23:36
  • Thanks @FFmpegEnthusiast for your response! Where in the output can you tell that the second one's frequency is being increased to the first one's frequency? I can only see that the first input ( Stream #0:1) is being used.
    – Karen S
    Commented Aug 24, 2023 at 20:48
  • The command is not supposed to be ignoring the 2nd one, I think it's merging them because of some sort of bug because this is exactly the effect you would get if you increased the frequency of the audio, Try updating?
    – marbens
    Commented Aug 24, 2023 at 21:22
  • Thanks @FFmpegEnthusiast, I tried updating but still no luck. I tried decreasing the frequency down to 32000 Hz and it still sounds the same, although an error pops up saying the decoder does not support parameter changes (I made an edit to the question). Do you know if there'd be a way for me to bypass that error?
    – Karen S
    Commented Aug 30, 2023 at 17:29
  • Broken file? the decoder says "Concealing bitstream errors" which makes it seem like there are errors in the input file?
    – marbens
    Commented Aug 30, 2023 at 17:43

1 Answer 1

0

Negate the high pitch by pitching it down like this (workaround):

ffmpeg -i in.avi -af "asetrate=32000" -vcodec libx264 -crf 26 -vf "scale=-1:'min(720,ih)', yadif=1" out.avi

Keep in mind this is a workaround and is not guaranteed to work

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .