annotate ffmpeg.xml @ 25:3b06d705bcdb draft default tip

Uploaded
author greg
date Thu, 19 Oct 2017 13:56:17 -0400
parents 0609c266d650
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
d289676d7bd9 Uploaded
greg
parents:
diff changeset
1 <tool id="ffmpeg" name="FFMPEG" version="3.2.4">
5
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
2 <description> video / image converter</description>
0
d289676d7bd9 Uploaded
greg
parents:
diff changeset
3 <requirements>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
4 <requirement type="package" version="3.2.4">ffmpeg</requirement>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
5 </requirements>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
6 <command detect_errors="exit_code"><![CDATA[
11
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
7 mkdir output &&
7
9c1d2cbf6661 Uploaded
greg
parents: 6
diff changeset
8 #if str($conversion_cond.conversion) == "video":
10
18a4e1df1a54 Uploaded
greg
parents: 9
diff changeset
9 #if str($output_process_log) == 'yes':
18a4e1df1a54 Uploaded
greg
parents: 9
diff changeset
10 ffmpeg -i '$conversion_cond.input' -filter:v fps=fps=1/$conversion_cond.sbf 2>$output_log output/%05d.jpg
18a4e1df1a54 Uploaded
greg
parents: 9
diff changeset
11 #else:
18a4e1df1a54 Uploaded
greg
parents: 9
diff changeset
12 ffmpeg -i '$conversion_cond.input' -filter:v fps=fps=1/$conversion_cond.sbf 2>/dev/null output/%05d.jpg
18a4e1df1a54 Uploaded
greg
parents: 9
diff changeset
13 #end if
11
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
14 #else:
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
15 ## str($conversion_cond.conversion) == "images"
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
16 mkdir input_dir &&
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
17 #for $i in $conversion_cond.input:
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
18 #set input_filename = $i.file_name
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
19 #set full_name = $i.name
16
995df15a4714 Uploaded
greg
parents: 15
diff changeset
20 #set ext = $i.ext
21
b99f8116ad62 Uploaded
greg
parents: 20
diff changeset
21 cp $input_filename input_dir/$full_name &&
11
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
22 #end for
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
23 #if str($output_process_log) == 'yes':
25
3b06d705bcdb Uploaded
greg
parents: 24
diff changeset
24 ffmpeg -r $conversion_cond.frame_rate -s 1920x1080 -i input_dir/%05d_predictions.$ext -vcodec libx264 -crf $conversion_cond.quality -pix_fmt yuv420p output/out.mp4 2> $output_log &&
11
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
25 #else:
25
3b06d705bcdb Uploaded
greg
parents: 24
diff changeset
26 ffmpeg -r $conversion_cond.frame_rate -s 1920x1080 -i input_dir/%05d_predictions.$ext -vcodec libx264 -crf $conversion_cond.quality -pix_fmt yuv420p output/out.mp4 2> /dev/null &&
11
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
27 #end if
22
4b0e8f6dfd53 Uploaded
greg
parents: 21
diff changeset
28 mv output/out.mp4 $output_video
5
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
29 #end if
0
d289676d7bd9 Uploaded
greg
parents:
diff changeset
30 ]]></command>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
31 <inputs>
5
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
32 <conditional name="conversion_cond">
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
33 <param name="conversion" type="select" label="Convert">
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
34 <option value="video" selected="true">video to images</option>
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
35 <option value="images">images to video</option>
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
36 </param>
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
37 <when value="video">
9
03581ee71fb9 Uploaded
greg
parents: 8
diff changeset
38 <param name="input" type="data" format="avi,mpg,mp4" label="Select input video"/>
5
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
39 <param name="sbf" type="integer" value="1" label="Number of seconds between frames"/>
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
40 </when>
11
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
41 <when value="images">
12
c5474fdac82e Uploaded
greg
parents: 11
diff changeset
42 <param name="input" type="data_collection" collection_type="list" format="jpg,png" label="Select input images"/>
11
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
43 <param name="frame_rate" type="integer" value="60" label="Number of frames per second"/>
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
44 <param name="quality" type="integer" value="15" label="Image quality" help="Lower means better quality, 15-25 is usually good"/>
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
45 </when>
5
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
46 </conditional>
9
03581ee71fb9 Uploaded
greg
parents: 8
diff changeset
47 <param name="output_process_log" type="select" display="radio" label="Output process log?">
03581ee71fb9 Uploaded
greg
parents: 8
diff changeset
48 <option value="no" selected="true">No</option>
03581ee71fb9 Uploaded
greg
parents: 8
diff changeset
49 <option value="yes">Yes</option>
03581ee71fb9 Uploaded
greg
parents: 8
diff changeset
50 </param>
0
d289676d7bd9 Uploaded
greg
parents:
diff changeset
51 </inputs>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
52 <outputs>
11
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
53 <data name="output_log" format="txt" label="${tool.name} (process log) on ${on_string}">
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
54 <filter>output_process_log == 'yes'</filter>
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
55 </data>
9
03581ee71fb9 Uploaded
greg
parents: 8
diff changeset
56 <collection name="output_from_video" type="list" label="${tool.name} (images) on ${on_string}">
5
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
57 <discover_datasets pattern="__name__" directory="output" format="jpg"/>
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
58 <filter>conversion_cond['conversion'] == 'video'</filter>
0
d289676d7bd9 Uploaded
greg
parents:
diff changeset
59 </collection>
11
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
60 <data name="output_video" format="mp4" label="${tool.name} (video) on ${on_string}">
fec4348c08f5 Uploaded
greg
parents: 10
diff changeset
61 <filter>conversion_cond['conversion'] == 'images'</filter>
9
03581ee71fb9 Uploaded
greg
parents: 8
diff changeset
62 </data>
0
d289676d7bd9 Uploaded
greg
parents:
diff changeset
63 </outputs>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
64 <tests>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
65 <test>
24
0609c266d650 Uploaded
greg
parents: 23
diff changeset
66 <param name="conversion" value="images"/>
0609c266d650 Uploaded
greg
parents: 23
diff changeset
67 <param name="input">
0609c266d650 Uploaded
greg
parents: 23
diff changeset
68 <collection type="list">
25
3b06d705bcdb Uploaded
greg
parents: 24
diff changeset
69 <element name="00001_predictions.jpg" value="00001_predictions.jpg"/>
3b06d705bcdb Uploaded
greg
parents: 24
diff changeset
70 <element name="00002_predictions.jpg" value="00002_predictions.jpg"/>
3b06d705bcdb Uploaded
greg
parents: 24
diff changeset
71 <element name="00003_predictions.jpg" value="00003_predictions.jpg"/>
24
0609c266d650 Uploaded
greg
parents: 23
diff changeset
72 </collection>
0609c266d650 Uploaded
greg
parents: 23
diff changeset
73 </param>
0609c266d650 Uploaded
greg
parents: 23
diff changeset
74 <param name="rame_rate" value="1"/>
0609c266d650 Uploaded
greg
parents: 23
diff changeset
75 <param name="quality" value="15"/>
0609c266d650 Uploaded
greg
parents: 23
diff changeset
76 <param name="output_process_log" value="yes"/>
0609c266d650 Uploaded
greg
parents: 23
diff changeset
77 <output name="output_video" file="output_video.mp4" ftype="mp4" compare="sim_size"/>
0609c266d650 Uploaded
greg
parents: 23
diff changeset
78 <output name="output_log" file="output_log.txt" ftype="txt"/>
0
d289676d7bd9 Uploaded
greg
parents:
diff changeset
79 </test>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
80 </tests>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
81 <help>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
82 **What it does**
d289676d7bd9 Uploaded
greg
parents:
diff changeset
83
5
6c1b7f249352 Uploaded
greg
parents: 4
diff changeset
84 Converts video files to images and image files to video files.
0
d289676d7bd9 Uploaded
greg
parents:
diff changeset
85
d289676d7bd9 Uploaded
greg
parents:
diff changeset
86 -----
d289676d7bd9 Uploaded
greg
parents:
diff changeset
87
d289676d7bd9 Uploaded
greg
parents:
diff changeset
88 **Options**
d289676d7bd9 Uploaded
greg
parents:
diff changeset
89
d289676d7bd9 Uploaded
greg
parents:
diff changeset
90 </help>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
91 <citations>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
92 </citations>
d289676d7bd9 Uploaded
greg
parents:
diff changeset
93 </tool>