f = os.popen("gst-launch -q whateversrc ! ... ! fdsink")
f.read(1024);
Работает отлично на GNU/Linux, но приводит к \ x0d \ x0a вместо каждого \ x0a Windows. Как исправить?Как читать двоичные данные из дочернего процесса Gstreamer в Windows?
Я также пробовал только gst-launch -q ..... ! matroskamux streamable=true ! fdsink > qqq3.mkv
в консоли и qqq3.mkv также искажен. gst-launch -q filesrc location=file ! fdsink > file2
также преобразуется в CRLF.
Что делать? Gstreamer build для windows не имеет tcp {server, client} sink ...
Может быть, есть способ отключить это преобразование LF-> CRLF глобально в Windows (или для данного приложения)?
Вы должны действительно рассмотреть возможность использования модуля [subprocess] (http://docs.python.org/library/subprocess.html#module-subprocess), а не 'os.popen'. Кроме того, какую версию Python вы используете? – srgerg
«Python 2.6.5» в Cygwin –
Вы пытались указать режим вызова 'os.popen'? Например, вы можете попробовать либо «os.popen» («gst-launch ...», «r») 'или' os.popen («gst-launch ...», «rb») '. Первый должен быть по умолчанию, а последний явно указывает чтение двоичных данных. – srgerg