sub get_ffmpeg_formats { my $ffmpeg_bin = shift; my $decode = shift; my $encode = shift; open(CMD, $CONFIG{'FFMPEG_BIN'}.' -formats 2>&1 |'); my @output = ; close(CMD); unless ($output[0] =~ /^ffmpeg\s+version\s+(.+),\scopyright/i) { print "get_ffmpeg_formats: return 0\n"; return 0; } foreach my $line (@output) { if ($line =~ /\s+([DE\s]{2})\s([a-z0-9\_]+)\s+/) { my $support = $1; my $codec = $2; next if !defined($support); next if !defined($codec); if (substr($support, 0, 1) eq 'D') { push(@{$decode}, $codec); } if (substr($support, 1, 1) eq 'E') { push(@{$encode}, $codec); } } } return 1; }