【问题标题】:FFmpeg First 2 Seconds of Video Not ShowingFFmpeg 前 2 秒视频不显示
【发布时间】:2016-04-23 07:00:43
【问题描述】:

This code 适用于某些音频文件(制作带有 PNG 水印和 MP3 音频的 JPG 图片幻灯片,同时保持纵横比)但对于 this audio file,图片在前两秒左右不显示视频:

ffmpeg -y -framerate 1/12 -i "media/%03d.jpg" -i "media/audio.mp3" -loop 1 -i "media/watermark.png" -filter_complex "[0:v]scale=iw*min(3840/iw\,2160/ih):ih*min(3840/iw\,2160/ih), pad=3840:2160:(3840-iw)/2:(2160-ih)/2[ss]; [ss][2:v] overlay=main_w-overlay_w-10:main_h-overlay_h-10:shortest=1[out]" -map "[out]" -map 1:a -c:v libx264 -r 24 -preset veryfast -tune stillimage -pix_fmt yuv420p -c:a copy -map_metadata -1 "media/video.mkv" -report

我尝试将音频转换为不同格式的 MP3,尝试更改比特率,将音频更改为立体声,甚至尝试将其转换为 WAV。这些都不起作用。

这里是the report results,当我运行这个命令时。

如果有什么不同,我使用的是 Ubuntu 14.04 和 FFmpeg 版本 N-77455-g4707497(最新版本)。

【问题讨论】:

  • 尝试使用-fflags +genpts 作为输出选项。
  • 把音频排除在外。删除-i "media/audio.mp3"-map 1:a-c:a copy
  • 对不起。现在音频出来了,覆盖输入是[ss][1:v]
  • 运行 ffprobe media/video.mkv -reportffprobe -show_packets media/video.mkv > frames.txt 并粘贴这些文件。
  • 好的,重新添加音频,在第一个[ss]之前添加fps=24

标签: image audio video ffmpeg mp4


【解决方案1】:

这个命令应该可以工作,但我认为这种奇怪的行为,因为 FFmpeg 应该根据输出规范自动填充帧

ffmpeg -y -framerate 1/12 -i "media/%03d.jpg" -i "media/audio.mp3" -loop 1 -i "media/watermark.png" -filter_complex "[0:v]scale=iw*min(3840/iw\,2160/ih):ih*min(3840/iw\,2160/ih), pad=3840:2160:(3840-iw)/2:(2160-ih)/2,fps=24[ss]; [ss][2:v] overlay=main_w-overlay_w-10:main_h-overlay_h-10:shortest=1[out]" -map "[out]" -map 1:a -c:v libx264 -r 24 -preset veryfast -tune stillimage -pix_fmt yuv420p -c:a copy -map_metadata -1 "media/video.mkv"

【讨论】:

  • 谢谢。这行得通。我的是一个更简单的用例。我只是想用几张图片创建一个 mp4。 ffmpeg -r 1/10 -y -framerate 1/12 -i file_%d.png -c:v libx264 -r 24 -preset veryfast -tune stillimage -pix_fmt yuv420p -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" video.mp4 为我工作。 pad 用于错误 width not divisible by 2 (2481x3508)
猜你喜欢
  • 2017-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-05
  • 2018-04-12
  • 2018-01-30
  • 2013-07-10
  • 2022-11-14
相关资源
最近更新 更多