【发布时间】:2019-09-06 04:46:00
【问题描述】:
我正在尝试将一个视频文件 (flv) 和一个图像文件 (jpg) 转换为一个 mp4 视频,视频的音频采样率增加,图像覆盖在音频之上。
现在我正在使用这个命令:
ffmpeg -i video.flv -loop 1 -i photo.jpg -y -filter:a "asetrate=55786.5" -vcodec png -filter:v "pad=ceil(iw/2)*2:ceil(ih/2)*2" -map 1:0 -map 0:1 -y -tune stillimage finalvideo.mp4
它生成的 mp4 在 VLC 中可以正常播放,但不会上传到 YouTube,这是我最终想要做的。我可以使用两个单独的 ffmpeg 命令将 flv 转换为 mp3,然后再转换为 mp4,但是我在时间和资源有限的环境中运行它,所以我想尽可能避免这种情况。
【问题讨论】:
-
YT 可能不接受 PNG 视频流。试试
-c:v libx264 -pix_fmt yuv420p。非常规的采样率也可能是一个问题。您如何限制输出持续时间? -
这就是我的想法,所以我尝试了 libx264 而不是 PNG,但这不使用图像并保持原始视频完好无损。不幸的是,对于我的项目,我必须使用那个奇怪的采样率。我现在实际上并没有限制输出持续时间,我必须这样做吗?
-
编码器的选择与使用哪个输入流无关。后者由
-map决定,或者如果没有设置地图,则自动stream selection。 -
出于某种原因,每当我使用
-c:v libx264时,即使我正确映射它,它也会保持原始视频完好无损。我可以让它使用图像而不是视频的唯一方法是使用-c:v png。 -
分享这样一个命令的日志。通过添加 -report 生成日志。
标签: ffmpeg