PDAclub.pl - Forum użytkowników technologii mobilnych
Windows Mobile (Classic, Professional, Standard), Windows Phone 6.x oraz 7/8.x/10 => Pocket PC - ogólnie (WM Classic) => Wątek zaczęty przez: puniek w Wrzesień 06, 2008, 12:48:27
-
Witam!
Mam pytanie odnośnie parametrów z jakimi powinien być kompresowany film tak aby dało się to obejrzeć na PDA. Zwykłe Standardowe divx na moim nowym IPAQ 214 VGA nie dają się odtwarzać bo haczą i nie wiem czy to problem wydajności procka choć procesor jest szybki (624MHz) czy też ograniczeniem jest wysoki bitrate (a jak wiadomo transfer pomiędzy kartą pamięci a urządzeniem w PDA jest ograniczony). Wiem, że wydajność urządzeń z VGA jest mniejsza ale wydajność IPAQ 214 nie odbiega od innych VGA - robiłem benchmark z napisami z wątku w tym forum i uzyskałem wynik na DirectDraw ok.115% (GDI 95%). To GDI mnie trochę martwi.... Z drugiej strony bitrate tego benchmarka samego Wido to 1578kb/s a to chyba jest na granicy wydajności interface-u device-SD.
Stąd pytanie czym kompresować i jakie ustawiać parametry np Bitrate?
Inne rady jak ustawić TCPMP i inne będą też mile widziane :).
Pozdrawiam
-
Użyj pocket DivX i przekonwertuj film do qVGA- różnicy (wizualnie) prawie nie zobaczysz a będzie zajmował mniej miejsca i ładnie śmigał (dodatkowo mniej obciążając procesor=mniejsze zużycie energii) :)
-
Użyj pocket DivX i przekonwertuj film do qVGA- różnicy (wizualnie) prawie nie zobaczysz a będzie zajmował mniej miejsca i ładnie śmigał (dodatkowo mniej obciążając procesor=mniejsze zużycie energii) :)
Program wygląda na fajny ale jak w nim nałożyć napisy? ....Nie widzi ani w formacie txt ani srt....
Pozdrawiam
-
Ja koduje w FFmpeg bezpośrednio z linii komend, nie stosuję nakładek z interfejsem. Szybko i wydajnie koduje praktycznie z wszystkiego na wszystko. Napisy też chyba da się jakoś dołączyć tylko akurat ta funkcjonalność nie była mi nigdy potrzebna więc nie próbowałem.
W kwestii wydajności to karty SD są tak samo szybkie jak pamięć wbudowana, karty CF (nawet teoretycznie szybsze karty wg. parametrów) są jednak wolniejsze ze względu na interfejs jaki jest w Ipaq 214 od interfejsu dla kart SD. Na karcie CF niektóre filmy rwały, te same na SD czy pamięci wewnętrznej śmigają bez rwania.
Filmy kompresuje do 640x480 (lub jak panorama do 640xYYY w zależności jakie tam wypadnie YYY) do formatu H.264 (o dziwo świetnie śmiga na IPAQ 214) a dźwięk do AAC. H.264 daje lepszą jakość i mniejsze pliki niż MPEG-4. Bitrate dla video daję 1500.
Program można pobrać stąd:
http://sourceforge.net/project/showfiles.php?group_id=205275&package_id=248632
Ja stosuję taką komendę:
ffmpeg -i "[NAZWA PLIKU ŹRÓDŁOWEGO]" -f mp4 -vcodec mpeg4 -r 24 -s 640x480 -acodec libfaac -ab 128kb -ar 44100 -ac 2 -b 1500k "[NAZWA PLIKU WYJŚCIOWEGO]"
Można się pobawić też w lepszą kompresję (trochę lepszą jakość i mniejsze pliki), ale to już przy 640x480 na ogół rwie na bardziej dynamicznych scenach Np.
ffmpeg -i "[NAZWA PLIKU ŹRÓDŁOWEGO]" -f mp4 -vcodec libx264 -r 24 -s 640x480 -acodec libfaac -ab 128kb -ar 44100 -ac 2 -b 1500k -bf 3 -b_strategy 1 -trell 2 -subcmp 2 -cmp 2 -coder 1 -flags +loop "[NAZWA PLIKU WYJŚCIOWEGO]"
albo jeszcze bardziej (świetnie się sprawdza na 320x240, ale przy wyższych rozdzielczościach dekodowanie takiego pliku to za dużo dla IPAQa 214).
ffmpeg -i "[NAZWA PLIKU ŹRÓDŁOWEGO]" -acodec libfaac -ab 128k -s 320x240 -vcodec libx264 -b 1500k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me umh -subq 5 -trellis 1 -refs 5 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -bufsize 2M -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 "[NAZWA PLIKU WYJŚCIOWEGO]"
Napisane: Wrzesień 06, 2008, 17:57:14
Użyj pocket DivX i przekonwertuj film do qVGA- różnicy (wizualnie) prawie nie zobaczysz a będzie zajmował mniej miejsca i ładnie śmigał (dodatkowo mniej obciążając procesor=mniejsze zużycie energii) :)
No nie powiedziałbym. Ja tam widzę dużą różnicę w filmach pomiędzy QVGA (320x240) a VGA (640x480). I jednak wole VGA, wygląda sporo lepiej, ale niestety miejsca więcej wymaga. Zresztą to zależy co się koduje, dla jednych materiałów lepiej dać VGA, dla innych spokojnie QVGA wystarczy w zupełności.
-
MartinTP:
Sprawdzałem mojego PDA takim benchmarkiem od Spb i wyszło,że zapis/odczyt w pamięci PDA jest kilkakrotnie szybszy niż najszybsze karty SD.
A na jakim PDA oglądasz i co z napisami?
Pytam się ponieważ jeśli benchmark na TCPMP z bitrate 1500 (dla wideo) z napisami dał mi średni wynik 95% to obawiam się, że u mnie się nie wyrobi...
Kompresuję teraz testowo z bitratem dla video ok.1000.
Na jakim PDA to oglądasz?
PS: Ten PocketDivxEncoder wygląda przyjaźnie ale nijak nie wiem jak wczytać napisy bo po prostu nie widzi mi pliku z napisami o tej samej nazwie z rozszerzeniem txt i srt....
-
IPAQ 214 mam. Benchmarkami wydajnościowymi pamięci nie sprawdzałem. Tylko na CorePlayer puszczałem benchmarka i ten sam filmik z pamięci wewnętrznej, karty SD HC (Sandisk Ultra II), karty CF (Sandisk Extreme III). Mimo że np. Extreme III bije Ultre II na głowę, to akruat w Ipaq była wolniejsza bo jak widać interfejs CF jest wolniejszy od SD.
Filmik z CF miał 143% i odczyt na poziomie 2,34 MBit data rate, a z karty SDHC i pamięci wewnętrznej niemal identycznie 185% i 3,02 Mbit. Stąd moje założenie że wydajność SD i pamięci wewnętrznej jest taka sama.
Kodowałem wg. tych linijek co podałem do 640x480 do H.264 (który jest bardziej wymagający od procesora niż MPEG-4) do 1500k dla wideo i na moim PDA (IPAQ 214) idzie to bez problemu. Pamiętaj żeby odtwarzać to przez Intel XScale a nie przez DirectDraw.
5 dni walczyłem z ffmpeg i różnymi parametrami tak by mieć bardzo wysoką jakość, w miarę małe pliki i żeby nie przycinało tych plików na PDA. Narobiłem przeszło grubo ponad 100 testowych plików z różnymi parametrami kodowania.
Z napisami nie wiem. Nigdy nie potrzebowałem. Oglądam w oryginale.. no chyba że to coś innego niż angielski to wtedy by się przydało, ale zasadniczo nie miałem potrzeby stąd po prostu nie wiem :E
-
IPAQ 214 mam. Benchmarkami wydajnościowymi pamięci nie sprawdzałem. Tylko na CorePlayer puszczałem benchmarka i ten sam filmik z pamięci wewnętrznej, karty SD HC (Sandisk Ultra II), karty CF (Sandisk Extreme III). Mimo że np. Extreme III bije Ultre II na głowę, to akruat w Ipaq była wolniejsza bo jak widać interfejs CF jest wolniejszy od SD.
Filmik z CF miał 143% i odczyt na poziomie 2,34 MBit data rate, a z karty SDHC i pamięci wewnętrznej niemal identycznie 185% i 3,02 Mbit. Stąd moje założenie że wydajność SD i pamięci wewnętrznej jest taka sama.
Kodowałem wg. tych linijek co podałem do 640x480 do H.264 (który jest bardziej wymagający od procesora niż MPEG-4) do 1500k dla wideo i na moim PDA (IPAQ 214) idzie to bez problemu. Pamiętaj żeby odtwarzać to przez Intel XScale a nie przez DirectDraw.
5 dni walczyłem z ffmpeg i różnymi parametrami tak by mieć bardzo wysoką jakość, w miarę małe pliki i żeby nie przycinało tych plików na PDA. Narobiłem przeszło grubo ponad 100 testowych plików z różnymi parametrami kodowania.
Ale w XScale nie ma napisów... no chyba, że doda się do filmu przy konwersji. Co do lkarty to ja mam sdhc taka jak Ty ale Extreme III. Core Player jest bliźniaczy do TCPMP ale może jest między nimi różnica....
Co do XScale to najlepsze wyniki z tym benchmarkiem z wątku na forum to najlepsze wyniki miałem bez napisów (w osobnym pliku) to było coś ok. 130%... chociaż tam było kodowanie do AVI..... już sam nie wiem może ten mój TCPMP 081 jest trafiony ale ta paczka z tego watku: http://pdaclub.pl/forum/index.php?topic=58491.0
Mam pytanko... czy może gdzieś wsytawić mi fragment zakodowany przez Ciebie żeby go sobie przetestował (czy jest to z napisami osobno czy też nakładasz je na video) ?
Update: muszę gdzieś wyjść i będę za jakąś godzinę.
-
Nie wiem, napisami nigdy nie próbowałem więc tutaj za wiele nie pomogę. Co do bitrate to wcale to nie przesądza do końca czy film Tobie pójdzie czy nie. Po moich testach wyszło mi że dużo zależy od tego jak jest zakodowany film - np. jaki wysoki quantizer jest użyty i inne parametry. Tak jak pisałem udało mi się film wg. 2 lub 3 komendy zakodować do mniejszych rozmiarów niż wg. 1-ej komendy, i obraz jest lepszy (mniej lub bardziej) jednak już dekompresja takiego strumienia przy niektórych scenach i 640x480 czy nawet 480x360 to za dużo. Przy 320x240 jest już idealnie.
Jeśli chodzi o te wyniki co podałem, to były one w odniesieniu do moich własnych plików testowych nie tych z Matrixa podanych w wątku te wyniki to niewiele mi dawały - one są przecież tylko do porównania różnych urządzeń między sobą, a ja potrzebowałem testować własne kodowanie i jaką jakość i wydajność przy danych parametrach kompresji da się wycisnąć.
-
Ja na napisy znalazłem taki myk w pocketDivX: otwieram plik .txt z napisami, zmieniam kodowanie na polskawe (wycinam ogonki- zamiast ą jest a etc.), nestępnie zmieniam rozszerzenie pliku na .sub i wtedy załączam. Wszystko śmiga bardzo ładnie :)
MartinTP- a wiesz, że większość filmów w formacie DivX oglądanych na komputery ma rozdzielczość porównywalną z 640x480? :D Zresztą (o ile dobrze pamiętam) w tym programie można także zmienić sam fps filmu....
-
Ja na napisy znalazłem taki myk w pocketDivX: otwieram plik .txt z napisami, zmieniam kodowanie na polskawe (wycinam ogonki- zamiast ą jest a etc.), nestępnie zmieniam rozszerzenie pliku na .sub i wtedy załączam. Wszystko śmiga bardzo ładnie :)
Po co tak kombinować skoro PocketDivXEncoder obsługuje polską czcionkę?? Wystarczy nazwę pliku zmienić z txt na srt lub sub i czcionkę wybrać arial, a później tylko ustawić kodowanie na CP1250 przynajmniej u mnie tak działa (wersja encodera 0.3.96)
-
Po co tak kombinować skoro PocketDivXEncoder obsługuje polską czcionkę?? Wystarczy nazwę pliku zmienić z txt na srt lub sub i czcionkę wybrać arial, a później tylko ustawić kodowanie na CP1250 przynajmniej u mnie tak działa (wersja encodera 0.3.96)
Znaczy muszę tego spróbować :) Dzięki za podpowiedź! :)
-
Ja koduje w FFmpeg bezpośrednio z linii komend, nie stosuję nakładek z interfejsem. Szybko i wydajnie koduje praktycznie z wszystkiego na wszystko. Napisy też chyba da się jakoś dołączyć tylko akurat ta funkcjonalność nie była mi nigdy potrzebna więc nie próbowałem.
W kwestii wydajności to karty SD są tak samo szybkie jak pamięć wbudowana, karty CF (nawet teoretycznie szybsze karty wg. parametrów) są jednak wolniejsze ze względu na interfejs jaki jest w Ipaq 214 od interfejsu dla kart SD. Na karcie CF niektóre filmy rwały, te same na SD czy pamięci wewnętrznej śmigają bez rwania.
Filmy kompresuje do 640x480 (lub jak panorama do 640xYYY w zależności jakie tam wypadnie YYY) do formatu H.264 (o dziwo świetnie śmiga na IPAQ 214) a dźwięk do AAC. H.264 daje lepszą jakość i mniejsze pliki niż MPEG-4. Bitrate dla video daję 1500.
Program można pobrać stąd:
http://sourceforge.net/project/showfiles.php?group_id=205275&package_id=248632
Ja stosuję taką komendę:
ffmpeg -i "[NAZWA PLIKU ŹRÓDŁOWEGO]" -f mp4 -vcodec mpeg4 -r 24 -s 640x480 -acodec libfaac -ab 128kb -ar 44100 -ac 2 -b 1500k "[NAZWA PLIKU WYJŚCIOWEGO]"
Można się pobawić też w lepszą kompresję (trochę lepszą jakość i mniejsze pliki), ale to już przy 640x480 na ogół rwie na bardziej dynamicznych scenach Np.
ffmpeg -i "[NAZWA PLIKU ŹRÓDŁOWEGO]" -f mp4 -vcodec libx264 -r 24 -s 640x480 -acodec libfaac -ab 128kb -ar 44100 -ac 2 -b 1500k -bf 3 -b_strategy 1 -trell 2 -subcmp 2 -cmp 2 -coder 1 -flags +loop "[NAZWA PLIKU WYJŚCIOWEGO]"
albo jeszcze bardziej (świetnie się sprawdza na 320x240, ale przy wyższych rozdzielczościach dekodowanie takiego pliku to za dużo dla IPAQa 214).
ffmpeg -i "[NAZWA PLIKU ŹRÓDŁOWEGO]" -acodec libfaac -ab 128k -s 320x240 -vcodec libx264 -b 1500k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me umh -subq 5 -trellis 1 -refs 5 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -bufsize 2M -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 "[NAZWA PLIKU WYJŚCIOWEGO]"
Napisane: Wrzesień 06, 2008, 17:57:14
Użyj pocket DivX i przekonwertuj film do qVGA- różnicy (wizualnie) prawie nie zobaczysz a będzie zajmował mniej miejsca i ładnie śmigał (dodatkowo mniej obciążając procesor=mniejsze zużycie energii) :)
No nie powiedziałbym. Ja tam widzę dużą różnicę w filmach pomiędzy QVGA (320x240) a VGA (640x480). I jednak wole VGA, wygląda sporo lepiej, ale niestety miejsca więcej wymaga. Zresztą to zależy co się koduje, dla jednych materiałów lepiej dać VGA, dla innych spokojnie QVGA wystarczy w zupełności.
Gdzie wpisywać komendy w tym programie i gdzie wrzucać plik źródłowy?
"[NAZWA PLIKU ŹRÓDŁOWEGO]" to sama nazwa, czy ścieżka?
-
Otwierasz linię komend Windows, przechodzisz do katalogu w którym jest FFmpeg i tam wpisujesz komendę. Plik źródłowy może być samą nazwą pliku (jeśli znajduje się w tym samym katalogu co ffmpeg) lub standardowa pełna ścieżka do pliku.
Więcej szczegółów, wyjaśnienia różnych i dokumetnacje do programu można znaleźć tutaj: http://ffmpeg.mplayerhq.hu/documentation.html
Są też graficzne nakładki na ffmpeg.
-
Z tymi napisami w PocketDivxEncoder to problem polega na tym, że nie widzi ich jeśli plik wsadowy wideo jest w formacie MKV a jeśli jest już w AVI to widzi.. dziwne ale co z tym zrobić?
-
Przekonwertować plik .mkv na .avi? :E
-
Przekonwertować plik .mkv na .avi? :E
Nie rozumiem czy to rada, stwierdzenie czy ironia... :-?
-
Chyba stwierdzenie będące radą ;)
-
To dziwne... teraz kompresując w PocketDivxEncoder udaje mi sie obejrzeć avi z bitratem nawet 2000 (przy dobrze sformatowanej karcie).... :O
Ale i tak mnie to dziwi bo w piątek testowałem SPB Benchmark-iem i wychodził mi transfer plików przy odczycie na poziomie ok. 1,6Mb/s.... czyli te 2000 nie powinno sie udać...... :O