FFMpeg를 사용하여 특정 기간 동안만 오디오와 비디오의 볼륨을 제어하는 ​​루프를 사용하여 비디오에 더 짧은 오디오를 추가합니다.

FFMpeg를 사용하여 특정 기간 동안만 오디오와 비디오의 볼륨을 제어하는 ​​루프를 사용하여 비디오에 더 짧은 오디오를 추가합니다.

오디오와 비디오 모두의 볼륨 제어와 특정 기간 동안만 루프를 사용하여 비디오에 더 짧은 오디오를 추가합니다((두 경우 모두 오디오를 추가하고 오디오와 비디오 사운드를 모두 유지하고 싶습니다))

두 부분의 문제가 있습니다

1) 오디오 길이는 27초입니다. 2) 비디오 길이는 2분 24초입니다.

a) 오디오를 반복하고 비디오 내에서 50초에서 1분 30초(전체 비디오는 아니지만 여전히 전체 비디오를 출력으로 가져옴)에서 비디오에 추가하고 싶습니다(오디오만 추가). 오디오

b) 비디오 내에서 반복되는 오디오를 사용하여 50초에서 1분 30초 사이의 비디오 클립(전체 비디오가 출력되지 않음)을 생성합니다.

ffmpeg의 다음 명령을 사용하여 비디오에 오디오를 추가했습니다. 그러면 전체 비디오에 추가됩니다. 어떻게 i) 비디오의 일부만 반복된 오디오로 지정하도록 할 수 있습니까? ii) 반복된 오디오로 선택한 기간 동안 새 클립을 생성할 수 있습니까?

지금까지 오디오와 비디오의 볼륨을 반복하고 변경하고 전체 비디오에 대해 다음 명령을 사용하여 믹싱할 수 있었습니다.

"-y","-i",videofile, "-filter_complex",
                        "amovie=audiofile:loop=1000,asetpts=N/SR/TB,aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=1.5[a1];" +
                        "[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=0.5[a2];" +
                        " [a1][a2]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[out]",
                        "-map","0:v","-map","[out]","-c:v","copy","-c:a","aac","-shortest","-preset", "ultrafast", outputfile

두 경우 모두 시간 관리에 어려움을 겪고 있습니다.

답변1

사용

amovie=audiofile:loop=1000,asetpts=N/SR/TB,atrim=0:40,adelay=50000|50000,apad,aformat=...

트림은 반복되는 오디오의 처음 40초를 유지하고, adelay는 시작 시간을 50000밀리초, 즉 50초로 이동합니다.

답변2

이것은 1) 오디오 루핑 2) 오디오와 비디오의 볼륨 변경 3) 설정된 지속 시간의 새 파일 생성 4) 원본 비디오 지속 시간과 특정 부분의 오디오가 포함된 파일 생성을 사용하여 비디오에 오디오를 추가하는 코드입니다. 동영상

A) 설정된 기간의 새 파일에만 해당

"-y","-i",j,
                        "-filter_complex",
                        "amovie="+audio+":loop=999,asetpts=N/SR/TB," +
                                "atrim=0:40,adelay=50000|50000,aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=1.5[a1];" +
                                "[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=2.0[a2];" +
                                " [a1][a2]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[out]",
                        "-ss","50", "-t","40","-map","0:v","-map","[out]","-c:v","copy","-c:a","aac","-preset", "ultrafast", out

우리가 하는 일은 추가하는 거야"-ss","50", "-t","40"

b) 원본 비디오 길이와 비디오의 특정 부분에 오디오가 포함된 파일의 경우

"-y","-i",j,
                            "-filter_complex",
                            "amovie="+audio+":loop=999,asetpts=N/SR/TB," +
                                    "atrim=0:40,adelay=50000|50000,aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=1.5[a1];" +
                                    "[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=2.0[a2];" +
                                    " [a1][a2]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[out]",
                            "-ss","50", "-map","0:v","-map","[out]","-c:v","copy","-c:a","aac","-preset", "ultrafast", out

우리가 하는 일은 추가하는 거야"-ss","50" 하지만 추가하지 마세요"-t","40"`

관련 정보