![视频和音频不同步的原因](https://linux22.com/image/1437220/%E8%A7%86%E9%A2%91%E5%92%8C%E9%9F%B3%E9%A2%91%E4%B8%8D%E5%90%8C%E6%AD%A5%E7%9A%84%E5%8E%9F%E5%9B%A0.png)
如何同步 libfdk_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
我是通过艰苦的努力才发现这一切的,所以相信我,这是一种经过实践检验的、可以对可在任何地方播放的视频进行编码的方法。