我想快速合并3个.mov文件而不丢失任何分辨率。合并后,我希望能够区分3个视频。
"ffmpeg -f concat" does not lose resolution and quick without crossfade.
但是,我无法区分3个视频。
据我所知,可以使用ffmpeg过滤器添加交叉淡入淡出,但是必须使用视频开始/结束内容进行合并,这可能涉及转码。与不会进行转码,而只是进行复制的'concat'相比,它不会很快。
这是3个视频之一的内容(ffmpeg -i video.mov):
ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
built with Apple LLVM version 10.0.1 (clang-1001.0.46.3)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.3 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-videotoolbox --disable-libjack --disable-indev=jack --enable-libaom --enable-libsoxr
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '..../(edited)/VMEK8375.MOV':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2019-06-30T01:28:04.000000Z
com.apple.quicktime.model: iPhone
com.apple.quicktime.software: ZHIYUN
com.apple.quicktime.creationdate: 2019-06-30T09:28:04Z
Duration: 00:00:07.61, start: 0.000000, bitrate: 4386 kb/s
Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, smpte170m/bt709/bt709), 1280x720, 4329 kb/s, 30.01 fps, 30 tbr, 600 tbn, 600 tbc (default)
Metadata:
creation_time : 2019-06-30T01:28:04.000000Z
handler_name : Core Media Video
encoder : HEVC
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 94 kb/s (default)
Metadata:
creation_time : 2019-06-30T01:28:04.000000Z
handler_name : Core Media Audio
如果我不关心视频内容的淡入淡出,则介于两者之间的一些“漂亮”黑屏(我会在黑屏上添加一些文本,如日期和时间,就很好了)对我来说已经足够了。可以在没有视频“内容”的情况下进行“连拍”和简单的淡入淡出吗?
答案 0 :(得分:0)
过滤需要重新编码,因此不能选择淡入淡出。相反,您可以制作介于主要内容之间的视频。
创建中间视频。确保您与主要视频的属性匹配:
ffmpeg -y -f lavfi -i color=c=black:s=1280x720:r=30 -f lavfi -i anullsrc=channel_layout=mono:sample_rate=44100 -vf "drawtext=text='your text':fontsize=24:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2" -c:v libx265 -profile:v main -c:a aac -tag:v hvc1 -t 5 -video_track_timescale 600 black1.mov
制作input.txt
:
file '1.mov'
file 'black1.mov'
file '2.mov'
file 'black2.mov'
file '3.mov'
然后使用concat多路分配器:
ffmpeg -f concat -i input.txt -c copy output.mov