ffmpeg吧 关注:1,259贴子:4,432
  • 13回复贴,共1

大佬们,请问如何在视频上加一张图片做的片头?

只看楼主收藏回复

ffmpeg -f image2 -i image1.jpg -vcodec libx264 -r 10 tt.mp4
我用这个命令执行,一晃而过。没成,然后我在-r前给加上-t10秒,一样不行。有人说行,网上都是这样的命令,但不管用啊【问题1:哪里错了吗】
ffmpeg -f image2 -loop 1 -i image1.png -s 500x500 -t 00:00:10.67 -pix_fmt yuvj420p -vb 3000k pout.mp4
我用这个命令实现了图片转视频,但如何在他的后面在加视频呢?想在一个命令下实现。【问题2】
ffmpeg -ss 0 -t 3 -f lavfi -i color=c=0x000000:s=544x960:r=30 -i "image1.jpg" -filter_complex "[1:v]scale=960:540[v1];[0:v][v1]overlay=0:0[outv]" -map [outv] "Vgrd.mp4"
用这个命令也实现了。而且这个也好拼视频(说好是因为我会),而且这个命令如果直接拼视频concat的话,分辨率首先得一样。【问题3:有没有解决方法?必须先调分辨率吗】
如果加的视频先overlay到0:v,最前面的-t 3给图片和视频都分配了3秒,而且视频并没有播放【问题4:不知道为什么不能播放,如何解决】。
还有命令实在是挺长的。【问题5:有没有简单的?】
再者就是实在是太慢了,有时候测试命令几分钟都不完(可能是写错了)。【不知道怎的】
frame=XXX, fps=XX q=X……就没完了,有时候还卡机,有时候得好几行。
ffmpeg -f lavfi -i color=c=0x000000:s=544x960:r=30 -ss 0 -t 10 -i "image1.jpg" -ss 0 -t 20 -i 2.mp4 -filter_complex "[1:v]scale=960:540[v1];[0:v][v1]overlay=0:0[outv1];[0:v][v2]overlay=0:0[outv2];[outv1][outv2]concat[outv]" -map [outv] "Vgrd.mp4"
这条命令就卡机了。图片和视频分别overlay之后,在concat。
发现图片转视频比处理视频花的时间长多了,哎,就处理一张图,如果处理多张又该咋整呢?但加image%d,显然差点事【问题6】
请大佬指点


IP属地:天津1楼2019-11-24 20:16回复
    我用你第一段的图片转视频命令生成了3秒mp4,再跟主视频合并,解决了我的问题,谢谢。
    ffmpeg -f image2 -loop 1 -i image1.jpg -s 1280x720 -t 00:00:05 -pix_fmt yuvj420p -vb 3000k 1.mp4
    ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
    ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
    ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
    搞定


    IP属地:澳大利亚2楼2020-06-04 11:00
    收起回复