我使用命令从名为 ca0.mp4...ca9.mp4 的分辨率为 1920x816 的视频文件中提取了一些剪辑
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
现在我想将剪辑与它们之间的黑色视频集中在一起。因此我创建了一个文件 list.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
它也将加快进程
关于ffmpeg for windows : error when concatenating videos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57562927/