-
Notifications
You must be signed in to change notification settings - Fork 263
Expand file tree
/
Copy pathffmpeg_converter.xml
More file actions
88 lines (86 loc) · 3.96 KB
/
ffmpeg_converter.xml
File metadata and controls
88 lines (86 loc) · 3.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<tool id="ffmpeg_converter" name="FFmpeg Format Converter" version="0.1.0" profile="21.09">
<description>Convert between video and audio formats using FFmpeg</description>
<requirements>
<requirement type="package" version="7.1.1">ffmpeg</requirement>
</requirements>
<command detect_errors="exit_code">
<![CDATA[
ffmpeg -i '$input_file' output.${output_format} &&
mv output.${output_format} '$output_file'
]]>
</command>
<inputs>
<param name="input_file" type="data" format="mp4,mov,avi,mkv,mp3,wav,flac,ogg" label="Input media file"/>
<param name="output_format" type="select" label="Output format">
<option value="mp4">MP4 (video)</option>
<option value="mkv">MKV (video)</option>
<option value="avi">AVI (video)</option>
<option value="mov">MOV (video)</option>
<option value="mp3">MP3 (audio)</option>
<option value="wav">WAV (audio)</option>
<option value="flac">FLAC (audio)</option>
<option value="ogg">OGG (audio)</option>
</param>
</inputs>
<outputs>
<data name="output_file" format="ogg" from_work_dir="output.@output_format@" label="Converted file (${output_format})">
<change_format>
<when input="output_format" value="mp4" format="mp4"/>
<when input="output_format" value="mkv" format="mkv"/>
<when input="output_format" value="avi" format="avi"/>
<when input="output_format" value="mov" format="mov"/>
<when input="output_format" value="mp3" format="mp3"/>
<when input="output_format" value="wav" format="wav"/>
<when input="output_format" value="flac" format="flac"/>
</change_format>
</data>
</outputs>
<tests>
<test expect_num_outputs="1">
<param name="input_file" value="SampleVideo_360x240_cut.mp4" ftype="mp4"/>
<param name="output_format" value="webm"/>
<output name="output_file" file="SampleVideo_360x240_cut.webm" ftype="webm"/>
</test>
<test expect_num_outputs="1">
<param name="input_file" value="SampleVideo_360x240_cut.mp4" ftype="mp4"/>
<param name="output_format" value="flac"/>
<output name="output_file" file="SampleVideo_360x240_cut.flac" ftype="flac"/>
</test>
<test expect_num_outputs="1">
<param name="input_file" value="SampleVideo_360x240_cut.mp4" ftype="mp4"/>
<param name="output_format" value="mp3"/>
<output name="output_file" file="SampleVideo_360x240_cut.mp3" ftype="mp3"/>
</test>
<test expect_num_outputs="1">
<param name="input_file" value="SampleVideo_360x240_cut.flac" ftype="flac"/>
<param name="output_format" value="ogg"/>
<output name="output_file" file="flac_to_ogg.ogg" ftype="ogg"/>
</test>
<test expect_num_outputs="1">
<param name="input_file" value="SampleVideo_360x240_cut.mp4" ftype="mp4"/>
<param name="output_format" value="mkv"/>
<output name="output_file" file="SampleVideo_360x240_cut.webm" ftype="mkv"/>
</test>
</tests>
<help>
This tool uses FFmpeg to convert between common video and audio file formats.
Input formats:
- Video: MP4, MOV, AVI, MKV
- Audio: MP3, WAV, FLAC, AAC, OGG
Select the output format you want, and FFmpeg will handle the conversion.
</help>
<citations>
<citation type="bibtex">
@article{tomar2006converting,
title={Converting video formats with FFmpeg},
author={Tomar, Suramya},
journal={Linux Journal},
volume={2006},
number={146},
pages={10},
year={2006},
publisher={Belltown Media}
}
</citation>
</citations>
</tool>