Mercurial > repos > greg > ffmpeg
diff ffmpeg.xml @ 11:fec4348c08f5 draft
Uploaded
author | greg |
---|---|
date | Wed, 18 Oct 2017 09:42:34 -0400 |
parents | 18a4e1df1a54 |
children | c5474fdac82e |
line wrap: on
line diff
--- a/ffmpeg.xml Wed Oct 18 08:53:07 2017 -0400 +++ b/ffmpeg.xml Wed Oct 18 09:42:34 2017 -0400 @@ -4,13 +4,26 @@ <requirement type="package" version="3.2.4">ffmpeg</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ +mkdir output && #if str($conversion_cond.conversion) == "video": - mkdir output && #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 + ln -s $input_filename input_dir/$full_name + #end for + #if str($output_process_log) == 'yes': + ffmpeg -r $conversion_cond.frame_rate -f mp4 -s 1920x1080 -i $input_dir/%04d.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/%04d.jpg -vcodec libx264 -crf $conversion_cond.quality -pix_fmt yuv420p 2>/dev/null $output_video + #end if #end if ]]></command> <inputs> @@ -23,6 +36,11 @@ <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" 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> @@ -30,12 +48,15 @@ </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_log" format="txt" label="${tool.name} (process log) on ${on_string}"> - <filter>output_process_log == 'yes'</filter> + <data name="output_video" format="mp4" label="${tool.name} (video) on ${on_string}"> + <filter>conversion_cond['conversion'] == 'images'</filter> </data> </outputs> <tests>