将 2 张图片添加到具有持续时间的视频中? [复制]

Posted

技术标签:

【中文标题】将 2 张图片添加到具有持续时间的视频中? [复制]【英文标题】:Add 2 pictures to video with durations? [duplicate] 【发布时间】:2013-06-20 08:48:16 【问题描述】:

我正在尝试使用 ffmpeg 将 2 个不同的图像添加到视频中。

image1.jpg 应显示电影的前 10 秒,youtubeLOL.png 应显示视频的后 6 分钟。

所以命令应该告诉我们重复图片以获得 6 分 10 秒的长度。我怎样才能做到这一点?我试过这个:

(它甚至不工作)

 passthru("ffmpeg -f image2 -loop 1 -vframes 100 -i /home/psafari/public_html/youtube_images/movie_" . $id . ".jpg -vcodec mpeg4 /home/psafari/public_html/youtube_videos/movie_" . time().".avi");

这是输出:

FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab libavutil 50.15. 1 / 50.15. 1 libavcodec 52.72. 2 / 52.72. 2 libavformat 52.64. 2 / 52.64. 2 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 0.11. 0 / 0.11. 0 libpostproc 51. 2. 0 / 51. 2. 0 

Invalid value '1' for option 'loop'

输出内存代码

 MEncoder SVN-r31628-4.4.6 (C) 2000-2010 MPlayer Team
 get_path("config") problem
 success: format: 0  data: 0x0 - 0x1251b
 libavformat file format detected.
 [lavf] stream 0: video (h264), -vid 0
 VIDEO:  [H264]  540x800  24bpp  25.000 fps  116.3 kbps (14.2 kbyte/s)
 [V] filefmt:44  fourcc:0x34363248  size:540x800  fps:25.000  ftime:=0.0400
 videocodec: framecopy (540x800 24bpp fourcc=34363248)
 Writing header...
 ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
 Writing header...
 ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
 Pos:   0.0s      1f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.1s      2f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.1s      3f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.2s      4f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.2s      5f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.2s      6f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.3s      7f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.3s      8f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.4s      9f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.4s     10f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.4s     11f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.5s     12f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.5s     13f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.6s     14f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.6s     15f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.6s     16f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.7s     17f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.7s     18f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.8s     19f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.8s     20f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.8s     21f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.9s     22f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   0.9s     23f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   1.0s     24f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
      Pos:   1.0s     25f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
 Pos:   1.0s     26f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [538:0]
 Pos:   1.1s     27f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [518:0]
 Pos:   1.1s     28f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [500:0]
 Pos:   1.2s     29f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [483:0]
 Pos:   1.2s     30f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [467:0]
 Pos:   1.2s     31f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [452:0]
 Pos:   1.3s     32f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [438:0]
 Pos:   1.3s     33f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [425:0]
 Pos:   1.4s     34f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [413:0]
 Pos:   1.4s     35f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [401:0]
 Pos:   1.4s     36f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [390:0]
 Pos:   1.5s     37f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [380:0]
 Pos:   1.5s     38f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [370:0]
 Pos:   1.6s     39f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [360:0]
 Pos:   1.6s     40f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [351:0]
 Pos:   1.6s     41f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [343:0]
 Pos:   1.7s     42f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [335:0]
 Pos:   1.7s     43f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [327:0]
 Pos:   1.8s     44f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [320:0]
 Pos:   1.8s     45f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [313:0]
 Pos:   1.8s     46f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [306:0]
 Pos:   1.9s     47f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [300:0]
 Pos:   1.9s     48f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [294:0]
 Pos:   2.0s     49f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [288:0]
 Pos:   2.0s     50f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [282:0]
 Pos:   2.0s     51f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [277:0]
 Pos:   2.1s     52f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [272:0]
 Pos:   2.1s     53f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [266:0]
 Pos:   2.2s     54f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [262:0]
 Pos:   2.2s     55f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [257:0]
 Pos:   2.2s     56f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [252:0]
 Pos:   2.3s     57f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [248:0]
 Pos:   2.3s     58f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [244:0]
 Pos:   2.4s     59f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [240:0]
 Pos:   2.4s     60f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [236:0]
 Pos:   2.4s     61f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [232:0]
 Pos:   2.5s     62f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [229:0]
 Pos:   2.5s     63f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [225:0]
 Pos:   2.6s     64f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [222:0]
 Pos:   2.6s     65f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [218:0]
 Pos:   2.6s     66f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [215:0]
 Pos:   2.7s     67f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [212:0]
 Pos:   2.7s     68f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [209:0]
 Pos:   2.8s     69f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [206:0]
 Pos:   2.8s     70f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [203:0]
 Pos:   2.8s     71f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [200:0]
 Pos:   2.9s     72f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [197:0]
 Pos:   2.9s     73f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [195:0]
 Pos:   3.0s     74f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [192:0]
 Pos:   3.0s     75f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [190:0]
 Pos:   3.0s     76f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [187:0]
 Pos:   3.1s     77f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [185:0]
 Pos:   3.1s     78f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [183:0]
 Pos:   3.2s     79f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [180:0]
 Pos:   3.2s     80f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [178:0]
 Pos:   3.2s     81f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [176:0]
 Pos:   3.3s     82f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [174:0]
 Pos:   3.3s     83f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [172:0]
 Pos:   3.4s     84f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [170:0]
 Pos:   3.4s     85f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [168:0]
 Pos:   3.4s     86f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [166:0]
 Pos:   3.5s     87f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [164:0]
 Pos:   3.5s     88f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [162:0]
 Pos:   3.6s     89f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [161:0]
 Pos:   3.6s     90f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [159:0]
 Pos:   3.6s     91f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [157:0]
 Pos:   3.7s     92f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [156:0]
 Pos:   3.7s     93f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [154:0]
 Pos:   3.8s     94f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [152:0]
 Pos:   3.8s     95f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [151:0]
 Pos:   3.8s     96f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [149:0]
 Pos:   3.9s     97f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [148:0]
 Pos:   3.9s     98f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [146:0]
 Pos:   4.0s     99f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [145:0]
 Pos:   4.0s    100f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [144:0]
 Pos:   4.0s    101f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [142:0]
 Pos:   4.1s    102f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [141:0]
 Pos:   4.1s    103f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [140:0]
 Pos:   4.2s    104f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [138:0]
 Pos:   4.2s    105f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [137:0]
 Pos:   4.2s    106f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [136:0]
 Pos:   4.3s    107f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [135:0]
 Pos:   4.3s    108f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [133:0]
 Pos:   4.4s    109f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [132:0]
 Pos:   4.4s    110f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [131:0]
 Pos:   4.4s    111f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [130:0]
 Pos:   4.5s    112f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [129:0]
 Pos:   4.5s    113f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [128:0]
 Pos:   4.6s    114f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [127:0]
 Pos:   4.6s    115f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [126:0]
 Pos:   4.6s    116f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [124:0]
 Pos:   4.7s    117f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [123:0]
 Pos:   4.7s    118f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [122:0]
 Pos:   4.8s    119f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [121:0]
 Pos:   4.8s    120f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [120:0]
 Pos:   4.8s    121f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [119:0]
 Pos:   4.9s    122f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [119:0]
 Pos:   4.9s    123f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [118:0]
 Pos:   5.0s    124f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [117:0]
 Pos:   5.0s    125f (100%)  0.00fps Trem:   0min   0mb  A-V:0.000 [116:0]
 success: format: 0  data: 0x0 - 0x9daf8
 libavformat file format detected.
 [lavf] stream 0: video (h264), -vid 0
 VIDEO:  [H264]  640x400  24bpp  25.000 fps   21.8 kbps ( 2.7 kbyte/s)
 [V] filefmt:44  fourcc:0x34363248  size:640x400  fps:25.000  ftime:=0.0400
 videocodec: framecopy (540x800 24bpp fourcc=34363248)
 videocodec: framecopy (640x400 24bpp fourcc=34363248)

 All video files must have identical fps, resolution, and codec for -ovc copy.

 Exiting...

