Perl zur Rettung!
perl -e 'print substr $buff, 32 while sysread *STDIN, $buff, 1280 * 720 * 4 + 32'
Es kann ein Problem auftreten, wenn SSIZE_MAX auf Ihrer Plattform weniger als 1280 * 720 * 4 + 32 beträgt oder Sie aus einem anderen Grund nicht alle Bytes gleichzeitig lesen können. Versuchen Sie es stattdessen mit diesem Perl-Skript:
#!/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; }