Я использую Ubuntu 13.10.
Есть ли какой-нибудь видеоплеер, который может показывать два субтитра одновременно во время просмотра?
Спасибо.
Smplayer - это графический интерфейс для знаменитого mplayer , движка для многих игроков. Теперь с Smplayer легко отобразить два субтитра. Просто выберите ваш второй субтитр в качестве Secondary track , и игрок должен автоматически расположить его сверху. Согласно блогу :
Это доступно с SVN r6474 и требует mpv.
Чтобы установить mpv: sudo apt-get install mpv
Если это все еще не работает, попробуйте сбросить файл конфигурации. Согласно Smplayer FAQ :
Самый простой способ найти файлы конфигурации SMPlayer - это выбрать опцию «Открыть папку конфигурации» в меню «Справка». Если вы хотите удалить текущую конфигурацию и начать с настроек по умолчанию, просто удалите файл smplayer.ini (важно: убедитесь, что SMPlayer не запущен при удалении файла).
Вы можете использовать следующий (bash) скрипт, сохранить его как mergeSubtitle.sh, запустить его, набрав в терминале «bash mergeSubtitle.sh».
#!/bin/sh
# mergeSubtitle.sh: Script to merge 2 SRT subtitle into single one
# This is script is freely available under the GNU/GPL license
# Author: Antonymous X
# antonymousx@gmail.com
# 07/19/2015
test "$#" -ne 3 && echo -e "Usage: 2subs \"<LANGUAGE_FILE_1>\" \"<LANGUAGE_FILE_2>\" \"<COMBINED_LANGUAGE_FILE_OUTPUT>\"\nDouble quotes are required in most cases unless the filenames do not contain whitespaces"
test "$#" -ne 3 && exit 1
lang_file1=$1
lang_file2=$2
lang_file3=$3
# Create an empty output file since we'll be appending
touch "$lang_file3"
cp /dev/null "$lang_file3"
# Load srt files into memory and set IFS to '#' to avoid confusion with whitespaces
file1=$(cat "$lang_file1"|sed -r ':a;N;$!ba;s/(,[[:digit:]]{3,3}\n|([[:digit:]]){1,4})\n|([[:alpha:]])\n/\1|/g'|sed -r 's/\|$/#/g')
file2=$(cat "$lang_file2"|sed -r ':a;N;$!ba;s/(,[[:digit:]]{3,3}\n|([[:digit:]]){1,4})\n/\1|/g'|sed -r 's/(.$)/\1\n/g')
IFS='#'
# Split the content. Notice double quoting so it prints newlines
for line in `echo "$file1"`
do
LINE=$(echo $line|awk -F'|' '{print $1}'|sed ':a;N;$!ba;s/\n/ /g'|sed -r 's/[[:cntrl:]]//g'|sed -r 's/[[:space:]]//g')
TIME=$(echo $line|awk -F'|' '{print $2}'|sed ':a;N;$!ba;s/\n/ /g'|sed -r 's/[[:cntrl:]]//g'|sed -r 's/^[[:space:]]+//g')
DIALOG=$(echo $line|cut -d'|' -f3-|sed ':a;N;$!ba;s/\n/ /g'|sed -r 's/[[:cntrl:]]//g'|sed -r 's/^[[:space:]]+//g'|sed -r 's/^[[:space:]]+//g'|sed -r 's/\|/ /g')
DIALOG2=`echo "$file2"|grep "^$LINE|"|sed ':a;N;$!ba;s/\n|\t/ /g'|sed -r 's/[[:cntrl:]]//g'|awk -F'|' '{print $3}'|sed -r 's/^[[:space:]]+//g'`
# Display a basic progress bar
echo -n "#"
# Write to output file
echo -e "$LINE\n$TIME\nl1:$DIALOG\nl2:$DIALOG2\n" >> "$lang_file3"
done
echo #
# Write a funny message
echo Thou have been served
exit 0
Существует инструмент под названием 2srt2ass , который может взять два языка в двух отдельных файлах SRT субтитров и объединить их в один файл SSA / ASS, показывая один язык вверху экрана и один внизу.
Что-то вроде этого, вероятно, является самым чистым решением с точки зрения воспроизведения (вы можете просто использовать плеер, который у вас был бы в любом случае), но начинать, если у вас есть много видео, чтобы сделать это, - это просто недоработка.
Альтернативы, которые делают то же самое: SrtMerger
Также есть скрипт awk
на форумах Ubuntu , который может сделать то же самое.
Вы также можете использовать DualSub для объединения субтитров. DualSub объединяет два субтитра SRT, разделяя доступную ширину экрана на два столбца. Он легко настраивается, и полученный объединенный SRT может использоваться в разных проигрывателях (например, VLC, Windows Media Player и т. Д., Даже на вашем телевизоре).
Наслаждайтесь!
“Соединение HolaHello Sub” Создает подзаголовки соединения из 2 языков. Версия 1.2. Добавленная поддержка видеофайлов (read/creat). https://youtu.be/B-hq-6zCFVc