Это программа приема видеокадров с использованием передачи данных 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
Как решить проблему с задержкой запуска видео gst-launch-1.0? ⇐ Python
Программы на Python
-
Anonymous
1736402696
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()
Подробнее здесь: [url]https://stackoverflow.com/questions/79341506/how-to-solve-the-lagging-issue-of-gst-launch-1-0-running-video[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия