Я хочу транслировать видеофайл (.mp4) с другим временем начала.
ДляпримерЯ хочу транслировать test.mkv
файл из минутного 00:02:30
видео test.mkv
. Поэтому, когда я транслирую его на rtmp-сервер, видео начинается с 00:02:30
фильма, а не с начала.
Примечание: Я не хочу ждать так долго, я хочу начать с того момента, как я нажал Enter по ffmpeg
команде. Поэтому ответы типа using cronjob
бесполезны.
Вот ffmpeg
команда, которую я использую:
ffmpeg -i test.mkv -pix_fmt yuv420p -vsync 1 -threads 0 -vcodec libx264 -r 30 -g 60 -sc_threshold 0 -b:v 512k -bufsize 640k -maxrate 640k -preset veryfast -profile:v baseline -tune film -acodec aac -b:a 128k -ac 2 -ar 48000 -af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" -bsf:v h264_mp4toannexb -f flv rtmp://test.server.com
Примечание:
Если у вас есть какие-либо предложения по улучшению ffmpeg
команды, я также буду признателен.
решение1
Кажется, флаг есть, -ss
но каким-то образом есть небольшая подсказка, чтобы он работал. Его нужно поместить перед любым -i
аргументом, чтобы он работал. Так просто, добавив, например, -ss 150
Он начнется со 150 секунд от начала видео. Так что команда выше будет выглядеть так:
ffmpeg -ss 150 -i test.mkv -pix_fmt yuv420p -vsync 1 -threads 0 -vcodec libx264 -r 30 -g 60 -sc_threshold 0 -b:v 512k -bufsize 640k -maxrate 640k -preset veryfast -profile:v baseline -tune film -acodec aac -b:a 128k -ac 2 -ar 48000 -af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" -bsf:v h264_mp4toannexb -f flv rtmp://test.server.com
Примечание:
Ставьте -ss
перед любым -i
аргументом.