Mercurial > repos > bgruening > ffmpeg_converter
diff ffmpeg_converter.xml @ 0:dda39fc5dc6d draft default tip
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/ffmpeg commit 528a2a0d7dc5d1a872e00dddee8395e463477568
| author | bgruening |
|---|---|
| date | Wed, 17 Dec 2025 18:11:42 +0000 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ffmpeg_converter.xml Wed Dec 17 18:11:42 2025 +0000 @@ -0,0 +1,121 @@ +<tool id="ffmpeg_converter" name="FFmpeg Format Converter" version="0.1.3" profile="24.2"> + <description>Convert between video and audio formats</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,webm,mp3,wav,flac,ogg,m4a" 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="webm">WebM (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> + <option value="m4a">M4A (audio)</option> + </param> + </inputs> + <outputs> + <data name="output_file" format="ogg" 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="webm" format="webm"/> + <when input="output_format" value="mp3" format="mp3"/> + <when input="output_format" value="wav" format="wav"/> + <when input="output_format" value="flac" format="flac"/> + <when input="output_format" value="m4a" format="m4a"/> + </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" ftype="webm"> + <assert_contents> + <has_size value="107485" delta="8000"/> + </assert_contents> + </output> + </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" ftype="flac"> + <assert_contents> + <has_size value="630917" delta="8000"/> + </assert_contents> + </output> + </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" ftype="mp3"> + <assert_contents> + <has_size value="32979" delta="8000" /> + </assert_contents> + </output> + </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" ftype="ogg"> + <assert_contents> + <has_size value="67376" delta="8000" /> + </assert_contents> + </output> + </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" ftype="mkv"> + <assert_contents> + <has_size value="107489" delta="8000"/> + </assert_contents> + </output> + </test> + <test expect_num_outputs="1"> + <param name="input_file" value="SampleVideo_360x240_cut.mp3" ftype="mp3"/> + <param name="output_format" value="m4a"/> + <output name="output_file" ftype="m4a"> + <assert_contents> + <has_size value="33170" delta="8000" /> + </assert_contents> + </output> + </test> + </tests> + <help> + This tool uses FFmpeg to convert between common video and audio file formats. + + Input formats: + - Video: MP4, MOV, AVI, MKV, WebM + - Audio: MP3, WAV, FLAC, AAC, OGG, M4A + + 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> \ No newline at end of file
