- Posts: 3
- Joined: Tue Aug 31, 2021 6:04 pm
- Real Name: Ralph Brooks
Hey all,
Hoping someone can help. I am currently using the BlackMagic Pocket Cinema Camera 4K with the ATEM Mini Pro ISO. The marketing and reviews for the ISO suggest that it can do custom streaming. For me, I am trying to get this to stream from the ISO to opencv-python on WSL2 (on the same network as the ISO) so that I can do some machine learning / artificial intelligence and object detection. I was thinking of using a RTMP stream but willing to use anything that is compatible with opencv-python (and in particular what is compatible with cv2.VideoCapture).
To illustrate further, I am trying to find a way to stream from ISO and have it captured by the following python code on my desktop:
This is the part though where I get stuck. I import an xml (bottom of the post) into the ATEM Mini ISO pro with an IP address that matches the IP address for my computer (the DHCP IP address that you get when type hostname -I in WSL2). I then click the stream to go on air, but I have zero idea if the rtmp stream is working or if a rtmp stream is generated (the ATEM software says the stream is running and eventually the software shows the buffer fills up), but not sure now to test for a RTMP push stream.
What kind of software is typically used to detect if a rtmp push stream is running? Any help on this is more than appreciated.
IMPORTED XML into ATEM software
Hoping someone can help. I am currently using the BlackMagic Pocket Cinema Camera 4K with the ATEM Mini Pro ISO. The marketing and reviews for the ISO suggest that it can do custom streaming. For me, I am trying to get this to stream from the ISO to opencv-python on WSL2 (on the same network as the ISO) so that I can do some machine learning / artificial intelligence and object detection. I was thinking of using a RTMP stream but willing to use anything that is compatible with opencv-python (and in particular what is compatible with cv2.VideoCapture).
To illustrate further, I am trying to find a way to stream from ISO and have it captured by the following python code on my desktop:
- Code: Select all
import cv2
number_imgs = 10
cap = cv2.VideoCapture(??? NO IDEA ???)
print('Collecting images for {}'.format('ThumbUpLabel'))
time.sleep(5)
for imgnum in range(number_imgs):
print('Collecting image {}'.format(imgnum))
ret, frame = cap.read()
cv2.imshow('frame', frame)
time.sleep(2)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
This is the part though where I get stuck. I import an xml (bottom of the post) into the ATEM Mini ISO pro with an IP address that matches the IP address for my computer (the DHCP IP address that you get when type hostname -I in WSL2). I then click the stream to go on air, but I have zero idea if the rtmp stream is working or if a rtmp stream is generated (the ATEM software says the stream is running and eventually the software shows the buffer fills up), but not sure now to test for a RTMP push stream.
What kind of software is typically used to detect if a rtmp push stream is running? Any help on this is more than appreciated.
IMPORTED XML into ATEM software
- Code: Select all
<streaming>
<service>
<name>Rtmp destination</name>
<servers>
<server>
<name>Primary</name>
<url>rtmp://172.18.243.31/live</url>
</server>
</servers>
<profiles>
<profile>
<name>Streaming High</name>
<config resolution="1080p" fps="60">1
<bitrate>9000000</bitrate>
<audio-bitrate>128000</audio-bitrate>
<keyframe-interval>2</keyframe-interval>
</config>
<config resolution="1080p" fps="30">
<bitrate>6000000</bitrate>
<audio-bitrate>128000</audio-bitrate>
<keyframe-interval>2</keyframe-interval>
</config>
</profile>
<profile>
<name>Streaming Low</name>
<config resolution="1080p" fps="60">
<bitrate>4500000</bitrate>
<audio-bitrate>128000</audio-bitrate>
<keyframe-interval>2</keyframe-interval>
</config>
<config resolution="1080p" fps="30">
<bitrate>3000000</bitrate>
<audio-bitrate>128000</audio-bitrate>
<keyframe-interval>2</keyframe-interval>
</config>
</profile>
</profiles>
</service>
</streaming>