LINUX.ORG.RU

Motion extpipe ffmpeg и mkv-контейнер

 motion ffmpeg


1

2

С некоторых пор motion не умеет в deinterlace, поэтому приходится использовать movie_extpipe со своими опциями.

При использовании встроенных средств motion для записи видео, можно выбрать кодек mkv и открывать полученный файл сразу после его создания, так сказать на ходу, не дожидаясь завершения кодирования, т.к. mkv это умеет.

Но вот с помощью movie_extpipe я этого получить не могу.

movie_extpipe ffmpeg -y -f rawvideo -pix_fmt yuv420p -video_size %wx%h -framerate %fps -i pipe:0 -vcodec libx264 -vf yadif=2 -preset ultrafast -f mp4 %f.mkv
Если кодировщик не отработал полностью - файл не открывается. Открываю в vlc.

Подскажите чего надо гуглить на эту тему (желательно на английском)?

И еще вопрос, кто-нибудь пробовал через movie_extpipe запись звука вместе с видео?

★★

Разобрался. Надо было поменять контейнер с mp4 на matroska:

movie_extpipe ffmpeg -y -f rawvideo -pix_fmt yuv420p -video_size %wx%h -framerate %fps -i pipe:0 -vcodec libx264 -vf yadif=2 -preset ultrafast -f matroska %f.mkv
Походу ковыряния ffmpeg, сменил кодек и подобрал оптимальное для себя качество, а так же заткнул выхлоп, чтобы не какало в логи. Вот кусочек конфига, кому инетерсно:
movie_output off

#movie_output_motion off

#movie_quality 0

#movie_bps 800000

#movie_codec mkv

movie_extpipe_use on

movie_extpipe ffmpeg -v error -stats -y -f rawvideo -pix_fmt yuv420p -video_size %wx%h -framerate %fps -i pipe:0 -c:v libx265 -crf 19 -x265-params log-level=error -preset ultrafast -vf yadif=2 -f matroska %f.mkv
Что же касается звука через extpipe - то ничего не вышло, подробности тут. У меня происходит тоже самое, видео кодить заканчивает, а звук продолжает писать.

yaba ★★
() автор топика