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?
Stream #0:1
) is being used.