Определить доступные разрешения и форматы:
v4l2-ctl -d /dev/video0 --list-formats-ext
Предварительный просмотр, запись & закодировать в то же время:
- "формат"
, "ширина", "высота" и "фреймрейт" необходимо заполнить.
«keyframe_period» указывает, как часто в видео появляется ключевой кадр, который используется для восстановления и (по моему мнению) поиска.
«min-qp» указывает качество сжатия, когда нижнее означает лучшее качество.
:
gst-launch-1.0 v4l2src device=/dev/video0 ! \
video/x-raw,format=YV12,width=960,height=544,framerate=30/1 ! \
tee name=t ! \
queue ! \
autovideosink sync=false t. ! \
videorate ! \
queue ! \
vaapiencode_h264 keyframe_period=5 tune=high-compression min-qp=50 ! \
queue ! \
mpegtsmux ! \
filesink location=FIRST.mp4
(.. По некоторым причинам полученный FIRST.mp4 не может быть что-то добившиеся о недействительных отметок времени)
Восстановление контейнера mp4 без повторного кодирования производит файл с возможностью поиска mp4:
ffmpeg -i FIRST.mp4 -c:v copy SECOND.mp4