GStreamer's gst-launch
может преобразовать видео в webm
из командной строки.
Следующее преобразовало тест mp4
кому: webm
(vp8). Я никогда не использовал его прежде, и у меня нет аудио права опций (никакое аудио), но видео хорошо работает.
Эта информация в основном из сообщения Переполнения стека.. mux
аргумент в том примере вызвал синтаксическую ошибку, таким образом, я попробовал oggmux
как показано в a man gst-launch
пример... Это работало, но без аудио, таким образом, требуется некоторую аудио тонкую настройку опции.
ifile="test.mp4"
gst-launch \
filesrc location="$ifile" ! \
decodebin name=demux ! \
queue ! \
ffmpegcolorspace ! \
vp8enc ! \
webmmux name=mux ! \
filesink location="$ifile".webm demux. ! \
queue ! \
progressreport ! \
audioconvert ! \
audioresample ! \
vorbisenc ! \
oggmux
Я согласовываю с комментарием это dialog
вероятно, где необходимо запустить. Чтобы показать Вам, как Вы могли использовать его, вот, сценарий в качестве примера
#!/bin/bash
#make some temporary files
command_output=$(mktemp)
menu_config=$(mktemp)
menu_output=$(mktemp)
#make sure the temporary files are removed even in case of interruption
trap "rm $command_output;
rm $menu_output;
rm $menu_config;" SIGHUP SIGINT SIGTERM
#replace ls with what you want
ls >$command_output
#build a dialog configuration file
cat $command_output |
awk '{print NR " \"" $0 "\""}' |
tr "\n" " " >$menu_config
#launch the dialog, get the output in the menu_output file
dialog --no-cancel --title "Put you title here" \
--menu "Choose the correct entry" 0 0 0 \
--file $menu_config 2>$menu_output
#revcover the output value
menu_item=$(<$menu_output)
#recover the associated line in the output of the command
entry=$(cat $command_output | sed -n "${menu_item}p" $config_file)
#replace echo with whatever you want to process the chosen entry
echo $entry
#clean the temporary files
[ -f $command_output ] && rm $command_output
[ -f $menu_output ] && rm $menu_output
[ -f $menu_config ] && rm $menu_config
Кроме того, от Вашего вопроса, кажется, что можно также предпочесть консольный файловый менеджер. Там существует многие из них, как полуночный командующий или рейнджер. Если они не достаточно настраиваются для Ваших потребностей, их исходный код мог бы, вероятно, оказаться полезным в дизайне Вашего собственного инструмента.