V <------->
miniclip.mp4 A <=======>
V <-----------> ↓ + ↓ <------->
standard.mp4 A <=============================>
|--|--|--|--|--|--|--|--|--|--|
0 1 2 3 4 5 6 7 8 9 10
standard.mp4 have 10 seconds (aprox) of duration, have audio and video
miniclip.mp4 have 03 seconds (aprox) of duration, have video and audio
ffmpeg -i standard.mp4 |
} have same codes of video and audio?*
ffmpeg -i miniclip.mp4 |
- 如果文件standard.mp4和miniclip.mp4的音频码或视频码不同,如果你想要一个好的作品,你将重新编码继续。
ffmpeg -ss 00:00:00 -i standard.mp4 -t 4 -c copy 01.part_project.mp4
-
和 7 到 10,在 03.part_project.mp4
ffmpeg -ss 00:00:04.000 -i standard.mp4 -t 3.0000 -c copy 03.part_project.mp4
-
更改名称或创建 miniclip.mp4 到 02.part_project.mp4 的副本
cp miniclip.mp4 02.part_project.mp4
(如果您选择选项 2 仅复制音频 santadard_part2_audio.mp4,将使用standard.mp4 的 4 秒到 7 秒部分)
现在选项 N 1:联系(联合)这 3 个视频部分
创建一个文件夹“option1”并复制 01.part_project.mp4 02.part_project.mp4 03.part_project.mp4
mkdir option1 && cp 01.part_project.mp4 02.part_project.mp4 03.part_project.mp4 ./option1 && cd ./option1
现在你将 01.part_project.mp4 + 02.part_project.mp4 + 03.part_project.mp4 合并成一个唯一的文件 fin_option1.mp4
ffmpeg -f concat -safe 0 -i <(for f in ./*.mp4; do echo "file '$PWD/$f'"; done) -c copy fin_option1.mp4
V <------->
miniclip.mp4 A <=======>
V <-----------> ↓ + ↓ <------->
standard.mp4 A <============XXXXXXXXX========>
|--|--|--|--|--|--|--|--|--|--|
0 1 2 3 4 5 6 7 8 9 10
-
第二个选项是联系(联合)这 3 个视频部分,但要混合
带有 santadard_part2_audio.mp4 的 miniclip.mp4 的音频
从 santadard_part2_audio.mp4 获取音频流并获取音频
仅来自 miniclip.mp4 的文件
ffmpeg -i santadard_part2_audio.mp4 -map 0:a -c 复制 -vn -strict -2 mix_audio_santadad.mp4
ffmpeg -i miniclip.mp4 -map 0:a -c copy -vn -strict -2 mix_audio_miniclip.mp4
混合所有音频** 并从 miniclip.mp4 中放入视频
ffmpeg -i mix_audio_miniclip.mp4 -i mix_audio_santadad.mp4 -filter_complex amix=inputs=2:duration=longest -strict -2 audio_mixed_miniclip.mp4
仅从 miniclip.mp4 获取视频
ffmpeg -i miniclip.mp4 -c copy -an miniclip_video.mp4
并获得 miniclip 但混合音频,我认为这是您正在寻找的解决方案
ffmpeg -i miniclip_video.mp4 -i audio_mixed_miniclip.mp4 -c copy -map 0:v -map 1:a:0 -disposition:a:0 default -disposition:a:1 default -strict -2 -sn -dn -map_metadata -1 -map_chapters -1 -movflags faststart 02.part_project_OPTION2.mp4
santadard_part2_audio.mp4
+
audio_miniclip.mp4
V <------->
miniclip.mp4 A <MMMMMMMM> (audio miniclip mixed with standard.mp4)
V <-----------> ↓ + ↓ <------->
standard.mp4 A <============ ========>
|--|--|--|--|--|--|--|--|--|--|
0 1 2 3 4 5 6 7 8 9 10
创建一个文件夹“option2”并复制 01.part_project.mp4 02.part_project_OPTION2.mp4 03.part_project.mp4
mkdir option2 && cp 01.part_project.mp4 02.part_project_OPTION2.mp4 03.part_project.mp4 ./option2 && cd ./option2
ffmpeg -f concat -safe 0 -i
注意事项
** 你可以使用很多音频操作https://trac.ffmpeg.org/wiki/AudioChannelManipulation