Как решить проблему с задержкой запуска видео gst-launch-1.0?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как решить проблему с задержкой запуска видео gst-launch-1.0?

Сообщение Anonymous »

Это программа приема видеокадров с использованием передачи данных TCP. Я отправляю данные кадра размером 5400x3010 пикселей, но на принимающей стороне видео становится медленным. Почему это происходит? и как это решить?
Видео 1080p принимается правильно.
FIFO_PATH = '/tmp/video_fifo'

# Create a named pipe (FIFO)
if not os.path.exists(FIFO_PATH):
os.mkfifo(FIFO_PATH)

# Start the GStreamer pipeline in a subprocess
gst_command = f"gst-launch-1.0 -v filesrc location={FIFO_PATH} ! decodebin ! videoscale ! video/x-raw,width=800,height=480 ! autovideosink"
gst_process = subprocess.Popen(gst_command, shell=True)

# Set up socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind((SERVER_IP, PORT))
sock.listen(1)

print("Waiting for connection...")
conn, addr = sock.accept()
print(f"Connection established with {addr}")

# Prepare to receive data
header = struct.Struct('>L') # for 4 bytes frame size header

# Open the FIFO for writing
with open(FIFO_PATH, 'wb') as fifo:
try:
while True:
# Receive the frame size header
data = conn.recv(header.size)
if not data:
break
frame_size = header.unpack(data)[0]

# Receive the actual frame data
frame_data = b''
while len(frame_data) < frame_size:
packet = conn.recv(frame_size - len(frame_data))
if not packet:
break
frame_data += packet

# Write the frame data to the FIFO
fifo.write(frame_data)
fifo.flush()
except Exception as e:
print(f"Error: {e}")
finally:
print("Closing connection...")
conn.close()


Подробнее здесь: https://stackoverflow.com/questions/793 ... ning-video
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»