gpt4 book ai didi

ffmpeg - 将视频的两半与图像连接起来的问题

转载 作者:行者123 更新时间:2023-12-04 23:11:04 29 4
gpt4 key购买 nike

当我尝试运行此代码时出现此错误。我是ffmpeg的新手,所以我不确定如何解决它。
filtergraph 描述中的无效文件索引 4 [0:v][4:a][1:v][1:a][2:v][4:a][3:v][4:a]concat=n =4:v=2:a=1。
此代码的目标是在视频的两半之间插入图像,图像数据完整且能够被拉出。

ffmpeg \
-i original.mp4 -ss 00:00:00 -t 00:00:5.48 -async 1 \
-loop 1 -framerate 24 -i frames1.jpeg \
-f lavfi -t 0.1 -i anullsrc=channel_layout=stereo:sample_rate=44100 \
-i original.mp4 -ss 00:00:5.52 -t 00:00:21.12 -async 1 \
-filter_complex "[0:v][0:a][1:v][2:a][3:v][3:a]concat=n=3:v=1:a=1" out.mp4
libavutil      55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'original.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41isomavc1
creation_time : 2018-09-11T11:07:38.000000Z
Duration: 00:00:21.12, start: 0.000000, bitrate: 21519 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160, 21514 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
Metadata:
creation_time : 2018-09-11T11:07:38.000000Z
handler_name : L-SMASH Video Handler
encoder : AVC Coding
Input #1, image2, from 'frames1.jpeg':
Duration: 00:00:00.04, start: 0.000000, bitrate: 79031 kb/s
Stream #1:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 3840x2160 [SAR 1:1 DAR 16:9], 24 fps, 24 tbr, 24 tbn, 24 tbc
Input #2, lavfi, from 'anullsrc=channel_layout=stereo:sample_rate=44100':
Duration: N/A, start: 0.000000, bitrate: 705 kb/s
Stream #2:0: Audio: pcm_u8, 44100 Hz, stereo, u8, 705 kb/s
Input #3, mov,mp4,m4a,3gp,3g2,mj2, from 'original.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41isomavc1
creation_time : 2018-09-11T11:07:38.000000Z
Duration: 00:00:21.12, start: 0.000000, bitrate: 21519 kb/s
Stream #3:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160, 21514 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
Metadata:
creation_time : 2018-09-11T11:07:38.000000Z
handler_name : L-SMASH Video Handler
encoder : AVC Coding

最佳答案

ffmpeg \
-ss 00:00:00 -t 00:00:5.48 -i original.mp4 \
-loop 1 -framerate 25 -t 5 -i frames1.jpeg \
-ss 00:00:5.52 -t 00:00:21.12 -i original.mp4 \
-filter_complex "[0:v][1:v][2:v]concat=n=3:v=1:a=0" out.mp4
您的输入都没有音频,因此无需使用 anullsrc 添加静音音频。仅当某些部分具有您要保留的音频而其他部分没有音频(例如图像)时才需要这样做。
请注意,我匹配了 -framerate对于 frames1.jpegoriginal.mp4的帧速率并添加了 -t 的持续时间.
在您的原始命令中,您有 4 个输入,但您告诉 concat 过滤器您要使用不存在的第 5 个输入( [4:v] )。 ffmpeg 文件索引星数从 0 开始计数:


指数 #
输入

0 original.mp4 1 frames1.jpeg 2 anullsrc 3 original.mp4

concat filter documentation了解更多信息。

关于ffmpeg - 将视频的两半与图像连接起来的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68564962/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com