video - FFmpeg 创建 mp4 变成异步的

标签 video ffmpeg

我有一个将 .mpg 文件转换为 .mp4 文件的命令。
但不知何故,mp4 文件变得异步音频有 0.5 秒的延迟。

由于 mpg 文件是同步的,因此有关如何解决此问题的任何想法。

ffmpeg -i test.mpg -deinterlace -r 25 -s 1024x576 -pix_fmt yuv420p -vcodec libx264 -preset slow -vprofile high -b:v 1350k -minrate 1400k -maxrate 1400k -bufsize 1400k -trellis 2 -x264opts nal-hrd=cbr -acodec mp3 -ab 192k -async 1 test.mp4

更新

我的错误是上面的命令正常工作,我有以下命令从给定的时间戳创建一个 m2v 和 mp2 文件,然后我将这两个文件合并到一个异步的 mp4 文件。
ffmpeg -v quiet -y -i fulltest.m2v -c:v copy -ss 00:00:00 -to 00:00:30 -sn test.m2v
ffmpeg -v quiet -y -i fulltest.mp2 -c:v copy -ss 00:00:00 -to 00:00:30 -sn test.mp2

ffmpeg -i test.m2v -i test.mp2 -target pal-dvd -vcodec copy -acodec copy fulltest.mpg

ffmpeg -i fulltest.mpg -deinterlace -r 25 -s 1024x576 -pix_fmt yuv420p -vcodec libx264 -preset slow -vprofile high -b:v 1350k -minrate 1400k -maxrate 1400k -bufsize 1400k -trellis 2 -x264opts nal-hrd=cbr -acodec mp3 -ab 192k fulltest.mp4

最佳答案

利用

ffmpeg -ss 0 -t 30 -i fulltest.m2v -ss 0 -t 30 -i fulltest.mp2
       -vf yadif,scale=1024:576,format=yuv420p -r 25
       -vcodec libx264 -preset slow -vprofile high -b:v 1350k -minrate 1400k -maxrate 1400k -bufsize 1400k
       -trellis 2 -x264opts nal-hrd=cbr
       -acodec mp3 -ab 192k   fulltest.mp4

您可以跳过临时文件。 -t选项是持续时间,而不是 -to端点。因此,计算持续时间,例如从 10s 到 17s 是 7 秒。

要保留临时文件,
ffmpeg -v quiet -y -i fulltest.m2v -ss 00:00:00 -to 00:00:30 -vf yadif,scale=1024:576,format=yuv420p -r 25
       -vcodec libx264 -preset slow -vprofile high -b:v 1350k -minrate 1400k -maxrate 1400k -bufsize 1400k
       -trellis 2 -x264opts nal-hrd=cbr
       -an -sn tempvideo.mp4

ffmpeg -v quiet -y -i fulltest.mp2 -c:a copy -ss 00:00:00 -to 00:00:30 -sn tempaudio.mp2

ffmpeg -i tempvideo.mp4 -i tempaudio.mp2 -c:v copy -c:a mp3 -b:a 192k fulltest.mp4

关于video - FFmpeg 创建 mp4 变成异步的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47352605/

相关文章:

javascript - 无法更改 WebRTC 调用的摄像头/流

video - 使用 ffmpeg 的 Debayer 视频

opencv - opencv中的H264解码器用于实时视频传输

video - 将许多 mp4 文件标准化为相同的分辨率

FFMPEG:将 YUV 数据转储到 AVFrame 结构中

jquery - 在用户点击时通过 jQuery 加载 YouTube 视频的最有效方法是什么?

css - 点击<li>项以播放youtube视频

ios - iOS:AVCaptureSession录制的音频不会超过11秒

batch-file - 如何使用 FFMPEG+Imagemagick 从图像/视频中提取有组织的调色板?

video - 将 H264 视频转换为原始 YUV 格式