Perl на помощь!
perl -e 'print substr $buff, 32 while sysread *STDIN, $buff, 1280 * 720 * 4 + 32'
Может возникнуть проблема, если SSIZE_MAX на вашей платформе меньше 1280 * 720 * 4 + 32 или по какой-то другой причине вы не можете прочитать все байты одновременно. Может быть, попробуйте этот скрипт на 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; }