Вы можете изменить настройки, не выключая аппарат. Просто перейдите к настройкам машины>
Для того, чтобы настройки панели меню вступили в силу, вам нужно выйти из полноэкранного режима, а затем повторно ввести его
Вы можете использовать следующий скрипт, чтобы узнать Total Duration всех видеофайлов в каталоге рекурсивно. Я использовал avprobe в следующем скрипте, который поставляется с libav-tools
Install libav-tools as,
sudo apt-get install libav-tools
Общая длительность всех видеофайлов в Каталог рекурсивно как get_video_duration.sh (скажем). Дайте ему разрешение на выполнение с терминала как
chmod u+x get_video_duration.sh
Как запустить скрипт
Чтобы узнать общую продолжительность видео в каталоге /full/path/to/videodir, запустите с аргументом как
./get_video_duration.sh /full/path/to/videodir
Или узнать, что общая продолжительность видео в текущем каталоге запускается без каких-либо аргументов как
./get_video_duration.sh .
Как запустить скрипт append -R или -r или -recursive или --recursive после пути к каталогу. Например, чтобы узнать общую продолжительность видео в каталоге /full/path/to/videodir рекурсивно (также искать все папки внутри /full/path/to/videodir)
./get_video_duration.sh /full/path/to/videodir -R
Сценарий выглядит следующим образом:
#!/bin/bash
mysep="======================================================================================"
mysmallsep="--------------------------------------------------------------------------------------"
if [ -n "$1" ];then
mypath="$1"
else
mypath="$(pwd)"
fi
declare -a my_path_array
get_duration(){
/usr/bin/avprobe "$1" 2>&1 | grep Duration | awk -F[:,] '{print int($2*3600+$3*60+$4)}'
}
print_duration(){
awk -v var="$1" 'BEGIN {print int(var/3600)"Hr "int((var%3600)/60)"Min "int(var%60)"Sec "}'
}
execute_it_now(){
echo -e "Video File\t\tVideo Duration"
echo $mysep
echo "$1"
echo $mysmallsep
j=0
for i in "$1"/{*.mp4,*.mkv,*.avi,*.flv} ## Put the existing video file extension you have
do
if [[ "$(get_duration "$i")" -ne "0" ]];then
echo -e "$(basename "$i")\t$(tput setaf 2)$(print_duration $(get_duration "$i"))$(tput sgr0)"
fi
let j=j+$(get_duration "$i") 2>/dev/null
done
echo $mysep
echo "Total Duration $(tput setaf 1)$(print_duration $j)$(tput sgr0)"
}
execute_these_now(){
for i in "$1"/{*.mp4,*.mkv,*.avi,*.flv} ## Put the existing video file extension you have
do
if [[ "$(get_duration "$i")" -ne "0" ]];then
echo -e "$(basename "$i")\t$(tput setaf 2)$(print_duration $(get_duration "$i"))$(tput sgr0)"
fi
done
}
add_these_now(){
j=0;
for i in "$1"/{*.mp4,*.mkv,*.avi,*.flv} ## Put the existing video file extension you have
do
let j=j+$(get_duration "$i") 2>/dev/null
done
echo $j
}
case "$2" in
-R|-r|-recursive|--recursive)
tmp=$(find $mypath -type d | xargs)
my_path_array=( $tmp )
echo -e "Video File\t\tVideo Duration"
echo $mysep
k=0;
for indx in $(seq ${#my_path_array[@]})
do
echo ${my_path_array[$(($indx-1))]}
echo $mysmallsep
execute_these_now ${my_path_array[$(($indx-1))]}
let k=k+$(add_these_now ${my_path_array[$(($indx-1))]})
done
echo $mysep
echo "Total Duration $(tput setaf 1)$(print_duration $k)$(tput sgr0)"
;;
*)
execute_it_now $mypath
;;
esac
Сценарий выглядит следующим образом:
Примечание: поскольку у меня нет файлов .mkv или .avi в моем домашнем каталоге последние два линии на снимке экрана появились с длительностью 0Hr 0Min 0Sec