Заранее подготовить видео, чтобы облегчить жизнь ffmpeg'у и VDS'ке: перекодировать исходное видео в формат, не требующий кодирования. В тот же
h264, если в нём будете стримить видео поток. Надо будет указат доп. параметры для группы кадров:
-c:v libx264 -pix_fmt yuv420p -preset medium -r 25 -g 50 -b:v 2500k
здесь частота кадров 25 и группировка 25 * 2 = 50 Я бы сохранил промежуточный файл в
.ts:
ffmpeg -i input1.mp4 \
-c:v libx264 \
-pix_fmt yuv420p \
-preset medium \
-r 25 -g 50 \
-b:v 2500k \
-bsf:v h264_mp4toannexb -f mpegts \
video.ts
Аудио можно оставить в
mp3, можно всё перевести в
aac заранее, один раз. Опять же для уменьшения нагрузки.
Составить текстовый файл плейлист аудио
playlist.txt в формате типа
# this is a comment
file '/mp3/day1/file1.mp3'
file '/mp3/day1/file2.mp3'
file '/mp3/day1/file3.mp3'
Запускать на вход видео в цикле и плейлист через
concat примерно так:
ffmpeg \
-loop 1 -f mpegts -i video.ts \
-f concat -safe 0 -i playlist.txt \
-c:a aac -b:a 128k \
-c:v copy \
-f flv \
rtmp://a.rtmp.youtube.com/live2/ВАШ_КЛЮЧ
Не проверял, и скорее всего предстоит много работы по проверке и отладке параметров.