AsfBin wersja 1.8.3
AsfBin to narzędzie służące do cięcia, łączenia oraz
naprawiania plików formatu Windows Media, do których zaliczamy pliki ASF,
WMV, WMA i inne. Precyzja, prędkość oraz maksymalna jakość były moimi priorytetami
podczas tworzenia AsfBina. Nie wspominam tu o niezawodności, która powinna być
najważniejszym kryterium dla wszystkich twórców oprogramowania.
Cała operacja przeprowadzania jest bezstratnie, tzn. bez dokonywania rekompresji.
Jednak na życzenie użytkownika, podczas precyzyjnego cięcia odtwarzana jest startowa
ramka kluczowa wszystkich potoków wideo. AsfBin wprowadza jak najmniejszą liczbę
zmian do przetwarzanego pliku.
AsfbinWin jest okienkowym odpowiednikiem narzędzia AsfBin, wyposażonym w taki
sam poziom funkcjonalności co Asfbin. AsfbinWin ma przejrzysty i prosty w użyciu
interfejs użytkownika oraz wyposażony jest w bardzo ułatwiającążycie funkcję
podglądu wideo.
W poprzedniej wersji AsfBin'a tworzony był zawsze jeden plik wyjściowy. Od wersji
1.5 wprowadzona została specjalna opcja -sep pozwalająca tworzyć całe serie przyciętych
plików. Inną unikalną cechą AsfBin jest możliwość zastąpienia dowolnej ramki
w potoku wideo ramką kluczową przez co możliwe stało się wycinanie fragmentów
z dokładnością do ułamków sekund (1 ramki). Poza tym AsfBin nie polega na
istniejącym indeksie przez to może naprawiać uszkodzone pliki w całości.
Historia powstania
AsfBin jest następcą narzędzia AsfCut. Stara aplikacja bazowała na Windows Media Format SDK
jeśli chodzi o przetwarzanie plików ASF. Niestety to powodowało liczne ograniczenia funkcjonalności
a jeden z niemożliwych do obejścia błędów tego SDK sprawił, że zdecydowałem się napisać od zera
własną implementacje specyfikacji formatu ASF, jakby własne SKD.
A wszystko zaczęło się tak naprawdę od tego, że jeden z epizodów mojego ulubionego wtedy Anime
był uszkodzony. Próbowałem go naprawić ale niestety nie znalazłem żadnego narzędzia, które
by to potrafiło zrobić. Cóż, pomyślalem, że tym razem dla odmiany pora coś od siebie dać dla Internetu.
Użyłem Microsoft Windows Media Format SDK, który szybko pozwolił mi napisać pierwowzór
Asfbina, Asfcut.
Cechy:
- wycinanie fragmentów z wszystkich plików ASF (*.asf, *.wmv,...),
- precyzyjne łaczenie fragmentów,
- naprawianie uszkodzonych fragmenów (*),
- naprawianie/odbudowa indeksów,
- bezstratne przetwarzanie,
- możliwość tworzenia pętli,
- usuwanie potoków na żądanie,
- dostosowywanie rozmiaru pakietów,
- dostosowywanie czasu buforowania,
- usuwanie skryptów czy markerów,
- dodawane skryptów bądź markerów,
- zapisywanie każdego fragmentu do osobnych plików,
- inwersja selekcji,
- opóźnianie wybranych potoków od podany czas,
- wyświetlanie informacji o ramkach kluczowych,
- kontrola nad typem tworzonych indeksów,
- cięcie z dokładnością do jednej ramki/sampla,
- optymalizacja rozmiaru pakietu,
- debugowanie plików ASF,...
*) Jeśli wszystkie możliwe sposoby użycia AsfBin'a zawiodły,
albo po prostu AsfBin się zawieszał:
proszę wtedy przejść do sekcji
AsfBin Raportowanie Błędów.
Tam można znaleźć najświeższe informacje o aplikacji, listę wykrytych błędów.
Być może taki sam błąd został już opisany. Tam także jest informacja o tym jak można się
ze mną skontaktować, a docelowo przesłac do mnie problematyczny plik w celu przyszłego
usprawnienia aplikacji.
Narzędzia jest dostępne bezpłatnie dla zastosowań niekomercyjnych.
W przypadku zainteresowania użyciem w celach komercyjnych, proszę przejść do sekcji
Licencjonowanie.
Wróć do góry
Co nowego w wersji 1.8.3
- Poprawiona precyzja czasu trwania wyjściowego pliku podczas łączenia plików.
- Dodana obsługa plików textowych UTF-8, które służą do importowania markerów,
skryptów czy atrybutów. Dzięki temu ulepszeniu można dodawać skrypty, markery i atrybuty
w dowolnym języku (np. japońskim czy arabskim).
- AsfBin potrafi teraz naprawiać jeszcze jeden typ uszkodzeń: błedy w obiekcie
metadanych w nagłówku pliku ASF. Błędy te nie pozwalają na odtwarzanie w większości
odtwarzaczy wideo.
Co nowego w wersji 1.8.2
- Usunięty "test człowieczeństwa".
- Poprawiony dość poważny błąd, podczas którego Asfbin'owi kończyła się dostępna pamięć.
Dotyczył przetwarzania plików o rozmiarze ponad 2GB zawierających potok "Script Command".
Co nowego w wersji 1.8.1 (wersja okienkowa)
- Naprawione okno dialogowe ustawiania atrybutów.
- Naprawione okno dialogowe ustawiania markerów i skryptów.
- Klawisz Enter nie powinien już zamykać aplikacji.
- Poprawiona weryfikacja czy nie zapisujemy do jednego z plików wejściowych.
- Poprawione sprawdzanie czy precyzyjne kopiowanie jest możliwe. Ostrzeżenie
powinno pojawiać się teraz jedynie wtedy nie jest możliwe.
Co nowego w wersji 1.8.0 (wersja okienkowa)
-
Wreszcie dodana została funkcja podglądu wideo, która pozwala
precyzyjnie wybrać fragmenty do kopiowania na kilka równych sposobów:
- za pomocą klawiszy (strzałki, Pg Up/Down, Home/End)
- za pomocą myszki
- za pomocą modyfikatorów prędkości (przytrzymaj klawisz Shift i/lub Control aby zmodyfikować powyższe funkcje)
Funkcja ta pozwala również wybrać potok wideo do podglądu
i umożliwia dociąganie czasu dokładnie do czasu prezentacji ramek wideo.
- Wszystkie pola gdzie podaje się ścieżkę do pliku zostały wyposażone w
funkcję AutoComplete co pozwala znacznie szybciej wprowadzić lokacje plików
czy katalogów. Oczywiście wciąż jest klawisz Browse do waszej dyspozycji.
- Dodane zostały okienka podpowiedzi (Tooltips) do najważniejszych kontrolek.
- Selektor zakresów wyświetla teraz podzakresy z różnych plików używając różnych kolorów.
- Można teraz odwrócić selekcję z pomocą jednego tylko przycisku.
- Uproszczony został dialog do konfiguracji ustawień zaawansowancych ("Advanced setting").
- Dodane zostało logowanie akcji z dostępnymi 3 poziomami szczegółowości.
- Można teraz zapisywać i ładować skrypty i markery do i z zewnętrznych plików.
- Kiedy z powodu brakujących kodeków precyzyjna edycja nie jest możliwa, w celu ostrzegania
graficzna ikonka została dodana.
- Okienko podglądu może być automadycznie dociągane do krawędzi głównego okna.
Co nowego w wersji 1.7.14
- Usunięty problem, który występował podczas kopiowania plików o
rozmiarze powyżej 4GB.
- Poprawiony został problem z brakiem kompiowania skryptów i markerów
z oryginalnego pliku w przypadku nie podania obszaru czasu do skopiowania.
- Usunięte zostało ograniczenie maksymalnego odstępu między samplami,
które kiedyœ wynosiło około 65s.
Co nowego w wersji 1.7.1
- Napisany od podstaw algorytm pakowania sampli tak że nawet
pliki muzyczne z wieloma strumieniami audio są pakowane optymalnie.
Ta poprawka naprawia problem z pakowaniem sampli razem ze skryptami
oraz problem ze strumieniowaniem plików przez Windows Media Server,
który mógł sporadycznie się pojawić.
- Dodane rekompresja video z użyciem DMO. Możliwy jest wybór
technologi przez użycie jednego z dwóch nowych przełączników:
-dmo i -vcm. Domyślną jest VCM.
- Dodany przełącznik -infohdr do wyświetlania pełnej informacji
z nagłówka pliku ASF.
- Dodany przełącznik -optps do optymalizacji rozmiaru pakietu
pod kątem minimalizacji rozmiaru pliku.
- Korekcja czasów skryptów i markerów przetrzymywanych w nagówku
pliku ASF po operacji przycinania ze względu na niejednomierne
rozłożenie ramek kluczowych w strumieniach wideo.
- Zniesione ograniczenie rozmiaru rekordu w obiekcie metadata
w nagłówkach plików ASF
Co nowego w wersji 1.6.1
- Całkowity rozmiar pliku przechowywany w nagłówku pliku ASF nie
był poprawnie aktualizowany. To powodowało, że tak powstałe pliki
nie mogły być "seekowane", kiedy były strumieniowane przez
serwer WMS.
- Usunięty błąd, który mógł się ujawnić przy przetwarzaniu plików
ze strumieniem audio i strumieniem ze skryptami. Całkowity zakres
czasowy wszystkich sampli w jednym pakiecie mógł przekroczyć
bariere 65536 ms, co jest wbrew specyfikacji ASF.
- AsfBin tracił ostatnią ramkę ze strumienia skryptów. Ten błąd został
również poprawiony.
Co nowego w wersji 1.6
- Wreszcie po 3 latach udało mi się ustalić przyczynę powstawania
efektu wciąganej taśmy na wszystkich odtwarzaczach Microsoftu
począwszy od wersji 9. Udało mi się pokonać pełen błędów algorytm
korekcji jittera jaki jest stosowany w Windows Miedia Player 9-11!
Stało się to możliwe po zaimplementowaniu dekodowania strumieni
audio, co dało mi możliwość odczytywania prawdziwego czasu
trwania sampli audio. W tej wersji AsfBin został wyposażony w
zaawansowany algorytm optymalizacji połączeń plików owocujący
w gładkich przejściach między plikami bez potrzeby wstawiania
jakichkolwiek przerw.
-
Dodana została nowa funkcja (-act) pozwalająca modyfikować
czas utworzenia pliku wynikowego zgodnie z czasem oryginalnego pliku
i przesunięcia czasowego.
-
AsfBin może już przetwarzać pliki, które są w trakcie nagrywania przez
jakiekolwiek oprogramowanie archiwizujące czy nagrywające.
Inne korekcje zostały dodane, aby możliwe było naprawianie coraz
to większej liczby przypadków uszkodzonych plików.
-
Optymalizacja czasu przetwarzania plików. Czas ten mogłem przeznaczyć
na bardziej dokładne łączenie plików (wymaga to z reguły rekompresji
kilkunastu sampli audio).
- Pare innych problemów związanych z wycinaniem i łączeniem segmentów
zostało naprawione.
- Przeprowadzone zostało tysiące testów aby znaleźć jakiekolwiek istniejące
błędy AsfBin'a.
Co nowego w wersji 1.5
- Nowa jakość w precyzji cięcia plików. Teraz AsfBin może rozpoczynać
kopiowanie od dowolnej pozycji z dokładnością do jednej ramki, bez
względu na położenia ramek kluczowych. Aby włączyć tą funckję należy
użyć przełącznika -rkf. Nie jest włączona domyślnie, ponieważ jeszcze
nie wszystkie formaty kompresji video są wspierane.
- Dodałem nową opcję -cfg związaną ze sprawdzaniem ustawień kodeków
w systemie. Domyślnie AsfBin tylko raz sprawdza poprawność ustawień.
- Poprawiona jak zwykle, obsługa nieprawidłowych czy uszkodzonych plików.
Co nowego w wersji 1.1
- Możliwość zapisywania każdego segmentu do osobnego pliku ASF. Przełącznik -sep.
- Inversja selekcji umożliwiająca łatwe wskazanie fragmentów pliku, które mają być
usunięte.
- Dodawanie markerów i skryptów komend poprzez wyspecyfikowanie plików tekstowych
z ich opisem. Przełączniki odpowiednie -m i -k.
- Przesuwanie czasowe wybranych potoków (streamów). Informację o numerach potoków
można uzyskać stosując wcześniej przełącznik -info.
- Możliwość listowania pozycji wszystkich ramek kluczowych. To pozwala dokładnie
dobrać czasy startów wybranych zakresów czasowych.
- Dokładniejsza kontrola nad typami tworzonych indeksów. Dodałem przełącznik -sionly
oraz poprawiłem działanie przełącznika -forceindex.
- Nowy przełącznik -ebkf pozwala zakonczyć segment dokładnie przed ramką kluczową.
- Duże usprawnienie engine'u parsującego pliki ASF. Okazało się, że wersja 1.0.3
wciąż miała problemy z pewnymi plikami. W tej chwili prawie wszystkie pliki jakie
otrzymałem od użytkowników dało się naprawić z użyciem AsfBin'a. Niektóre
jednak, nawet z pomocą eksperta ciężko byłoby naprawić.
- Popawiona prędkość obsługi niepoprawnych plików ASF.
- Przegląd kodów pomógł w znalezieniu wielu błedów. (Aż strach się przyznać).
Co nowego w wersji 1.0.3
- Poprawione metody naprawy pakietów z danymi. Uszkodzenia o szerokości
od 1 do 3 bajtów mają szansę być naprawione.
- Poprawiony algorytm eliminacji uszkodzonych pakietów oraz wyszukiwania
i oznaczania uszkodzonych obszarów pliku ASF.
- Usunąłem błąd powodujący niezapisywanie skryptów komend do pliku wyjściowego.
- Poprawiony buf związany ze złą obsługą danych wypełniających. Przyspieszony
parsowanie pakietów.
- Inne poprawki zwiększające wydajność czytania pakietów.
- Poprawiony odczyt nagłówka pliku ASF oraz uodpornienie na niektóre typy
błędów.
- AsfBin może już indeksować pliki większe niż 4GB. Chodzi wyłącznie o zaawansowany
typ indeksu. Prosty indeks był poprawnie zapisywany.
- Usunięty błąd krytyczny powodujący zawieszanie AsfBin'a w przypadku łączenia
pliku mającego skrypty bądź markery z plikiem, który ich nie ma.
Co nowego w wersji 1.0.2
- Usunięta niezgodność z systemami 9x i Me. Okazało się, że otwieranie plików
w dla Unicode nie jest dostępne dla tych systemów. No i nie można było
otworzyć niczego nie mówiąc o zapisywaniu czegokolwiek.
To wyraźnie dowodzi, że wersja 1.0.1 nie była "mocno" przetestowana w środowisku
Win9x ;-)
- Duże poprawki w kodzie parsującym nagłówek plików ASF.
- Przegląd kodów źrodłowych ujawnił parę słabych punktów, w których aplikacja
mogłaby sięzawiesić.
- Ograniczenie zapisu jednego sampla audio na pakiet został usunięty.
Ograniczenie to wprowadziłem ponieważ sądziłem, że jego brak powoduje
gubienie dźwięku przez niektóre z odtwarzaczy. To nie była prawda.
- Pliki z pustymi potokami (bez sampli) były przetwarzane bardzo wolno.
Przypadek ten został zoptymalizowany.
- Usunięty został błąd związany z indeksowaniem plików mających ukryte
potoki.
- Po usunięciu potoku informacja o wykluczaniu się potoków na podstawie
bitrate'u nie była aktualizowana. Błąd został poprawiony.
- W bardzo rzadkich przypadkach pakiety były zbudowane niezgodnie
ze specyfikacją ASF. Innym razem w przypadku bardzo dużych rozmiarów
pakietów, liczba payload'ów przekraczała dmopuszczalną liczbę 64.
Błąd został poprawiony.
Co nowego w wersji 1.0.1
- Poprawki w wyświetlaniu czasu trwania przetwarzanych segmentów.
Na szczęście nie miało to wpływu na wynikowy plik.
- Poprawka błędu odczytu opisu segmentów z pliku tkestowego.
- Poprawiony błąd powodujący, że plik wyjściowy był pusty gdy pierwsza
ramka miała czas mniejszy niż długość czasu buforowania (buffer window).
Wróć do góry
UŻYCIE:
asfbin [PLIKI_WEJŚCIOWE] -o <out_file> [PRZEŁĄCZNIKI]
[PLIKI_WEJŚCIOWE] mogą być określone na następujące sposoby:
-i <infile>
|
<infile> jest ścieżką dostępu do pliku źródłowego.
Przełącznik -i może być użyty wielokrotnie, np.:
asfbin -i test01.asf -i test02.asf -i D:\video\append\test03.asf -o joined.asf
|
-l <in_file_list>
|
<in_file_list> jest plikiem tekstowym zawierającym listę plików wejściowych.
Przykładowo:
D:\Video\test01.asf
D:\Video\test02.asf
D:\Video\append\test.asf
Wszystkie pliki muszą mieć ten sam format! W przeciwnym razie
wynik może okazać się całkiem fajnym eksperymentem artystycznym ;)
No i może się coś posypać przy odtwarzaniu takiego pliku.
|
[PRZEŁĄCZNIKI]:
-sep
|
Spowoduje że każdy fragment będzie zapisany do osobnego pliku. W tym
przypadku do nazwy pliku wyjściowego można wstawić znacznik { } czy
{###}, który zostanie zastąpiony numerem kolejnego fragmentu, przy czym
numer zostanie poprzedzony taką liczbą zer, ile znakow spacji lub # występuje
w znaczniku. Gdy takiego pola nie ma, to numer porządkowy fragmentu
będzie wstawiony na koncu nazwy ale przed rozszerzeniem pliku.
W przypadku gdy dodawane są atrybuty, markery bądź skrypty, każdy z
wygenerowanych plików będzie miał je wstawione identycznie.
|
-s <segments_list>
|
<segments_list> jest plikiem zawierającym listę segmentów do wycięcia.
|
-a <attrib_list> (lub -attr)
|
jest z kolei plikiem z atrybutami do ustawienia.
|
-m <marker_list> (lub -markers)
|
<marker_list> jest nazwą pliku z opisem markerów jakie mają być dodane.
Każda linia tego pliku powinna być parą:
<czas> <treść markera>
E.g.
0:00:45 The fourty fifth second.
gdzie <czas> jest podawany w jednym z formatów opisanych poniżej.
|
-k <script_list> (lub -scripts)
|
<script_list> jest nazwą pliku zawierającego listę skryptów, które mają być wstawione do pliku
wyjściowego. Każda linia tego pliku powinna mieć postać:
<czas> <typ> <treść komendy>
Np.:
15 URL www.radioactivepages.com
Dodanie tej linii spowoduje, że na WMP po dojściu do 1 sekundy uruchomi
domyślną przeglądarkę internetową z adresem url ustawionym na http://www.radioactivepages.com.
Oprócz typu "URL" jest jeszcze inny - "FILENAME". Taki typ komendy
spowóduje, że WMP otworzy wyspecyfikowany plik po osiągnięciu podanego
czasu.
<czas> jest podawany w jednym z formatów opisanych poniżej
|
-cfg (lub -config)
|
Wymusza sprawdzenie konfiguracji kodeków w systemie. Domyślnie AsfBin sprawdza konfiguracje
tylko raz dla danego systemu.
|
-start <times>
|
Oznacza początek kopiowanego fragmentu.
|
-dur <times>
|
Określa czas trwania wycinanego segmentu.
Podobnie jak przełącznik -i, również
przełączniki -start i -dur mogą być powtarzane wielokrotnie, każda para
będzie definiować kolejny segment do wycięcia.
|
-stop <times> (lub -end)
|
Wyznacza koniec kopiowanego fragmentu.
|
-invert (lub -invertsel, -invsel)
|
Spoduje, zże odwrotnie niż normalnie, wybrane fragmenty nie będą zapisane
do pliku, inaczej mówiąc, będą po prostu usunięte.
|
-repeat <n>
|
Wynikowy plik zostanie powtórzony <times> razy.
Przykładowo -repeat 1 spowduje że całość będzie powtórzona raz (będzie zduplikowana).
|
-istart
|
Kopiowanie rozpocznie się dokładnie od określonego miejsca,
nawet jeśli nie będzie tam ramki kluczowej (key frame). Nie jest to polecane,
bo może sie to objawiać dużą ilością artefaktów pojawiających się na styku
segmentów. Domyślnie kopiowanie rozpoczynane jest dopiero po napotkaniu kluczowej
ramki. Dlatego domyślnie asfbin z reguły rozpoczyna kopiowanie nieco wcześniej od pożądanego czasu startu.
|
-cvb
|
Początek pliku będzie zawsze skopiowany nawet jeśli nie rozpoczyna
się ramką kluczową. Dotyczy tylko tych początków, które są zawartę w segmentach
do kopiowania.
|
-brkaud (lub -breakaudio, -ba)
|
Połączenia potoków audio będą specjalnie oznaczone. Od wersji 1.6 ta opcja jest wyłączona
domyślnie. Zaleca się użycie tego przełącznika jeśli bedą występować jakieś problemy
audio na połączeniu plików, podczas odtwarzania w Windows Media Playerze.
Nie zaobserwowałem nigdy tych problemów na żadnym inny niż WMP playerze.
|
-brkvid (lub -breakvideo, -bv)
|
Połączenia potoków wideo będą specjalnie oznaczone, co może pomóc w pewnych przypadkach
plików zakodowanych przez nieco różniący się sposób. W takim przypadku bez tej opcji
zaczną pojawiać się artefakty po przekroczeniu punktu łączenia się kolejnych plików.
|
-ebkf
|
Potok zostanie zakończony dokładnie przed następną ramką kluczową.
|
-uniq (lub -unique, -u)
|
Powoduje, że identyfikatory plików wyjściowych są zmieniane dla każdego pliku czyniąc
każdy z nich unikalnym. Może się przydać w przypadku wykorzystwania możliwości tworzenia playlisty
przez Windows Media Player, który zdaje się brać wyłącznie ten identyfiator przy rozróżnianiu plików.
|
-act (lub -aft)
|
Przesuwa datę utworzenia pliku względem pliku oryginalnego o róznicę czasu wzgledem początku kopiowanego
fragmentu.
|
-nots
|
Pozostawia czasy wszystkich pakietów i ramek niezmienione.
|
-rkf (lub -recreatekf)
|
Umożliwia wycinanie fragmentów z dokładnością do pojedynczej ramki. Jest to osiąganie
przez odtwarzanie ramki kluczowej tam gdzie jest to konieczne. Ten tryb nie gwarantuje poprawnych
rezultatów. Dla formatów WMV3, MP42 oraz MP43 raczej nie powinno być problemów ale jeśli chodzi
o pozostałe formaty to jest nikłe prawdopodobieństwo, że format wideo będzie poprawnie obsłużony.
|
-dmo
|
Wymusza stosowanie DMO przy rekompresji sampli wideo (domyślne ustawienie).
|
-vcm
|
Wymusza stosowanie VCM przy rekompresji sampli wideo.
|
-noindex
|
Nie indeksuje pliku wyjściowego.
|
-forceindex
|
Dodatkowy indeks (kompatybilny z WMP9) będzie dodany oprócz standardowego indeksu.
|
-sionly
|
Utworzony zostanie jedynie prosty indeks.
|
-nomarkers
|
Nie kopiuje markerów.
|
-noscripts
|
Nie kopiuje skryptów.
|
-nostr <numbers> (lub -nostream, -excludestr, -exclstr, -removestr)
|
nie kopiuje wybranych potoków. <numbers> jest listą numerów potoków oddzielonych spacją lub przecinkiem.
Aby uzyskać informacje o numerach i właściwościach potoków należy uruchomić asfbin'a z parametrami -info i -details.
|
-q
|
Tryb cichy - asfbin wyświetlni minimalną liczbę komunikatów.
|
-v
|
Domyślny tryb wyświetla komunikatów o procesie kopiowanie.
|
-details
|
Tryb, w którym wyświetlane jest więcej komunikatów niż w trybie verbose.
Wyświetlane są m. in. pozycje ramek kluczowych.
|
-debug
|
Najbardziej szczegółowy tryb wyświetlania komunikatów - tryb diagnostyczny.
|
-y
|
Nadpisuje pliki bez zadawania pytań.
|
-bw <milliseconds>
|
Wymusza początkowe opóźnione odtwarzanie klipu a co za tym idzie
rozmiar wewnętrznego bufora danych. Wybranie zbyt małej wartości może spowodować
problemy z odtwarzaniem pliku wyjściowego.
|
-ps <bytes>
|
Wymusza rozmiar pakietów ASF.
|
-optps <bytes>
|
Oblicza optymalny rozmiar pakietu w celu minimalizacji rozmiaru pliku wyjściowego.
|
-rmgaps
|
Usuwanie luk (nieciągłości czasowe) w pliku. [Ta opcja nie jest jeszcze aktywna]
|
-adelay [-] <time>
|
Opóźna dźwięk o podany czas. Wszystkie potoki audio będą jednakowo
opoźnione. Podana wartość czasu może być ujemna.
|
-sdelay <number> [-] <time>
|
Opóźna podany potok o podany czas. Podana wartość czasu może być ujemna.
|
-info
|
Nie kopiuje plików. Wyświetla jedynie informacje o plikach wejściowych.
|
-infokf
|
Wyświetla dokładne informacje o czasie wystapień ramek kluczowych.
|
-infohdr
|
Wyświetla szczegółowe informacje o nagłówku przetwarzanego pliku ASF.
|
-infoidx
|
Wyświetla szczegółowe informacje o indeksach w plikach wejściowych.
Stosowany z przełącznikiem -details spowoduje wyświetlenie informacji
o ewentualnych nieprawidłowościach w indeksach.
|
-h
|
Wyświetla jak używać tego narzędzia.
|
<time> oznacza czas, który może być podany na wiele sposobów.
AsfBin akceptuje liczbę sekund, format HH:MM:SS.TTT, SS.TTT, MM:SS.TTT
i wiele podobnych, np.:
1:59:45.35 = 1 godzina, 59 minut, 45 sekund, 35 setnych,
3:30 = 3 minuty, 30 sekund,
1023.101 = 1023 sekund i 101 tysiącznych...
Wróć do góry
Przykłady użycia:
- Łączenie 2 plików w jeden:
asfbin -i first.asf -i second.asf -o big.asf
- Wycięcie fragmentu z pliku big.asf:
asfbin -i big.asf -o part.asf -start 10:03.045 -duration 30.01
- Wycięcie z większego pliku fragmentu, który zaczyna się na 5:45 minucie i trwa do końca pliku (czas trwania
nie podany).
asfbin -i big.asf -o endpart.asf -start 5:45
- Wycięcie dwóch fragmentów z pliku big.asf i zapisanie ich w jednym pliku wyjściowym
(smaller.asf). Każdy z fragmentów trwa 2 minuty:
asfbin -i big.asf -o smaller.asf -start 1:15 -dur 2:00 -start
10:15 120
- Aby połączyć wiele plików w jeden można również plik z lista plików:
asfbin -l files.lst -o bigone.asf
- Wycięcie fragmentów z listy plików powstałego przez wirtualne połączenie
wszystkich plików wejściowych.
Fragmenty po połączeniu będą zapisane w pliku parts.asf:
asfbin -l files.lst -o parts.asf -s segments.lst
- Opóźnienie dźwięku o 350ms:
asfbin -i input.asf -o output.asf -adelay 0.35
- Przyspieszenie potoku numer 4 o 250ms:
asfbin -i input.asf -o output.asf -sdelay 4 -0.25
- Połączenie dwóch plików w jeden, z tym że kopiowanie kolejnych plików będzie
rozpoczynać się zawsze od samego początku bez względu na to czy zaczyna
się ramką kluczową czy nie.
asfbin -i first.asf -i second.asf -o big.asf -cvb
- Usunięcie dwóch potoków danych o niższym bitrate, zakładając, że są to potoki
numer 1 i 3:
asfbin -i input.asf -o output.asf -nostr 1,3
- Wycięcie 10 fragmentów z długiego pliku wejściowego i zapisanie ich pod
nazwami: short01.asf, short02.asf itd. Zakładamy, że opis zakresów czasowych
jest w pliku timeranges.txt oraz każdy z plików wyjściowych ma mieć unikalny
identyfikator:
asfbin -i long.asf -l timeranges.txt -sep -o short{00}.asf -unique
- Wyświetlenie informacji o precyzyjnej lokalizacji ramek kluczowych dla każdego
potoku:
asfbin -i input.asf -infokf
- Aby umieścić wybrany obszar (od 10 do 25 sekundy) dwukrotnie w pliku
wyjściowym należy wywołać asfbin'a z następującymi parametrami:
asfbin -i test.asf -o big.asf -start 10 -dur 15 -repeat 1
- Wyświetlenie informacji o indeksach w pliku wejściowym i zapisanie logu w pliku some.log:
asfbin -i input.asf -infoidx -details > some.log
- Aby podzielić plik na mniejsze kawałki, aby móc je łatwiej przesłać mailem lub jakimkolwiek
innym medium, a później móc je połączyć bez żadnych strat wywołaj komendy:
asfbin -i large.wmv -o partA.wmv -y -start 0 -dur 10 -ebkf
asfbin -i large.wmv -o partB.wmv -y -start 10 -dur 10 -ebkf
asfbin -i large.wmv -o partC.wmv -y -start 20 -dur 10 -ebkf
asfbin -i large.wmv -o partD.wmv -y -start 30 -dur 10 -ebkf
Połącz je za pomocą komendy:
asfbin -i partA.wmv -i partB.wmv -i partC.wmv -i partD.wmv -o
large.wmv -y -istart