quicktime_video_hack icon indicating copy to clipboard operation
quicktime_video_hack copied to clipboard

GStreamer not working

Open Alex15190 opened this issue 3 years ago • 8 comments

go run main.go gstreamer

github.com/danielpaulus/gst

cgo-gcc-prolog:110:35: warning: 'gst_element_get_request_pad' is deprecated: Use 'gst_element_request_pad_simple' instead [-Wdeprecated-declarations] /opt/homebrew/Cellar/gstreamer/1.20.3/include/gstreamer-1.0/gst/gstelement.h:1041:9: note: 'gst_element_get_request_pad' has been explicitly marked deprecated here /opt/homebrew/Cellar/glib/2.72.3_1/include/glib-2.0/glib/gmacros.h:1113:44: note: expanded from macro 'G_DEPRECATED_FOR' {"error_message":"no device found to use","original_error":"no iOS devices are connected to this host"} {"level":"info","msg":"found ACheck 15.6.1 for udid UUID","time":"2022-09-06T12:05:41+03:00"} {"level":"info","msg":"Starting Gstreamer..","time":"2022-09-06T12:05:41+03:00"} panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x10501e92c]

goroutine 1 [running]: github.com/danielpaulus/quicktime_video_hack/screencapture/gstadapter.setUpVideoPipeline(0x140000100c0) /Users/check/Downloads/quicktime_video_hack-main/screencapture/gstadapter/gst_pipeline_builder_mac.go:17 +0x7c github.com/danielpaulus/quicktime_video_hack/screencapture/gstadapter.New() /Users/check/Downloads/quicktime_video_hack-main/screencapture/gstadapter/gst_adapter.go:35 +0x6c main.startGStreamer({{0x0, 0x0}, {0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0}}) /Users/check/Downloads/quicktime_video_hack-main/main.go:296 +0x80 main.main() /Users/check/Downloads/quicktime_video_hack-main/main.go:177 +0x8b8 exit status 2

Alex15190 avatar Sep 06 '22 09:09 Alex15190

MacOS 12.5.1

Alex15190 avatar Sep 06 '22 09:09 Alex15190

This has been reproduced on my side on a mac M1, macOS 12.6, after cloning the repo.

I'm using go version 1.19 darwin/arm64

Maybe do we need to specifically use go version 1.15 ?

EDIT : Seems to be crashing on the SetProperty("is-live",true)

I had to export the env variable GST_PLUGIN_PATH :

"export GST_PLUGIN_PATH=/opt/homebrew/lib/gstreamer-1.0"

It worked after

Valkhes avatar Dec 01 '22 10:12 Valkhes

How did you get this working again?

I am still having issues even after doing

"export GST_PLUGIN_PATH=/usr/local/Cellar/gstreamer/1.20.5"

HardlyAnyHoldings avatar Dec 30 '22 07:12 HardlyAnyHoldings

hm weird it just worked on Ventura 13.1 with an USB-C iPAD Air iOS 16.1.1 Let me see if I can repro

danielpaulus avatar Jan 04 '23 19:01 danielpaulus

same for my iPhone 14, I get this annoying signal: illegal instruction now and then, so I have to start and kill the command like 5 times but eventually it always works. I will investigate if I can make the gstreamer part more stable.

danielpaulus avatar Jan 04 '23 19:01 danielpaulus

also I am using GStreamer 1.18.4 gst-launch-1.0 --version is that maybe the issue?

danielpaulus avatar Jan 04 '23 19:01 danielpaulus

I just tried pushing the AV data through the local TCP loopback interface and just running gstreamer in a separate process from qvh and it seems to work perfectly fine. I will try and push a prototype branch tonight. I am fairly confident this will solve all of the gstreamer problems and allow easy use of ffmpeg as well.

danielpaulus avatar Jan 04 '23 20:01 danielpaulus

@danielpaulus I am having an issue with running the code too. On the main branch, I run into the original issue posted here. I then switched to using the externalizeGST branch to launch a separate process for gstreamer. Unfortunately, my gst invoke url doesn't seem to be working. Would you mind sharing the gst command you used to get the process going?

dn538j avatar Jan 13 '23 17:01 dn538j