Temat miniaturkowy stałym czytelnikom jest już zapewne aż za bardzo znany
Dzisiaj trochę od innej strony. Interesowałoby was zrobienie czegoś takiego z (praktycznie) dowolnego pliku filmowego?
Tego typu zrzuty ekranu (screenshoty, screeny) najczęściej mają zastosowanie do oceny jakości pliku filmowego. Oczywiście pod warunkiem, że ktoś nie bawi się w jakieś nadmierne skalowanie czy kompresowanie obrazka. W takim przypadku nawet film dobrej jakości wygląda zawsze źle
Jeżeli ktoś jest zainteresowany filmikiem, z którego wykonałem zrzuty powyżej — odsyłam do źródła.
Jak wykonać takie zrzuty klatek z filmu? Użytkownicy systemów Windows mają zadanie (jak zwykle) ułatwione. Instalują sobie Media Player Classic i po otwarciu filmu wybierają menu File -> Save Thumbnails i tyle… Jeżeli komuś mało, to istnieje nawet dedykowany programik do tego typu działań: Image Grabber.
W Linuksie różnego rodzaju skrypty zazwyczaj wykorzystują biblioteki ImageMagick plus ffmpeg. Spośród testowanych przeze mnie najlepiej sprawował się skrypt nazwany Video Contact Sheet *NIX (Karta Konktaktowa Wideo(?))
Jeżeli chodzi o użytkowników dystrybucji „debianopochodnych” (m.in. Ubuntu), to mam dla nich dobrą wiadomość. Autor zrobił paczkę deb skryptu. Wystarczy instalnąć i… używać!
Jak używać? Poniżej szybki kurs:
Podstawowym poleceniem jest wpisanie w terminalu
vcs nazwapliku.coś
Skrypt domyślnie wygeneruje w układzie dwukolumnowym zrzuty ekranu co 5 min. Jak łatwo policzyć, z przeciętnego 100 min. filmu otrzymamy 20 zrzutów, każdy w rozmiarze oryginalnym, w pliku png (wielkość ok. 4 MB).
Autor skryptu zadbał o to, abyśmy mieli możliwość dostosowania do własnych potrzeb. Poniżej podaję najczęściej wykorzystywane parametry:
- –n — ile ma być zrobionych zrzutów klatek z filmu (skrypt ładnie sobie wylicza klatki nawet bardzo krótkiego filmu), np. –n 12
- –i — podajemy czas, co jaki ma być zrobiony zrzut klatki, np. –i 2m30s (podawanie naraz parametrów –n i –i jest bez sensu — sprzeczne argumenty)
- –c — z ilu kolumn ma się składać nasza karta zrzutów (cyferkę należy podawać bez spacji!), np. –c4
- –H — ustalamy w pikselach wysokość poszczególnych klatek (funkcja nie zawsze działa), np. –H 240
- –j — wpisanie tego parametru wymusza stworzenie pliku wynikowego w formacie jpg (trochę skompresowanego, ale za to mniej zajmującego miejsca na dysku).
Wpisanie
vcs –n 15 –H 120 –j wojna_zapalek.flv
stworzy nam następującą kartę zrzutów (nic nie majstrowałem z rozdzielczościami/kompresjami itp.):

Jak widać powyżej, zrobienie zbyt wąskiego obrazka popsuje nam nagłówek.
Upiększanie karty zrzutów
Dodatkowo można użyć parametrów „upiększających” (wg mnie dezinformujących) –ki tworzy na brzegach zrzutów imitacje taśmy filmowej, dodanie –kr obraca klatki, –ko powoduje „najeżdżanie” na siebie klatek (nie zawsze działa).
Kilka hacków ^^
W katalogu, z którego będziemy odpalać vcs tworzymy plik tekstowy vcs.conf. Wpisujemy w nim (niekoniecznie wszystko)
user=Wiertarka
output_format=jpg
pts_tstamps=10
Pierwszy parametr zmienia nam nazwę użytkownika (w stopce) na Wiertarka, drugi wymusza format jpg (nie trzeba wpisywać –j za każdym razem), trzeci zmniejsza wielkość tzw. timestamp (w pikselach), czyli informacji o czasie filmu, z którego wykonano zrzut (można podać 0 i pozostaje tylko mała kropka).
Podobne wpisy:


One comment
Zawsze się zastanawiałem jak ludki robią takie screeny. Fajnie, że to opisałeś bo ostatnio nie chce mi się googlować ^^