Буфер реального времени ffmpeg слишком полон или почти полный кадр пропал, я даже пытался увеличить rtbufsize. Что можетPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Буфер реального времени ffmpeg слишком полон или почти полный кадр пропал, я даже пытался увеличить rtbufsize. Что может

Сообщение Anonymous »

У нас есть программное обеспечение, в котором мы захватываем поток с камеры, подключенной к ноутбуку или устройству, с помощью ffmpeg python,
ffmpeg
.input(video, s='640x480', **self.args) //tried with rtbufsize=1000M (enough I suupose/ also sometimes the error does not occur even on default rtbufsize which is around 3MB)
.output('pipe:', format='rawvideo', pix_fmt='rgb24')
.overwrite_output()
.run_async(pipe_stdout=True)

В большинстве случаев, когда я запускаю программное обеспечение, как будто оно все еще запускается, мы получаем следующую ошибку, я также получал эту ошибку, когда программное обеспечение полностью инициировалось и работает с длительного времени, например, через 12 часов или более.

Ошибка: [dshow @ 000002248916e240] буфер реального времени [Встроенная
Камера] [видеовход ] слишком полный или почти полный (80% размера: 3041280
[параметр rtbufsize])! кадр пропущен!
Последнее сообщение повторено 1 раз [dshow @ 000002248916e240] буфер реального времени [Встроенная камера] [видеовход] слишком полон или почти переполнен
(101% размера: 3041280 [параметр rtbufsize] )! кадр пропал!

Что мы можем делать неправильно?
Изменить 1:
ниже приведен код для использования кадра, захваченного в видео, с помощью ffmpeg.
def frame_reader(self):
while True:
in_bytes = self.process.stdout.read(self.width * self.height * 3)
if not in_bytes:
break
try:
in_frame = (
np
.frombuffer(in_bytes, np.uint8)
.reshape([self.height, self.width, 3])
)
frame = cv2.resize(in_frame, (640, 480))
frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
except Exception as e:
logger.error(e, exc_info=True)
in_frame = (
np
.frombuffer(in_bytes, np.uint8)
)

if not self.q.empty():
try:
self.q.get_nowait()
except queue.Empty:
pass
self.q.put(frame)


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • LinkedIn OpenId Connect не возвращает полный профиль пользователя (пропал электронная почта), несмотря на действительный
    Anonymous » » в форуме Php
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • GL_INVALID_FRAMEBUFFER_OPERATION: кадровый буфер не полон или несовместим с командой.
    Anonymous » » в форуме Android
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Как узнать, когда printf () внутренний буфер полон
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как узнать, когда printf () внутренний буфер полон
    Anonymous » » в форуме C++
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как узнать, когда printf () внутренний буфер полон
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

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