Skocz do zawartości
sammael

Dla konsolowców - txt2srt.sh

Rekomendowane odpowiedzi

Napisałem prosty skrypcik w bashu (wygodny dla nieklikatych) i postanowiłem się podzielić. :)

Skrypt korzysta z mplayera i skryptu [font="Courier New"]napi.py[/font] ([font="Courier New"][url="http://hacking.apcoh.com/2008/01/napi_06.html"]http://hacking.apcoh.com/2008/01/napi_06.html[/url][/font]). Konwertuje on napisy w dowolnym formacie czytanym przez mplayera (w tym oczywiście .txt) do .srt. Jako, że skrypt pisałem na potrzeby własne, działa on poprawnie tylko dla napisów zakodowanych w cp1250 (oczywiście napisy np. angielskie, bez "ogonków" też będą działać).

Skrypt przyjmuje od jednego do trzech parametrów:

[font="Courier New"]Usage: txt2srt.sh movie [ subfile ] [ subfps ][/font]

Pierwszy (obowiązkowy) parametr to ścieżka do pliku z filmem, drugi (opcjonalny) to ścieżka do pliku z napisami, które chcemy przekonwertować (gdy nie podamy, napisy ściągane są przy użyciu [font="Courier New"]napi.py[/font]), trzeci (także opcjonalny) deklaruje fps podanych napisów (przydatne, gdy napisy są do kopii filmu o innym fps, niż napisy).

Skrypt można ściągnąć stąd: [font="Courier New"][url="http://kowalczuk.eu/other/txt2srt.sh"]http://kowalczuk.eu/other/txt2srt.sh[/url][/font]

Przykładowe użycie:
[font="Courier New"]$ txt2srt.sh film_z_wakacji.mkv film_z_wakacji.txt 23.976[/font]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Dobra robota, ale dużo łatwiej i szybciej subeditem. Plik - otwórz plik z napisami - export - subripp (srt) - wpisujemy wartość fps i po ptokach.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
No widzisz, a mi jest szybciej tym skryptem. Głównie dlatego, że nie muszę włączać Windowsa. :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
a ja polecam pythonowego
[url="http://subconv.sourceforge.net/"]http://subconv.sourceforge.net/[/url]

i dla windowsa dwa cmd

conv.cmd
set PATH=%ProgramFiles%\python\;%PATH%
"%ProgramFiles%\python\python.exe" c:\windows\bin\subconv.py -i %1 -o %1b -w subrip
ren %1b *.srt
rem del %1


i conv25.cmd
set PATH=%ProgramFiles%\python\;%PATH%
"%ProgramFiles%\python\python.exe" c:\windows\bin\subconv.py -i %1 -o %1b -w subrip -f 25
ren %1b *.srt
rem del %1


pierwszy konwertuje dla framerate 23.996, drugi dla 25fps

użycie conv.cmd nazwa_pliku.txt

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

[quote name='Meteo' post='109578' date='11.07.2008, 11:23 ']a ja polecam pythonowego
[url="http://subconv.sourceforge.net/"]http://subconv.sourceforge.net/[/url][/quote]

A czy ten skrypt automatycznie ściągnie Ci odpowiednie napisy? :angry: Ale fakt, że może się przydać do konwersji zamiast odpalania kobylastego mplayera. Dzięki. :]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
[quote name='sammael' post='104202' date='27.05.2008, 19:36 ']Skrypt można ściągnąć stąd: [font="Courier New"][url="http://kowalczuk.eu/other/txt2srt.sh"]http://kowalczuk.eu/other/txt2srt.sh[/url][/font][/quote]

Czy można prosić o aktualny link do skryptu? Niestety podany nie działa.

Z góry dziękuję,

k0liber.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
[quote name='k0liber' post='119922' date='23.09.2008, 12:23 ']Czy można prosić o aktualny link do skryptu? Niestety podany nie działa.

Z góry dziękuję,

k0liber.[/quote]


Podam kod tego skryptu, aby wszyscy już mieli bez ściągania (znalazłem w moich szpargałach):

[codebox]#!/bin/bash

# Copyright 2008 by Michal Kowalczuk <michal@kowalczuk.eu>
# licensed under WTFPL (http://sam.zoy.org/wtfpl/)
# version 0.1

