FFmpeg: 여러 파일의 루프 스트림

FFmpeg: 여러 파일의 루프 스트림

현재 .txt 파일에서 로드된 오디오 파일 스트림을 반복하려고 합니다.

 #! /bin/bash
    
        VBR="1500k"
        FPS="30"
        QUAL="ultrafast"
        YOUTUBE_URL=" rtmp://a.rtmp.youtube.com/live2"
        YOUTUBE_KEY="****"
        VIDEO_SOURCE="video.mp4"
        AUDIO_ENCODER="aac"
        
        ffmpeg \
         -stream_loop -1 \
         -re \
         -i "$VIDEO_SOURCE" \
         -thread_queue_size 512 \
         -stream_loop -1 \
         -re \
         -f concat -i audiofiles.txt \
         -c:v libx264 -preset $QUAL -r $FPS -g $(($FPS *2)) -b:v $VBR -bufsize 3000k -maxrate $VBR \
         -c:a $AUDIO_ENCODER -ar 44100 -b:a 128k -pix_fmt yuv420p \
         -f flv $YOUTUBE_URL/$YOUTUBE_KEY

결과적으로 재생 목록이 한 번 재생된 다음 중지됩니다. 루프를 강제로 실행하려면 어떻게 해야 합니까?

답변1

그만큼연결 demxuer입력 텍스트 파일은 자신을 참조하여 무한 루프를 생성할 수 있습니다.

예시 내용 audio.txt:

ffconcat version 1.0
file 'audio1.mp3'
file 'audio2.mp3'
file 'audio.txt'

ffconcat version 1.0이것이 작동하려면 헤더가 필요합니다.

나열된 2개의 오디오 파일을 연속적으로 반복 audio.txt하고 다음과 같은 기간에 출력 기간을 종료하는 간단한 예제 명령 video.mp4:

ffmpeg -i video.mp4 -f concat -i audio.txt -shortest output.mp4

에서 적응concat을 사용하여 무한 루프를 만들 수 있습니까?

관련 정보