Изменить битрейт USB-камеры

Я использую USB-камеру ELP с выходом кодека h264.

Ffmpeg-команда для захвата видеопотока:

ffmpeg -i /dev/video1 -c:v copy output.ts

В результате у меня есть видео с битрейтом 4Mb - это значение слишком велико для моей задачи.

Такая же ситуация, когда я использую GSTreamer:

gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-h264,width=1280,height=720,framerate=30/1 ! mpegtsmux ! filesink location=output.ts

Я знаю, что можно изменить битрейт, если мы сначала декодируем поток h264, а затем снова кодируем его в h264. Эта операция требует слишком большой мощности процессора моего устройства NanoPI.

Главный вопрос: Можно ли изменить битрейт USB-камеры без декодирования?

Заранее спасибо!


person Nick Saw    schedule 30.11.2018    source источник
comment
Если в камере есть настройка на изменение битрейта, то да иначе нельзя.   -  person Gyan    schedule 30.11.2018
comment
Нет! если можете напишите свой драйвер ДА!   -  person dsgdfg    schedule 03.12.2018


Ответы (1)


Некоторые USB-камеры поддерживают протокол UVC, что позволяет настраивать более широкий набор функций, чем v4l2-ctl.

Например, чтобы изменить битрейт без декодирования:

gst-launch-1.0 uvch264src initial-bitrate=1500000 average-bitrate=1500000 iframe-period=1000 device=/dev/video0 name=src auto-start=true src.vidsrc ! video/x-h264,width=1280,height=720,framerate=30/1,profile=constrained-baseline ! h264parse ! mpegtsmux ! filesink location=output.ts

ВАЖНЫЙ! ELP USB-камера не поддерживает этот протокол. А вот всем известный Logitech C920-да, и команда тестировалась этой камерой.

Если кто знает HD USB камеры, которые поддерживают кодек h.264 и протокол UVC, напишите мне, буду очень признателен.

person Nick Saw    schedule 12.12.2018
comment
Пожалуйста, дайте мне знать, поддерживается ли это также в cmd ffmpeg в Windows? - person mail2subhajit; 28.08.2019
comment
@mail2subhajit К сожалению, я ничего не нашел о настройках ffmpeg для потока uvc и, наконец, решил проблему с gst.. - person Nick Saw; 28.08.2019