LINUX.ORG.RU

Помогите с gst-launch-1.0

 ,


0

1

Есть скрипт 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

★★★★★

Последнее исправление: superuser (всего исправлений: 5)

Судя по содержимому терминала, вы не просто запускаете gst-launch, а ещё и Ctrl-C нажимаете?

mky ★★★★★
()
Ответ на: комментарий от mky

Нет, делаю всё как напейсал,
хотя... да мысль возникла :)

superuser ★★★★★
() автор топика
Последнее исправление: superuser (всего исправлений: 2)
Ответ на: комментарий от mky

не правильно убиваю ( gst-launch-1.0 ... ; kill $! ) ?
а как тогда правильно? в общем похоже бажище в нём

superuser ★★★★★
() автор топика
Последнее исправление: superuser (всего исправлений: 2)

Ты пишешь в файл. Его нужно правильно завершать. Ну там заголовки всякие. Так что посылай через kill сигнал ctrl+c.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Тфу... точно kill -2 ${pid} надо, думал что этот сигнал по умолчанию

superuser ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.