Я передаю данные из одного процесса в другой, но этот поток необходимо отфильтровать. Первый процесс есть, ffmpeg
а второй есть ffplay
. ffmpeg
предоставляет необработанный видеокадр для fplay
рендеринга, однако он добавляет заголовок 32 байта к каждому кадру . Для кадра 720p это означает, что каждые 1280x720x4 байта дополнены 32 байтами.
Это влияет на ffplay
воспроизведение, и мне нужно иметь некоторую фильтрацию этого потока байтов, которая будет отбрасывать этот заголовок для каждого кадра. Скорее всего, такие инструменты, как od
или xxd
должны быть использованы, но мне трудно понять, как именно.
ffmpeg -f avfoundation -pixel_format 0rgb -framerate 25 -video_size 1280x720 -i "0" -map 0:v -c copy -f rawvideo -vframes 1 - | perl -e 'print substr $buff, 1 while sysread *STDIN, $buff, 3686432' > /tmp/frame.0rgb
. Подсчет байтовwc -c /tmp.frame.0rgb