Otázka:
Nekomprimovaný videozáznam
Coderaemon
2015-01-30 15:47:24 UTC
view on stackexchange narkive permalink

Picamera ve výchozím nastavení zaznamenává v rozlišení 1920 * 1080 (Full HD) a je to velmi jasné. Všechna videa jsou ale komprimována pomocí kodeku h264 (MPEG-4).

Mohu získat nekomprimovaný videozáznam, protože experiment, který provádím, nemusí fungovat, pokud je videozáznam komprimován. Existuje způsob, jak zachytit surové video bez jakékoli komprese?

Jeden odpovědět:
Dave Jones
2015-02-02 08:29:27 UTC
view on stackexchange narkive permalink

Knihovna Picamera umožňuje nekódované nahrávání videa a pořizování obrázků zadáním formátu jako yuv nebo rgb . Podrobnosti najdete v metodě start_recording.

To znamená, že bych byl velmi překvapen, kdybyste na SD kartu mohli zaznamenat takový stream v rozlišení 1080p. Předpokládejme například, že máte kartu třídy 10 (tj. Kartu schopnou zápisu 10 MB / s). Při rozlišení 1080p (1920x1080 při 30 fps) s formátem RGB (3 bajty na pixel) budete muset přenést:

1920 * 1080 * 3Bpp * 30fps = 177MB / s

I když jdete s YUV, který snižuje velikost pixelu na 1,5 bajtu na pixel, budete stále potřebovat 89 MB / s. Vzhledem k těmto číslům je nepravděpodobné, že byste dokonce dokázali propojit rámce přes LAN. Jediným způsobem, jak se přiblížit 10MB / s, je snížit rozlišení nebo snížit snímkovou frekvenci.

Jinými slovy, bylo by mnohem lepší experimentovat nejprve se streamem H.264, abyste viděli pokud je to dost dobré (vždy se obávám tvrzení, že věci nebudou dost dobré bez skutečných zkušeností, které by je podpořily). Přechod z proudu H.264 na nekódovaný proud je triviální (alespoň na straně pikamery), i když byste se pak museli vypořádat s otázkou šířky pásma ...

Takže dělám: `camera.start_recording ('video.data', 'yuv')` Ale moje kamera se oběsí. Je to kvůli omezení šířky pásma? Jak to mohu vyřešit?
Navrhoval bych použít nižší rozlišení a / nebo snímkovou frekvenci, a pokud je to možné, použijte formát YUV, protože vyžaduje poloviční šířku pásma RGB
Ano, používám velmi minimální rozlišení (64,48), abych zkontroloval, kamera stále nereaguje. Myslím, že bych musel jít pouze s H264. Používám pouze formát „yuv“.
Hmm ... to by mělo fungovat šťastně. Testovací sada pro picamera obsahuje testy pro formáty yuv, rgb a rgba, včetně nahrávání do souborů a streamů, v řadě rozlišení včetně 1080p (i když ne na dlouho - myslím, že 2 sekundy jsou doba, kterou obvykle zaznamenává aby byla doba běhu testovací sady přiměřená). Pokud stále máte problémy, neváhejte otevřít lístek v [repozitáři picamera GitHub] (https://github.com/waveform80/picamera).


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...