PS A300 a 640x480 180 sek - czy większa karta CF pomoże?
Wrzuciłem firmware odblokowujące długość nagrywania wideo 640x480 do 180 sekund. Karta CF 128MB Kingston. Chodzi o to że niby hack działa ale nie zawsze. Przeprowadziłem test z nagrywania wideo 640x480 15fps w różnych warunkach na karcie CF 128MB (sformatowana mieści 121MB). Po każdym nagraniu pliku został skopiowany do komputera i usunięty w aparacie:
plik 001 3 minuty 121 MB 9247 kb/s cała karta idealnie, nieco duża jasność, chodzenie po pokoju
plik 002 3 minuty 114 MB 7942 kb/s obraz w większości statyczny, dobrze doświetlony
plik 003 2.50 minuty 121 MB 6022 kb/s - pojawił się Memory card full, obraz statyczny nieco ciemniejszy od pliku 002 i chyba różni się tym od 002 że ostrość jest na pierwszy plan bardziej a w pliku 002 była ogólna
plik 004 3 minuty 34,2 MB 1629 kb/s nagrany obraz statyczny - biała kartka papieru nagrana z odległości ok 10 cm
plik 005 3 minuty 47,9 MB 3241 kb/s obraz statyczny bardzo jasny że widać praktycznie tylko biel
plik 006 3 minuty 26,9 MB 1383 kb/s obraz statyczny całkowicie czarny zasłonięty obiektyw przy samej obudowie
plik 007 1.31 minuty 66,1 MB 6192 kb/s obraz w większości statyczny, nie jednakowo doświetlony i brak 3 minut
plik 008 3 minuty 45 MB 7754 kb/s obraz ruchomy, chodzenie po pokoju - słabo doświetlony obraz wieczorem
plik 009 2,38 minuty 107 MB 5771 kb/s obraz statyczny, niejednakowo doświetlony i brak 3 minut
Na 9 prób tylko 2 nieudane. Przy próbie 3 okazało się że zabrakło po prostu miejsca na karcie co oznacza że obraz nie mógł być mocno skompresowany.
Urwane pliki 007 i 009 charakteryzują się:
- niejednolite doświetlenie
- statyczne
- mało światła - nagrywane pod wieczór gdy w pokoju już nieco szaro
- obraz bardziej zaszumiony niż w innych plikach przez co mniej wyraźny
Wygląda na to że kodekowi MJPEG gorzej wychodzi kodowanie przy słabym oświetleniu obrazu statycznego i zajmuje więcej czasu kompresja przez co bufor się przepełnia bo aparat nie nadąża z zapisem klatek na kartę CF w stosunku do klatek przechwytywanych które nie mogą zostać już przechwycone z powodu pełnego bufora.
Materiał niekompresowany jest zapisywany przede wszystkim w formacie RGB24. W tym przypadku każdy pojedynczy piksel obrazu zajmuje 3 bajty (po 8 bitów) na każdą składową koloru (w sumie 24 bity). W A300 jedna klatka 640x480 potrzebuje na przechwycenie 640x480x3 = 921600 B = 900 KB więc 15fps x 900 = 13500 KB = 13,2 MB/s
Z tym buforem to wyczytałem na forum pewnym, że to może być właśnie bufor. Z testów wynika że przy nagrywaniu odpowiednich obrazów można nagrać pełne 180 sekund przy 640x480. Z początku myślałem że hack nie działa jak trzeba i dosłownie aparat losowo sobie nagrywa jak chce, ale po przeczytaniu artykułu http://www.optyczne.pl/54.1-artyku%C...B%C4%87_I.html doszedłem do wniosku, że jednak faktycznie może tak być że przy przechwytywaniu w 640x480 15fps, kompresji MJPEG i zapisie na karcie CF (opróżnianie bufora) aparat (jego firmware) nie wyrabia i widocznie 30 sekund to jest wartość sprawdzona przez Canona przy której bufor ma jeszcze spory zapas miejsca nie wiem może 50%. Nie wiem ile buforu ma PowerShot A300 ale widocznie za mało aby nagrać wideo 640x480 15 fps dłuższe niż 30 sekund absolutnie w każdych warunkach oświetleniowych.
Z początku myślałem że to wina akumulatorków ale to samo dzieje się na świeżo naładowanych, miałem już nawet kupić zasilacz do Canona ale 200 zł kosztuje i na razie dam spokój. Zastanawia mnie czy kupienie karty CF np. 2GB coś pomoże w tej sytuacji skoro wielkość pliku AVI zależy w dużym stopniu od tego co filmujemy i w jakich warunkach oświetleniowych. Z moich testów wynika że na CF 128MB powinien zmieścić się co najmniej 1 plik AVI 640x480 3-minutowy, a jeśli się nie mieści to aparat powinien wyświetlić komunikat Memory Card Full (raz właśnie tak było) ale nie przerywać nagrywanie kiedy mu się podoba.