视频和音频不同步的原因

视频和音频不同步的原因

如何同步 lib​​fdk_aac 和 libx264 流?

ffmpeg -i pipe_libfdk_aac.fifo -i pipe_libx264.fifo -c copy -f flv flv_stream_pipe_or_rtmp.output

在所有情况下,我总是收到相同的异步:在文件系统上保存文件、使用 rtmp 或原始管道输出。是否可以同步它们?

 ffmpeg version N-66924-gaba61b2 Copyright (c) 2000-2014 the FFmpeg developers
built on Jan 15 2015 12:50:29 with gcc 4.6 (GCC) 20120106 (prerelease)
configuration: --arch=arm --cpu=cortex-a8 --target-os=linux --enable-runtime-cpudetect --prefix=/data/data/info.guardianproject.ffmpeg/app_opt --enable-pic --disable-shared --enable-static --cross-prefix=/home/qwerty/work/android-ndk-r10b86/android-ndk-r10b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi- --sysroot=/home/qwerty/work/android-ndk-r10b86/android-ndk-r10b/platforms/android-3/arch-arm --extra-cflags='-I/home/qwerty/x264 -I/home/qwerty/ffmpeg_build/mp3/build/include -I/home/qwerty/faac/output/include -I/home/qwerty/ffmpeg_sources/fdk-aac/build/include -I/usr/local/include/ -mfloat-abi=softfp -mfpu=neon' --extra-ldflags='-L/home/qwerty/x264 -L/home/qwerty/ffmpeg_build/mp3/build/lib -L/home/qwerty/ffmpeg_sources/fdk-aac/build/lib -L/home/qwerty/faac/output/lib -L/usr/local/lib/ -lrtmp -lpolarssl' --enable-version3 --enable-gpl --enable-nonfree --disable-doc --enable-yasm --enable-decoders --enable-encoders --enable-muxers --enable-demuxers --enable-parsers --enable-protocols --enable-filters --enable-avresample --enable-librtmp --enable-libfaac --enable-libfdk_aac --enable-libmp3lame --disable-indevs --enable-indev=lavfi --disable-outdevs --enable-hwaccels --enable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-network --enable-libx264 --enable-zlib --enable-muxer=md5
libavutil      54. 10.100 / 54. 10.100
libavcodec     56.  8.100 / 56.  8.100
libavformat    56.  9.100 / 56.  9.100
libavdevice    56.  1.100 / 56.  1.100
libavfilter     5.  1.106 /  5.  1.106
libavresample   2.  1.  0 /  2.  1.  0
libswscale      3.  1.101 /  3.  1.101
libswresample   1.  1.100 /  1.  1.100
libpostproc    53.  3.100 / 53.  3.100

答案1

视频和音频不同步的原因

1. 视频的帧率

音频/视频不同步的原因始终是帧速率。没有其他原因。解决方案是选择不同的帧速率并重试。以下是使用 执行此操作的方法ffmpeg

ffmpeg -i input.mp4 -r 60 output.mp4

为了使您的视频与不知名的播放器(比如 TikTok)最大限度地兼容,最好明确指定视频编解码器、帧速率、音频编解码器甚至像素格式(使用 YUV420p):

ffmpeg -i input.mp4 -c:v libx265 -c:a aac -filter:v format=yuv420p -r 60 output.mp4

我是通过艰苦的努力才发现这一切的,所以相信我,这是一种经过实践检验的、可以对可在任何地方播放的视频进行编码的方法。

相关内容