audio tweaks etc
* pass --no-audio through from pack-set to pack-vid * don't reserve bitrate for audio if there's no audio track
This commit is contained in:
parent
f380334fe2
commit
97a21bd75f
2 changed files with 20 additions and 7 deletions
9
pack-set
9
pack-set
|
@ -1,10 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
OPTS=""
|
||||
if [ "$1" == "--no-audio" ]
|
||||
then
|
||||
OPTS="--no-audio"
|
||||
shift
|
||||
fi
|
||||
|
||||
for INFILE in "$@"
|
||||
do
|
||||
echo "$INFILE"
|
||||
|
||||
COMMON="--exposure=-2.5 --peak=141 --fps=60000/1001"
|
||||
COMMON="$OPTS --exposure=-2.5 --peak=141 --fps=60000/1001"
|
||||
SPEED_SMALL="veryslow"
|
||||
SPEED_LARGE="medium"
|
||||
|
||||
|
|
18
pack-vid
18
pack-vid
|
@ -121,16 +121,22 @@ function sizify( $str ) {
|
|||
die( "Unexpected size format '$str'\n" );
|
||||
}
|
||||
|
||||
function extractTracks( $streams, $type ) {
|
||||
return array_values(
|
||||
array_filter( $streams, function ( $stream ) use ( $type ) {
|
||||
return $stream->codec_type === $type;
|
||||
} )
|
||||
);
|
||||
}
|
||||
|
||||
function convert( $src, $dest, $options ) {
|
||||
$maxBits = 8 * sizify( $options['size'] );
|
||||
|
||||
$probe = ffprobe( $src );
|
||||
|
||||
$videoTracks = array_values(
|
||||
array_filter( $probe->streams, function ( $stream ) {
|
||||
return $stream->codec_type === 'video';
|
||||
} )
|
||||
);
|
||||
$videoTracks = extractTracks( $probe->streams, 'video' );
|
||||
$audioTracks = extractTracks( $probe->streams, 'audio' );
|
||||
|
||||
if ( count( $videoTracks ) == 0 ) {
|
||||
var_dump( $probe );
|
||||
die("oh no\n");
|
||||
|
@ -146,7 +152,7 @@ function convert( $src, $dest, $options ) {
|
|||
$bitrate = floor( $maxBits / $duration );
|
||||
|
||||
|
||||
if ( $options[ 'no-audio' ] ) {
|
||||
if ( $options[ 'no-audio' ] || count( $audioTracks ) == 0 ) {
|
||||
$audio = [ '-an' ];
|
||||
} else {
|
||||
$audioBitrate = 96 * 1000;
|
||||
|
|
Loading…
Reference in a new issue