Sub2smi
Материал из Gentoo Linux Wiki
- Вернуться в раздел советов
Существует несколько способов конвертации файлов субтитров srt->smi
[править] mplayer
1. Используя mplayer делаетеся следующей командой:
mplayer "filename.avi" -sub filename.srt -dumpsami
после этого должен появиться файл dumpsub.smi
[править] Subtitles
2. Используя утилиту Subtitles
wget http://karasik.eu.org/software/Subtitles.tar.gz tar -xpf Subtitles.tar.gz cd Subtitles-0.08 perl Makefile.PL make su make install
теперь команда:
subs -c smi filename.srt -o filename.smi
[править] Бонус
И бонус - скрипт, который конвертирует группу файлов в директории:
| Файл: srt2smi.sh |
#!/bin/sh
RED="\E[033;31m"
GREEN="\E[033;32m"
YELLOW="\E[033;33m"
BLUE="\E[033;34m"
PINK="\E[033;35m"
CYAN="\E[033;36m"
WHITE="\E[033;37m"
NC="\E[033;0m"
CL1=${PINK}
CL2=${YELLOW}
CL3=${RED}
cecho()
{
echo -e "${*}${NC}"
}
clear
if [ -z "$1" ]; then
cecho "${CL1}Usage:${CL2} $0 [folder/file]"
exit 0
fi
if [ -d "$1" ]; then
cecho "${CL3}Work in dir: ${CL1}$1"
LIST=(`ls -1 "$1/" | grep ".srt"`)
COUNT=${#LIST[@]}
if [ $COUNT -eq 0 ]; then
cecho " ${CL2}Subtitles not found in folder"
exit 0
fi
let "COUNT=$COUNT-1"
SEQ=`seq 0 ${COUNT}`
for i in $SEQ
do
FILENAME=`basename "${LIST[$i]}"`
FULLNAME=`echo "$1/${FILENAME}"`
cecho "${CL3}Process file: ${CL1}${FILENAME}"
DIRNAME=$1
NEWNAME=`echo "${FILENAME}" | awk -F. '{print $1}'`
NEWNAME=`echo "${NEWNAME}.smi"`
cecho " ${CL2}New filename: ${CL1}${NEWNAME}"
NEWNAME=`echo "${DIRNAME}/${NEWNAME}"`
subs -c smi "$FULLNAME" -o "$NEWNAME"
done
elif [ -a "$1" ]; then
FILENAME=`basename "$1"`
cecho "${CL3}Process file: ${CL1}${FILENAME}"
DIRNAME=`dirname "$1"`
NEWNAME=`echo ${FILENAME} | awk -F. '{print $1}'`
NEWNAME=`echo ${NEWNAME}.smi`
cecho " ${CL2}New filename: ${CL1}${NEWNAME}"
NEWNAME=`echo ${DIRNAME}/${NEWNAME}`
subs -c smi "$1" -o "$NEWNAME"
else
cecho "$1 - not file or dir"
exit 0
fi
cecho "${CL3}done"
|
--Indie 09:25, 8 апреля 2006 (GMT)
