1#!/usr/bin/env python2
2
3import sys, zmq, cmd
4
5class LavfiCmd(cmd.Cmd):
6    prompt = 'lavfi> '
7
8    def __init__(self, bind_address):
9        context = zmq.Context()
10        self.requester = context.socket(zmq.REQ)
11        self.requester.connect(bind_address)
12        cmd.Cmd.__init__(self)
13
14    def onecmd(self, cmd):
15        if cmd == 'EOF':
16            sys.exit(0)
17        print 'Sending command:[%s]' % cmd
18        self.requester.send(cmd)
19        message = self.requester.recv()
20        print 'Received reply:[%s]' % message
21
22try:
23    bind_address = sys.argv[1] if len(sys.argv) > 1 else "tcp://localhost:5555"
24    LavfiCmd(bind_address).cmdloop('FFmpeg libavfilter interactive shell')
25except KeyboardInterrupt:
26    pass
27