Perl para o resgate!
perl -e 'print substr $buff, 32 while sysread *STDIN, $buff, 1280 * 720 * 4 + 32'
Pode haver um problema se o SSIZE_MAX na sua plataforma for menor que 1280 * 720 * 4 + 32 ou, por algum outro motivo, você não conseguir ler todos os bytes de uma só vez. Talvez tente este script em Perl:
#!/usr/bin/perl
use warnings;
use strict;
my ($BLOCK_SIZE, $HEADER_SIZE) = (3686400, 32);
while (1) {
my $block_size = 0;
my $block = "";
my $buff_size;
while (1) {
$buff_size = sysread *STDIN, my $buff,
$HEADER_SIZE + $BLOCK_SIZE - $block_size;
last unless $buff_size;
$block .= $buff;
$block_size += $buff_size;
}
last unless $block_size;
substr $block, 0, $HEADER_SIZE, "";
print $block;
}