[Sw-l] SignTube Program for SW captions on videos

John Carlson yottzumm at gmail.com
Tue Aug 15 02:22:34 UTC 2023


I've made progress, and now have a streaming server with Twisted Python
networking that downloads over 1000000 numbers.   I wanted a streaming
client though...  Kafka or Faust or asyncio in python may be options, but
I'm worn out from dealing with streaming clients using sockets in python.

John

On Mon, Aug 14, 2023 at 5:22 PM John Carlson <yottzumm at gmail.com> wrote:

> I'd like to hear more about SWML as I am creating a new streaming format
> (which is currently unnamed, but a previous version had the extension .rg
> for route graph, before that I was using serialized Java) for recording and
> processing Humanoid information from MediaPipe. I'm having trouble with
> networking using Python, so I haven't done much streaming yet, apparently
> default sockets on python require many connections, so I might not be able
> to do streaming unless I find a better socket library. I've tried turning
> off my firewall, added exclusions to antivirus, and used a virtual
> environment that was excluded from antivirus.  I get like a page or two of
> data in the terminal on the server log, and I get: "ConnectionAbortedError:
> [WinError 10053] An established connection was aborted by the software in
> your host machine."  I'm on Windows 10.
>
> My format approach is to do something like BVH (Biovision Hierarchy), but
> a graph instead of a hierarchy (with From/To links for bones between two
> joints), but I think I will be able to remove things from the "skeleton
> graph," which is an important feature of my streaming format.   I'm
> streaming with python that generates data from Google MediaPipe's
> Holistic.  I haven't moved on from this to the MediaPipe's new tasks
> structure, but I might if I can get x,y,z coordinates, even if I can't see
> the skeleton on the video.  At least I'll have video (with opencv).  But
> I'm moving away from Python, probably to JavaScript.  I don't see Java
> being taken seriously by MediaPipe. Android/Kotlin, yes--I guess I could
> learn Kotlin.
>
> I would like to prove a client/server approach so I can separate the
> skeleton geometry stream generation from the rest of the system.  I realize
> that saving the stream to a file is an important first step, but if I can't
> get networking working on my local system, I might use bash piping to go
> from one tool to the next, or save to a file (yuck!). Using a pipe is more
> private, but fewer features than networking.
>
> Here's a Python program loop that has multiple connections (couldn't do
> one), that actually *doesn't* work, Apparently, one's data needs to be
> extremely short. It varies between the last string being "CHICKEN," "CROW,"
> and "EOF."  I guess it's time to do the stackoverflow thing, if not Copilot.
>
> import socket
>
>
> sock = None
>
> def msgSend(sock, data):
>     if data:
>         sock.send((data).encode())
>
> def socketCreate():
>     HOST, PORT = "localhost", 3000
>     sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
>     sock.connect((HOST, PORT))
>     return sock
>
>
> # Create a socket (SOCK_STREAM means a TCP socket)
> if __name__ == '__main__':
>     for i in range(1,2001):
>         print(f"Connection {i}:");
>         sock = socketCreate()
>         msgSend(sock, "DUCK\n")
>         msgSend(sock, "GOOSE\n")
>         msgSend(sock, "RAVEN\n")
>         msgSend(sock, "EAGLE\n")
>         msgSend(sock, "CHICKEN\n")
>         msgSend(sock, "CROW\n")
>         sock.sendall("EOF\n".encode())
>         sock.shutdown(socket.SHUT_RDWR)
>         sock.close()
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.linguistlist.org/pipermail/sw-l/attachments/20230814/f13fb04a/attachment-0001.htm>


More information about the Sw-l mailing list