MPLAYER=/usr/bin/mplayer
NAPIPY=$HOME/bin/napi.py

if [ $# -lt 1 ]; then
echo "Usage: $0 movie [ subfile ] [ subfps ]"
exit 1
fi

MOVIE="$1"
BASE="`echo "$MOVIE" | rev | cut -d . -f 2- | rev`"
SRT="$BASE.srt"

if [ -n "$3" ]; then
SUBFPS="-subfps $3"
fi

if [ ! -f "$MOVIE" ]; then
echo "nie ma filma - nie ma srt-a"
fi

if [ $# -lt 2 ]; then
SUB="$BASE.txt"
$NAPIPY "$MOVIE"
else
SUB="$2"
fi

if [ ! -f "$SUB" ]; then
echo "nie ma napisa - nie ma srt-a"
exit 1
fi

SUB_UTF8=`mktemp`

iconv -f cp1250 -t utf8 < "$SUB" > "$SUB_UTF8"
echo q | $MPLAYER -sub "$SUB_UTF8" $SUBFPS -subcp utf8 -dumpsrtsub "$MOVIE" 2>&1

cp -pf dumpsub.srt utf8_"$SRT"
iconv -f utf8 -t cp1250 < dumpsub.srt > "$SRT"
rm -f "$SUB_UTF8" dumpsub.srt
[/codebox] Edytowane przez Plesken

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
[quote name='k0liber' post='119922' date='23.09.2008, 13:23 ']Czy można prosić o aktualny link do skryptu? Niestety podany nie działa.[/quote]
Małe zawirowania z hostingiem... Link już powinien działać.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

[quote name='sammael' post='104202' date='27.05.2008, 19:36 ']Napisałem prosty skrypcik w bashu (wygodny dla nieklikatych) i postanowiłem się podzielić. :)

Skrypt korzysta z mplayera i skryptu [font="Courier New"]napi.py[/font] ([font="Courier New"][url="http://hacking.apcoh.com/2008/01/napi_06.html"]http://hacking.apcoh.com/2008/01/napi_06.html[/url][/font]). Konwertuje on napisy w dowolnym formacie czytanym przez mplayera (w tym oczywiście .txt) do .srt. Jako, że skrypt pisałem na potrzeby własne, działa on poprawnie tylko dla napisów zakodowanych w cp1250 (oczywiście napisy np. angielskie, bez "ogonków" też będą działać).

Skrypt przyjmuje od jednego do trzech parametrów:

[font="Courier New"]Usage: txt2srt.sh movie [ subfile ] [ subfps ][/font]

Pierwszy (obowiązkowy) parametr to ścieżka do pliku z filmem, drugi (opcjonalny) to ścieżka do pliku z napisami, które chcemy przekonwertować (gdy nie podamy, napisy ściągane są przy użyciu [font="Courier New"]napi.py[/font]), trzeci (także opcjonalny) deklaruje fps podanych napisów (przydatne, gdy napisy są do kopii filmu o innym fps, niż napisy).

Skrypt można ściągnąć stąd: [font="Courier New"][url="http://kowalczuk.eu/other/txt2srt.sh"]http://kowalczuk.eu/other/txt2srt.sh[/url][/font]

Przykładowe użycie:
[font="Courier New"]$ txt2srt.sh film_z_wakacji.mkv film_z_wakacji.txt 23.976[/font][/quote]


Czesc zainteresowałem sie twoim projektem i troche go rozwinełem jednak to pełnej automatyzacji potrzebuje jakis lekki program pod linuxa który nie wymaga kompilacji setek bibliotek aby wyciągnął informacje o FPS z pliku video ...

Puki co udało sie zrobic tyle:
- można ściągać napisy używając napi-projekt (odbywa się to automatycznie)
- z strony napisy.info, napisy24.pl (odbywa się to automatycznie, jedynie z wyświetlonej listy trafień trzeba wybrać już samodzielnie)
- dokonywać konwersji z popularnych formatów txt do SRT (usługa będzie działać w tle po uruchomieniu filmu, jak uda się wyciągać FPS)

Wszystko jest mniej lub więcej podmontowane pod menu...

Jakbys znalazł jakis lekki program i podesłał mi info byłbym bardzo wdzięczny pozdrawiam...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...