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

  1. Poprawiona precyzja czasu trwania wyjściowego pliku podczas łączenia plików.
  2. 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).
  3. 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

  1. Usunięty "test człowieczeństwa".
  2. 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)

  1. Naprawione okno dialogowe ustawiania atrybutów.
  2. Naprawione okno dialogowe ustawiania markerów i skryptów.
  3. Klawisz Enter nie powinien już zamykać aplikacji.
  4. Poprawiona weryfikacja czy nie zapisujemy do jednego z plików wejściowych.
  5. 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)

  1. 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.
  2. 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.
  3. Dodane zostały okienka podpowiedzi (Tooltips) do najważniejszych kontrolek.
  4. Selektor zakresów wyświetla teraz podzakresy z różnych plików używając różnych kolorów.
  5. Można teraz odwrócić selekcję z pomocą jednego tylko przycisku.
  6. Uproszczony został dialog do konfiguracji ustawień zaawansowancych ("Advanced setting").
  7. Dodane zostało logowanie akcji z dostępnymi 3 poziomami szczegółowości.
  8. Można teraz zapisywać i ładować skrypty i markery do i z zewnętrznych plików.
  9. Kiedy z powodu brakujących kodeków precyzyjna edycja nie jest możliwa, w celu ostrzegania graficzna ikonka została dodana.
  10. Okienko podglądu może być automadycznie dociągane do krawędzi głównego okna.

Co nowego w wersji 1.7.14

  1. Usunięty problem, który występował podczas kopiowania plików o rozmiarze powyżej 4GB.
  2. Poprawiony został problem z brakiem kompiowania skryptów i markerów z oryginalnego pliku w przypadku nie podania obszaru czasu do skopiowania.
  3. 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

  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ć.
  2. 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.
  3. Dodany przełącznik -infohdr do wyświetlania pełnej informacji z nagłówka pliku ASF.
  4. Dodany przełącznik -optps do optymalizacji rozmiaru pakietu pod kątem minimalizacji rozmiaru pliku.
  5. 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.
  6. Zniesione ograniczenie rozmiaru rekordu w obiekcie metadata w nagłówkach plików ASF

Co nowego w wersji 1.6.1

  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.
  2. 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.
  3. AsfBin tracił ostatnią ramkę ze strumienia skryptów. Ten błąd został również poprawiony.

Co nowego w wersji 1.6

  1. 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.
  2. Dodana została nowa funkcja (-act) pozwalająca modyfikować czas utworzenia pliku wynikowego zgodnie z czasem oryginalnego pliku i przesunięcia czasowego.
  3. 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.
  4. 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).
  5. Pare innych problemów związanych z wycinaniem i łączeniem segmentów zostało naprawione.
  6. Przeprowadzone zostało tysiące testów aby znaleźć jakiekolwiek istniejące błędy AsfBin'a.

Co nowego w wersji 1.5

  1. 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.
  2. Dodałem nową opcję -cfg związaną ze sprawdzaniem ustawień kodeków w systemie. Domyślnie AsfBin tylko raz sprawdza poprawność ustawień.
  3. Poprawiona jak zwykle, obsługa nieprawidłowych czy uszkodzonych plików.

Co nowego w wersji 1.1

  1. Możliwość zapisywania każdego segmentu do osobnego pliku ASF. Przełącznik -sep.
  2. Inversja selekcji umożliwiająca łatwe wskazanie fragmentów pliku, które mają być usunięte.
  3. Dodawanie markerów i skryptów komend poprzez wyspecyfikowanie plików tekstowych z ich opisem. Przełączniki odpowiednie -m i -k.
  4. Przesuwanie czasowe wybranych potoków (streamów). Informację o numerach potoków można uzyskać stosując wcześniej przełącznik -info.
  5. Możliwość listowania pozycji wszystkich ramek kluczowych. To pozwala dokładnie dobrać czasy startów wybranych zakresów czasowych.
  6. Dokładniejsza kontrola nad typami tworzonych indeksów. Dodałem przełącznik -sionly oraz poprawiłem działanie przełącznika -forceindex.
  7. Nowy przełącznik -ebkf pozwala zakonczyć segment dokładnie przed ramką kluczową.
  8. 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ć.
  9. Popawiona prędkość obsługi niepoprawnych plików ASF.
  10. Przegląd kodów pomógł w znalezieniu wielu błedów. (Aż strach się przyznać).

Co nowego w wersji 1.0.3

  1. Poprawione metody naprawy pakietów z danymi. Uszkodzenia o szerokości od 1 do 3 bajtów mają szansę być naprawione.
  2. Poprawiony algorytm eliminacji uszkodzonych pakietów oraz wyszukiwania i oznaczania uszkodzonych obszarów pliku ASF.
  3. Usunąłem błąd powodujący niezapisywanie skryptów komend do pliku wyjściowego.
  4. Poprawiony buf związany ze złą obsługą danych wypełniających. Przyspieszony parsowanie pakietów.
  5. Inne poprawki zwiększające wydajność czytania pakietów.
  6. Poprawiony odczyt nagłówka pliku ASF oraz uodpornienie na niektóre typy błędów.
  7. AsfBin może już indeksować pliki większe niż 4GB. Chodzi wyłącznie o zaawansowany typ indeksu. Prosty indeks był poprawnie zapisywany.
  8. 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

  1. 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 ;-)
  2. Duże poprawki w kodzie parsującym nagłówek plików ASF.
  3. Przegląd kodów źrodłowych ujawnił parę słabych punktów, w których aplikacja mogłaby sięzawiesić.
  4. 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.
  5. Pliki z pustymi potokami (bez sampli) były przetwarzane bardzo wolno. Przypadek ten został zoptymalizowany.
  6. Usunięty został błąd związany z indeksowaniem plików mających ukryte potoki.
  7. Po usunięciu potoku informacja o wykluczaniu się potoków na podstawie bitrate'u nie była aktualizowana. Błąd został poprawiony.
  8. 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

  1. Poprawki w wyświetlaniu czasu trwania przetwarzanych segmentów. Na szczęście nie miało to wpływu na wynikowy plik.
  2. Poprawka błędu odczytu opisu segmentów z pliku tkestowego.
  3. 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:

  1. Łączenie 2 plików w jeden:
    asfbin -i first.asf -i second.asf -o big.asf
  2. Wycięcie fragmentu z pliku big.asf:
    asfbin -i big.asf -o part.asf -start 10:03.045 -duration 30.01

  3. 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

  4. 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

  5. Aby połączyć wiele plików w jeden można również plik z lista plików:
    asfbin -l files.lst -o bigone.asf

  6. 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

  7. Opóźnienie dźwięku o 350ms:
    asfbin -i input.asf -o output.asf -adelay 0.35

  8. Przyspieszenie potoku numer 4 o 250ms:
    asfbin -i input.asf -o output.asf -sdelay 4 -0.25

  9. 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

  10. 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

  11. 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

  12. Wyświetlenie informacji o precyzyjnej lokalizacji ramek kluczowych dla każdego potoku:
    asfbin -i input.asf -infokf

  13. 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

  14. Wyświetlenie informacji o indeksach w pliku wejściowym i zapisanie logu w pliku some.log:
    asfbin -i input.asf -infoidx -details > some.log

  15. 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

Radioactive Pages presents:  
Get Microsoft Silverlight
Radioactive Software... a small gear in Your Company's engine.
Język Angielski   Angielski
Język Polski   Polski