【问题讨论】:

【参考方案1】:

假设您有一组名为picture1、picture2 等的图像保存在磁盘的某个位置,您可以使用shell_exec 调用ffmpeg

ffmpeg 可以将您的图像转换为具有类似于此的语法的视频中的图像

ffmpeg -i picture1%d.jpg -vcodec mpeg4 myConvertedMovie.avi

问题是我认为不可能像您要求的那样单独设置每张图片的持续时间

编辑:

您可以使用 -loop 1 -vframes NUMBER_OF_FRAMES 设置持续时间 所以例如一个100帧的视频将是

ffmpeg -f image2 -loop 1 -vframes 100 -i /home/psafari/public_html/common/images/icon3.png -vcodec mpeg4 /home/psafari/public_html/" . time().".avi

对于第二个问题,我认为唯一的方法是将视频中的每张图片都转换成自己的长度,然后再将它们合并在一起。

【讨论】:

嗯.. 抱歉,-f image2 是格式,不是第二张图片 我已经检查了帖子,但我的答案没有改变。您应该为每个图像运行一次上述命令,然后再次运行 ffmpeg 以连接两个视频。我不知道为什么它甚至不适合你。再次,您可以发布错误消息吗? @jesper - 一般来说,如果你说“它不工作”而不提供更多细节,那么你的对话者很难在不询问更多细节的情况下给你建议。最好从这里获取答案作为进一步探索的线索,而不是完善的解决方案——这是你的工作。如果某些事情没有按您的预期工作,请尝试提供一些关于为什么它不起作用的想法,并花一些额外的时间自己解决。 (+1 表示答案,-1 表示问题)。 好的,你试过在真正的shell中运行它吗?这里可能存在任何问题。如果它在 shell 中工作,那么尝试在 php exec 中运行另一个命令,看看是否有效。 你的ffmpeg版本过时了

以上是关于将 2 张图片添加到具有持续时间的视频中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

抖音里的图片怎么下载 怎么一张张保存下来

警惕AI复制,几张图片就能实现视频伪造

图片怎么合并在一起 怎么将两张图片合并在一起

bugku-misc(持续更新直到全部刷完)

如何制作gif动态图片

使用 Microsoft 媒体基础从图像创建视频