Mercurial > repos > greg > ffmpeg
view ffmpeg.xml @ 19:e18b095d1c2c draft
Uploaded
author | greg |
---|---|
date | Wed, 18 Oct 2017 13:55:15 -0400 |
parents | f8a2a94102b4 |
children | c1705fd38212 |
line wrap: on
line source
<tool id="ffmpeg" name="FFMPEG" version="3.2.4"> <description> video / image converter</description> <requirements> <requirement type="package" version="3.2.4">ffmpeg</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ mkdir output && #if str($conversion_cond.conversion) == "video": #if str($output_process_log) == 'yes': ffmpeg -i '$conversion_cond.input' -filter:v fps=fps=1/$conversion_cond.sbf 2>$output_log output/%05d.jpg #else: ffmpeg -i '$conversion_cond.input' -filter:v fps=fps=1/$conversion_cond.sbf 2>/dev/null output/%05d.jpg #end if #else: ## str($conversion_cond.conversion) == "images" mkdir input_dir && #for $i in $conversion_cond.input: #set input_filename = $i.file_name #set full_name = $i.name #set ext = $i.ext ln -s $input_filename input_dir/$full_name && #if str($ext) != 'jpg': #set base_name = $full_name.split('.')[0] #set jpg_name = '%s.jpg' % $base_name ffmpeg -i input_dir/$full_name input_dir/$jpg_name && rm input_dir/$full_name && #end if #end for #if str($output_process_log) == 'yes': ffmpeg -r $conversion_cond.frame_rate -f mp4 -s 1920x1080 -i input_dir/%05d_predictions.jpg -vcodec libx264 -crf $conversion_cond.quality -pix_fmt yuv420p 2>$output_log $output_video #else: ffmpeg -r $conversion_cond.frame_rate -f mp4 -s 1920x1080 -i input_dir/%05d_predictions.jpg -vcodec libx264 -crf $conversion_cond.quality -pix_fmt yuv420p 2>/dev/null $output_video #end if #end if ]]></command> <inputs> <conditional name="conversion_cond"> <param name="conversion" type="select" label="Convert"> <option value="video" selected="true">video to images</option> <option value="images">images to video</option> </param> <when value="video"> <param name="input" type="data" format="avi,mpg,mp4" label="Select input video"/> <param name="sbf" type="integer" value="1" label="Number of seconds between frames"/> </when> <when value="images"> <param name="input" type="data_collection" collection_type="list" format="jpg,png" label="Select input images"/> <param name="frame_rate" type="integer" value="60" label="Number of frames per second"/> <param name="quality" type="integer" value="15" label="Image quality" help="Lower means better quality, 15-25 is usually good"/> </when> </conditional> <param name="output_process_log" type="select" display="radio" label="Output process log?"> <option value="no" selected="true">No</option> <option value="yes">Yes</option> </param> </inputs> <outputs> <data name="output_log" format="txt" label="${tool.name} (process log) on ${on_string}"> <filter>output_process_log == 'yes'</filter> </data> <collection name="output_from_video" type="list" label="${tool.name} (images) on ${on_string}"> <discover_datasets pattern="__name__" directory="output" format="jpg"/> <filter>conversion_cond['conversion'] == 'video'</filter> </collection> <data name="output_video" format="mp4" label="${tool.name} (video) on ${on_string}"> <filter>conversion_cond['conversion'] == 'images'</filter> </data> </outputs> <tests> <test> </test> </tests> <help> **What it does** Converts video files to images and image files to video files. ----- **Options** </help> <citations> </citations> </tool>