#numero_totale_pkt = 0 bind_layers(UDP, RTP) try: with PcapReader(pcap_path) as pcap_reader: for index, pkt in enumerate(pcap_reader): if IP in pkt and RTP in pkt: #numero_totale_pkt = index try: num_canali, quali = queue_stat.get(block=False) except queue.Empty: pass if start_time == 0: # per avere uno start time più fedele possibile start_time = time.time() send = operatore.set_pkt(pkt) timer.nsleep( timer.delay_calculator(pkt.time, pkt_start_time, start_time) * 0.85 ) # in modo da svegliarsi un 15% prima e poter eseguire più invii senza problemi invio_canali(num_porte, queue_list, num_canali, quali, send, index) except KeyboardInterrupt: pass esci = True for i in queue_list: i.put((None, -1)) time.sleep(1) #queue_gop.put(None) # da usare #image_process.join() # da usare #print(arr) #print('Numero di elementi non inviati ' + str(len(arr)) + ' su ' + str(numero_totale_pkt) + ' pacchetti') print("--- %s seconds ---" % (time.time() - start))