适用于 Windows 的 FFMPEG:连接视频时出错



>我从分辨率为 1920x816 的视频文件中提取了一些剪辑,名为 ca0.mp4...ca9.mp4 使用命令

ffmpeg -i ./ca.mkv -ss 00:53:24 -t 00:01:30 ca0.mp4

然后我创建了一个黑色视频

ffmpeg -f lavfi -i color=black:s=1920x816:r=24000/1001 -f lavfi -i anullsrc -ar 48000 -ac 2 -t 00:00:02 empty.mp4

现在我想用它们之间的黑色视频来连接剪辑。因此,我创建了一个文件列表.txt:

file 'ca0.mp4'
file 'empty.mp4'
file 'ca1.mp4'
file 'empty.mp4'
file 'ca2.mp4'
file 'empty.mp4'
file 'ca3.mp4'
file 'empty.mp4'
file 'ca4.mp4'
file 'empty.mp4'
file 'ca5.mp4'
file 'empty.mp4'
file 'ca6.mp4'
file 'empty.mp4'
file 'ca7.mp4'
file 'empty.mp4'
file 'ca8.mp4'
file 'empty.mp4'
file 'ca9.mp4'

并尝试了命令

ffmpeg -f concat -i list.txt -c:v qtrle -c:a copy ca.mp4

但是,我得到以下输出:

ffmpeg version N-89940-gb1af0e23a3 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth
libavutil      56.  7.100 / 56.  7.100
libavcodec     58.  9.100 / 58.  9.100
libavformat    58.  7.100 / 58.  7.100
libavdevice    58.  0.101 / 58.  0.101
libavfilter     7. 11.101 /  7. 11.101
libswscale      5.  0.101 /  5.  0.101
libswresample   3.  0.101 /  3.  0.101
libpostproc    55.  0.100 / 55.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001e2cd155900] Auto-inserting h264_mp4toannexb bitstream filter
Guessed Channel Layout for Input Stream #0.1 : 5.1
Input #0, concat, from 'list.txt':
Duration: N/A, start: -0.021333, bitrate: 1894 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x816 [SAR 1:1 DAR 40:17], 1500 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc
Metadata:
handler_name    : VideoHandler
Stream #0:1(ger): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 394 kb/s
Metadata:
handler_name    : SoundHandler
Stream #0:2(eng): Data: bin_data (text / 0x74786574), 0 kb/s
Metadata:
handler_name    : SubtitleHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> qtrle (native))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mp4 @ 000001e2cd213080] Could not find tag for codec qtrle in stream #0, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 --
Conversion failed!

谁能告诉我,我做错了什么?

因为所有文件都已经从 .mkv 转换为.mp4

您可能只需要复制视频编解码器

ffmpeg -f concat -i list.txt -c:v copy -c:a copy ca.mp4

它还将加快该过程

最新更新