Thanks Moritz,

Would I enter this right into my command prompt, or would I create a separate 
file to run this statement from? I keep getting an error saying "File 
unexpected at this time". Apologies for any ignorance. I am new to using the 
command window, though I do have coding experience in php and java (though I am 
not sure that will help here). Thanks!

- Chris

-----Original Message-----
From: ffmpeg-user-boun...@ffmpeg.org [mailto:ffmpeg-user-boun...@ffmpeg.org] On 
Behalf Of Moritz Barsnick
Sent: Wednesday, April 29, 2015 3:48 PM
To: FFmpeg user discussions
Subject: Re: [FFmpeg-user] Making conditional statements with FFMPEG

Hi Chris,

On Wed, Apr 29, 2015 at 18:50:55 +0000, Chris Zecco wrote:
> I was wondering if there was a way to create an IF-THEN statement 
> using FFMPEG for files in a certain directory.

No, but with Unix scripting, this is a breeze. (For non-native
speakers: This is very simple with Unix scripting. That's what it was made for.)

> For file sizes in excess of 200MB:
> Encode video bit rate at 1500k
> Encode audio bit rate at 128k
> 
> For file sizes 100-100MB:
> Encode video bit rate at 1100k
> Encode audio bit rate at 128k
> 
> For file sizes less than 100MB:
> Encode video bit rate at 555k
> Encode audio bit rate at 128k

I would inspect the input file. You would grab the size of the file with 
something like "stat" first, then compare that against your numbers. Then you 
put the command line parameters into a shell variable, and use that for 
ffmpeg's command line:

---snip---
#!/bin/sh

for file in *; do
  SIZE=`stat -c %s "$file"`
  if [ $SIZE -gt 209715200 ]; then # > 200 MiB
    COMPRESSION_V="-b:v 1500k"
  elif [ $SIZE -ge 104857600 ]; then # >= 100 MiB
    COMPRESSION_V="-b:v 1100k"
  else # < 100 MiB
    COMPRESSION_V="-b:v 555k"
  fi

  ffmpeg -i "$file" $COMPRESSION_V -b:a 128k "$file".new.extension done
---snip---

Yeah, there are ways to preserve the file extension. I'm too lazy for that 
right now. (It's probably a fixed extension for you anyway.)

You're not taking the run length of the videos into consideration. You could 
query the original bitrate and apply e.g. half of that when converting each 
file. Just a suggestion. ;-)

Cheers,
Moritz
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to