Closed deedos closed 10 years ago
You could pipe through netcat or other similar tool that converts pipes to sockets. Or pipe to ffmpeg and export the stream as RTP. Though, it might be feasible to add support for unix sockets in the main code - that would allow splitting streams to separate sockets in case one is connecting multiple blackmagic devices.
I have just found gstreamer shmsink and shmsrc . I do not have the atem with me now but this works: gst-launch-0.10 -v videotestsrc ! 'video/x-raw-yuv, format=(fourcc)"I420", framerate=30/1, width=1280, height=720' ! shmsink socket-path=/tmp/test shm-size=10000000 wait-for-connection=0 sync=false
and in other shell gst-launch-0.10 -v shmsrc socket-path=/tmp/test ! 'video/x-raw-yuv, format=(fourcc)"I420", framerate=30/1, width=1280, height=720' ! autovideosink
I 'll try with bmd-streamer when possible and report back.
Thanks Timos
It works with shmsrc and shmsink: ./bmd-streamer | gst-launch-0.10 -v fdsrc ! 'video/mpegts, systemstream=(boolean)true, packetsize=(int)188' ! shmsink socket-path=/tmp/test shm-size=10000000 wait-for-connection=0 sync=false
and
gst-launch-0.10 -v shmsrc socket-path=/tmp/test ! 'video/mpegts, systemstream=(boolean)true, packetsize=(int)188' ! queue ! filesink location=/media/dados/bmdtools-shm.ts
thanks!!
I 'm trying to send the stream from "atem tvs" to another shell/app and not succeeding so far. Within the same shell, with gstreamer it's working like a charm, for example, for recording the stream:
./bmd-streamer | gst-launch-0.10 -v fdsrc ! 'video/mpegts, systemstream=(boolean)true, packetsize=(int)188' ! queue ! filesink location=/media/dados/bmdtools.ts
I need to open the stream in another shell, How eould I do it ? I tried so far:
./bmd-streamer > /tmp/pipe
and in another shell:
gst-launch-0.10 -v fdsrc /tmp/pipe ! 'video/mpegts, systemstream=(boolean)true, packetsize=(int)188' ! queue ! filesink location=/media/dados/bmdtools.ts
anyway, I tried many ways ans nothiing. Any help would be appreciated.