FFmpeg is a powerful framework for manipulating audiovisual files. Unfortunately, it also has a steep learning curve, especially for users unfamiliar with the command line. This app helps users through the bash command generation process so that more people can reap the benefits of the FFmpeg library.
This project is very much a work in progress. Each button displays a form to help fulfill a popular user request. To use, click on the button and fill out the form. After clicking the Generate button, a command line will appear in the box below. That line can be copied and pasted into a Terminal, with the assumption that the video file is located in the same directory that the user currently is in.
For FFmpeg basics, check out their official website.
For bash and command line basics, try the Command Line Crash Course
ffmpeg -i [sample file path]
This is all about info! This is all about info! This is all about info! This is all about info! This is all about info! This is all about info! This is all about info! This is all about info! This is all about info! This is all about info! This is all about info! This is all about info! This is all about info! This is all about info!
ffmpeg -i [inputfile.wav] -sample_fmt s16p -ar 44100 [outputfile.mp3]
This will convert your wav files to mp3s.
for f in *.MXF; do ffmpeg -i "$f" -acodec copy -vcodec copy "${f%.MXF}.mov"; done
Re-wrap .MFX files in a specified directory to .mov files by using this code within a .sh file. The shell script (.sh file) and all MXF files must be contained in the same directory, and the script must be run from the directory itself (cd ~/Desktop/MXF_file_directory). Execute .sh file with the command sh Rewrap-MXF.sh
Modify the ffmpeg script as needed to perform different transcodes :)
ffmpeg -i [inputfile.extension] -an -f framemd5 [outputfile.framemd5]
This will create an md5 checksum per frame
ffmpeg -i input.mov -vcodec prores -profile:v 1 -acodec pcm_s16le -vf yadif output.mov
This command transcodes an input file (input.mov) into a deinterlaced Apple ProRes LT .mov file with 16-bit linear PCM encoded audio. The file is deinterlaced using the yadif (Yet Another De-Interlacing Filter) command.
ffmpeg -i [file path] -ss 00:00:20 -f image2 -vframes 1 thumb.png
This command will grab a thumbnail 20 seconds into the video.
ffmpeg -i {path/inputfile.extension} -f image2 -vf fps=fps=1/60 out%d.png
This will grab a thumbnail every minute and output sequential png files.
ffprobe -i filename.avi -show_format -show_streams -print_format xml
This command extracts technical metadata from a video file and displays it in xml.
ffmpeg documentation on ffprobe (full list of flags, commands, https://www.ffmpeg.org/ffprobe.html)
ffmpeg -f concat -i mylist.txt -c copy [output]
This command takes two or more files of the same filetype and joins them together to make a single file. All that the program needs is a list specifying the files that should be concatenated. However, it only works if the files to be combined have the exact same codec and technical specifications.
ffmpeg documentation on concatenating files (full list of flags, commands, https://trac.ffmpeg.org/wiki/Concatenate)
ffmpeg -i [input file] -t 5 -c copy [output]
This command captures a certain portion of a video file, starting from the beginning and continuing for the amount of time (in seconds) specified in the script. This can be used to create a preview file, or to remove unwanted content from the end of the file. To be more specific, use timecode, such as 00:00:05.
ffmpeg -i [input file] -ss 5 -t 5 -c copy [output]
This command captures a certain portion of a video file, starting from a designated point in the file and taking an excerpt as long as the amount of time (in seconds) specified in the script. This can be used to create a preview or clip out a desired segment. To be more specific, use timecode, such as 00:00:05.
ffmpeg -i [input file] -ss 5 -c copy [output]
This command copies a video file starting from a specified time, removing the first few seconds from the output. This can be used to create an excerpt, or remove unwanted content from the beginning of a video file.
Made with ♥ at AMIA #AVhack15