Снижение FPS для H264C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Снижение FPS для H264

Сообщение Anonymous »

Имеется USB-камера, которая отправляет кадры H264 с частотой 30 кадров в секунду в разрешении 1920x1080, размере GOP 30 или 60 (1 или 2 I кадра на каждый секунда в зависимости от камеры и только P-кадров), что требует пропускной способности около 6 Мбит/с. Необходимо снизить ее до уровня не более 2 Мбит/с. Все это делается на слабом ARMv7, поэтому вариант перекодирования крайне ресурсоемкий, особенно если учесть, что я не нашел, как это сделать в виде GPU Mali (NanoPi Neo Core).
# ./ffmpeg -hide_banner -codecs | grep h264
DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m ) (encoders: libx264 libx264rgb h264_v4l2m2m )

# sudo ./ffmpeg -hide_banner -f v4l2 -input_format h264 -c:v h264_v4l2m2m -video_size 1920x1080 -threads 4 -i /dev/video0 -f null -
[h264 @ 0x149bb30] Increasing reorder buffer to 1
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 269427.784703, bitrate: N/A
Stream #0:0: Video: h264 (Baseline), yuvj420p(pc, bt709, progressive), 1920x1080, 30 fps, 30 tbr, 1000k tbn
[h264_v4l2m2m @ 0x160fd40] Could not find a valid device
[h264_v4l2m2m @ 0x160fd40] can't configure decoder
Stream mapping:
Stream #0:0 -> #0:0 (h264 (h264_v4l2m2m) -> wrapped_avframe (native))
Error while opening decoder for input stream #0:0 : Invalid argument


Учитывая, что основной функционал выполнен на фреймворке ffmpeg, можно ли снизить частоту кадров, в идеале до 10 кадров в секунду ,БЕЗ потери качества и декодирования?
может я разобрался как определить только I кадры из НАЛУ
(AVPacket.data[4] & 0x1F) == 7


Подробнее здесь: https://stackoverflow.com/questions/784 ... n-for-h264
Ответить

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

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

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

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

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