Есть скрипт gst-test
:
#!/bin/bash
snd=$(pacmd list | sed -n "s/.*<\(.*\\.monitor\)>/\\1/p" | head -1);
gst-launch-1.0 -e ximagesrc use-damage=0 ! queue ! video/x-raw,format=BGRx,framerate=60/1 ! videoconvert ! x264enc ! queue ! matroskamux name=muxer pulsesrc device="${snd}" ! audio/x-raw,channels=2 ! queue ! vorbisenc quality=0.4 ! queue ! muxer. muxer. ! progressreport ! filesink location=/tmp/test.mkv
если запускать так gst-test
то видео получается небагованное https://disk.yandex.ru/i/liVtR8b536SaXA
а если так gst-test &
то - багованное https://disk.yandex.ru/d/zg-immdNxXfVjA
Баг проявляется в шкале прогресса видео (timeslider ?) в видеопроигрывателях (например mpv) и видеохостинги тоже не могут такое видео отрендерить/показать (так что качайте багованное (~16Mb) и смотрите его в mpv например).
progressreport
не отрабатывает при & ?
Может кто подскажет как правильней переделать этот скрипт?
Upd.: vaapih264enc заменил на x264enc для тех у кого нет vaapi