přejít na obsah přejít na navigaci

Linux E X P R E S, Přejmenovávejte titulky efektivně

Přejmenovávejte titulky efektivně

avidemux.png

Mnoho přehrávačů videí hledá stejně pojmenované titulky. Zpříjemněte si proceduru jejich přejmenovávání.


Téměř vždy, když si chci přehrát film, ke kterému jsem stáhl titulky, musím je přejmenovat tak, aby měli stejný název jako film. (Případně titulky ručně přiřadit v přehrávači.) Většinou to dělám takhle:

  1. Zvolím Přejmenovat u souboru s filmem.

  2. Protože je označena část bez přípony, zkopíruji ji.

  3. Zruším nebo potvrdím dialog pro přejmenování.

  4. Zvolím Přejmenovat u souboru s titulky.

  5. Protože je označena část bez přípony, vložím zkopírované jméno.

  6. Potvrdím dialog pro přejmenování.

Samozřejmě, celá procedura je o něco rychlejší s pomocí klávesnice

  1. [F2] při zvoleném souboru s videem

  2. [Ctrl+c]

  3. [Enter]

  4. Šipky pro přesun na soubor s titulky, případně klik myší, pokud jsou soubory „daleko od sebe“.

  5. [F2]

  6. [Ctrl+v]

  7. [Enter]

Dnes jsem si ale řekl dost! Vytvořil jsem skript, který vše udělá za mě. Stačí jej přiřadit jako vlastní akci v Thunaru, nebo jiném správci souborů. Poté označíte oba soubory a z kontextové nabídky zvolíte Přejmenovat titulky.

subrnm

#!/bin/bash
# BSDL Miro Hrončok <miro@hroncok_cz>
# subrnm .avi .srt (or vice versa)

if [ $# -ne 2 ]; then
	#echo "USAGE: subrnm .avi .srt (or vice versa)"
	zenity --error --text "Nebyly vybrány dva soubory"
	exit 1
fi

# Which is which
filename=$(basename "$1")
extension=${filename##*.}

# Video first
if [ "$extension" == "avi" ] || [ "$extension" == "mp4" ] || [ "$extension" == "crdownload" ]; then
	#echo "First file is a video"
	subtitles=$(basename "$2")
	extension=${subtitles##*.}
	if [ "$extension" != "srt" ] && [ "$extension" != "sub" ]; then
		#echo "First file is a video. Second file are not subtitles"
		zenity --error --text "První soubor je videem, ale druhý nejsou titulky"
		exit 1
	fi
	filename=${filename%.*}
	dir=$(dirname "$1")
	mv "$2" "$dir/$filename.$extension"
	exit 0
fi

# Subtitles first
if [ "$extension" == "srt" ] || [ "$extension" == "sub" ]; then
	#echo "First file are subtitles"
	video=$(basename "$2")
	videext=${video##*.}
	if [ "$videext" != "avi" ] && [ "$videext" != "mp4" ] && [ "$videext" != "crdownload" ]; then
		#echo "First file are subtitles. Second file in not a video"
		zenity --error --text "První soubor jsou titulky, ale druhý není videem"
		exit 1
	fi
	video=${video%.*}
	dir=$(dirname "$2")
	mv "$1" "$dir/$video.$extension"
	exit 0
fi

#echo "USAGE: subrnm .avi .srt (or vice versa)"
zenity --error --text "První soubor není videem ani to nejsou titulky"
exit 1

Budete potřebovat balíček zenity. Pokud zenity nechcete používat, skript patřičně upravte (jsou v něm i zakomentovaná echa, pokud ho chcete používat raději v terminálu).

Vlastní akce

Vlastní akce Vlastní akce

Podmínky zobrazení Podmínky zobrazení

Nahoru

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Miroslav Hrončok

Miroslav Hrončok

Linux používám od roku 2004, aktivně se o něj zajímám od roku 2007, kdy jsem napsal svůj první článek pro LinuxEXPRES. Od roku 2009 jsem pracoval pro Liberix jako redaktor LinuxEXPRESu, od roku 2011 do konce roku 2012 jako jeho šéfredaktor. Nyní pracuji v Red Hatu, kde rozšiřuji distribuci Fedora o nové balíčky. Zároveň studuji na FIT ČVUT, kde se zabývám 3D tiskem a vyučuji několik předmětů. Spoluorganizuji pražskou konferenci LinuxDays a aktivně se účastním mnoha dalších českých linuxových akcí, jako přednášející nebo jako výpomoc.


  • Distribuce: Fedora
  • Grafické prostředí: Xfce

| blog