![ffmpeg 다른 비디오의 시작과 끝 부분에 비디오 추가](https://linux55.com/image/136442/ffmpeg%20%EB%8B%A4%EB%A5%B8%20%EB%B9%84%EB%94%94%EC%98%A4%EC%9D%98%20%EC%8B%9C%EC%9E%91%EA%B3%BC%20%EB%81%9D%20%EB%B6%80%EB%B6%84%EC%97%90%20%EB%B9%84%EB%94%94%EC%98%A4%20%EC%B6%94%EA%B0%80.png)
그래서 다음 명령어를 사용해서 모든 영상을 /home/vids
mp4로 변환해서 출력했는데, /home/vids2
이제 /home/vids
.
비디오 링크는 /home/intro/play.mp4
에서 모든 비디오 전후에 재생되어야 하는 비디오 입니다 /home/vids
. 10초인지 를 명확히 하기 위해 /home/intro/play.mp4
"/home/vids"에 있는 동영상의 길이가 30초라면 이를 병합한 후 완성된 동영상의 길이는 50초가 되어야 합니다.
find /home/vids -type f -execdir ffmpeg -i '{}' -filter:v drawtext="fontfile=/root/FreeSans.ttf:text='TEXT EXAMPLE':[email protected]:fontsize=24:y=h-line_h-30:x=w/20*mod(t\,60)" -f mp4 -vcodec libx264 -preset fast -profile:v main -acodec aac -movflags +faststart '/home/vids2/{}.mp4' \;
답변1
비디오가 동일한 코덱을 사용하여 인코딩된 경우 이 concat
연산자를 사용할 수 있습니다.
코덱과 코덱 매개변수가 정확히 동일한 미디어 파일이 있는 경우 "동일한 코덱을 사용하는 파일 연결"에 설명된 대로 이를 연결할 수 있습니다. 미디어에 서로 다른 코덱이 있는 경우 아래의 "다른 코덱을 사용하는 파일 연결"에 설명된 대로 이를 연결할 수 있습니다.
$ cat build_ffmpegs.bash
#!/bin/bash
intro=/home/intro/play.mp4
outro=/home/intro/play.mp4
cd /home/vid
for i in vid*; do
ffmpeg -f concat -safe 0 \
-i < <(printf "file '%s'\n" $intro $(readlink -f $i) $outro) \
-c copy /home/vid2/output_${i}
done
ffmpeg
이 명령을 실행하면 다음 명령이 생성됩니다 .
ffmpeg -f concat -safe 0 -i < <(printf "file '%s'\n" /home/intro/play.mp4 /home/vid/vid1.mp4 /home/intro/play.mp4) -c copy /home/vid2/output_vid1.mp4
ffmpeg -f concat -safe 0 -i < <(printf "file '%s'\n" /home/intro/play.mp4 /home/vid/vid2.mp4 /home/intro/play.mp4) -c copy /home/vid2/output_vid2.mp4
ffmpeg -f concat -safe 0 -i < <(printf "file '%s'\n" /home/intro/play.mp4 /home/vid/vid3.mp4 /home/intro/play.mp4) -c copy /home/vid2/output_vid3.mp4
ffmpeg -f concat -safe 0 -i < <(printf "file '%s'\n" /home/intro/play.mp4 /home/vid/vid4.mp4 /home/intro/play.mp4) -c copy /home/vid2/output_vid4.mp4
ffmpeg -f concat -safe 0 -i < <(printf "file '%s'\n" /home/intro/play.mp4 /home/vid/vid5.mp4 /home/intro/play.mp4) -c copy /home/vid2/output_vid5.mp4
ffmpeg
필요한 다른 세부 사항에 맞게 여기에서 명령을 조정할 수 있어야 합니다 .