Stránka 1 z 1

mencoder a mp4

Napsal: 18 kvě 2017, 07:46
od Standa99
Mencoder používám (v linuxu) k vytvoření mp4 videa z jpg snímků (viz. můj podpis + přímý odkaz).

Kód: Vybrat vše

mencoder mf://*.jpg -nosound -ovc x264 -x264encopts pass=1:bitrate=500:crf=16:keyint=1 -o video.mp4 -mf type=jpg:fps=10

vložení HTML5

Kód: Vybrat vše

<video width="400" height="300" controls type="video/mp4"><source src="pic2vid/video.mp4">Váš prohlížeč nepodporuje toto video.</video>

Problém je v tom, že ne každý prohlížeč toto video zobrazí + přehraje a nevím, co dělám blbě? Např. Maxthon a Vivaldi ano, ale Chrome a Firefox ne.

Napsal: 18 kvě 2017, 10:22
od MetalGod
Zkusím:

* Video máš v kontejnéru AVI, ale přípona je .mp4
* Vejška 300px není dělitelná osmi (možná proto mi VLC píše rozlišení obrazovky 400×300, ALE rozlišení 400×304)

Napsal: 18 kvě 2017, 11:04
od Standa99
Dík, zkusil jsem příponu avi a je to stejné.
RPi mi dělá snímky v rozlišení 800x600 (to jsem akorát 2x podělil), ale testnul jsem 400x304 a taky to nepomáhá.

Napsal: 18 kvě 2017, 11:12
od MetalGod
Tak zkus jinej kodek, třeba VP8/9, nebo, jestli počkáš, večer, až se vrátím z práce, budu laborovat a určitě se dostaneme k žádoucímu výsledku.

Napsal: 18 kvě 2017, 12:45
od Standa99
To bych mohl zkusit, ale když vezmu, že Vivaldi + Maxthon je postavený na webkitu a Vivaldi dokonce umí používat i doplňky z Chromu, tak je divné, že jeden to přehraje a druhý ne. Asi nebude problém jen na mé straně.

Edit: Tak jsem zkusil ffmpeg

Kód: Vybrat vše

ffmpeg -y -framerate 10 -pattern_type glob -i '*.jpg' -c:v libx264 -pix_fmt yuv420p video.mp4

což už jde přehrát ve Firefoxu i Chromu, tak zůstanu u něj.

Napsal: 18 kvě 2017, 17:30
od Habesan
Pokud algoritmu JPEG předložíte data, které nejsou celistvým násobkem osmi, tak zopakuje poslední řádek tolikrát, aby byla.

Pokud změníte v JPEG (JFIF) souboru v hlavičce počet řádků na nejbližší celiství násobek osmi, tak se vám zobrazí i ty opakované řádky.

Dá se to použít i opačně, ke snížení počtu zobrazovaných řádků.

Napsal: 18 kvě 2017, 20:53
od Standa99
Tak jo, 512*384 už bylo velké, ale 448*336 bude stačit.

Napsal: 19 kvě 2017, 00:11
od MetalGod
Ne, že bych měl něco proti Maďarům, ale FFmpeg mi byl vždycky bližší, hlavně syntakticky.
Čím ten obraz snímáš? Můžeš řídit citlivost a expoziční dobu? Myslím, že je škoda, aby noční obloha byla černočerná, když ve skutečnosti není.

Napsal: 19 kvě 2017, 09:19
od Standa99
Snímám to kamerkou, co se prodávala hned k prvnímu RPi. Je to originál, v tu dobu se kopie ještě nedělaly. Na snímání používám příkaz raspistill (viz. script) a čas mám nyní 2000 ms. Potom to posílám do svého hlavního strojku (kde běží apache2) a tam se vytvoří i zmiňované video.

Kód: Vybrat vše

#!/bin/sh
cd /home/pi/rrd

OPTIONS='-w 800 -h 600 -q 80 -t 2000'
DATE=$(date +"%d.%m.%Y")
HOUR=$(date +"%R")

raspistill -o image.jpg $OPTIONS

convert image.jpg -font /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf \
   -pointsize 20 -fill yellow -annotate +550+580  \
   $DATE \
   -pointsize 20 -fill yellow -annotate +700+580  \
   $HOUR \
   -pointsize 20 -fill red -annotate +370+580 \
   východ \
   -pointsize 20 -fill red -annotate +370+25 \
   západ \
   -pointsize 20 -fill red -annotate +20+307 \
   sever \
   -pointsize 20 -fill red -annotate +750+307 \
   jih \
webcam.jpg

convert webcam.jpg -resize 448x336 webcam_s.jpg

Napsal: 19 kvě 2017, 11:33
od MetalGod
Pokud běží na UVC, můžeš pro ovládání expozice použít příkaz uvcdynctrl.
Jinak, jestli Ti můžu doporučit, dost si můžeš usnadnit práci s programem Motion. Běží jako démon, ovládá se živě přes primitivní webový rozhraní, nebo "mrtvě" obyčejným 🤐 v /atakdále (/etc), umí živej JPEG výstup s nastavitelnou snímkovou frekvencí, rozlišením i kvalitou, tak i ukládat videa (i časosběrný), je tady možnost detekce pohybu (při pohybu se může změnit snímková frekvence, pohyb se může nahrávat do videa), textu přes snímek, má možnost řídit expozici kamery, je lehkej a svižnej, tedy použitelnej i na spermatech typu RPi.

Napsal: 19 kvě 2017, 15:32
od Standa99
Kdysi to byl hec a tak nějak to po cca 3 letech zkostnatělo (kdyby to RPi vytuhlo, tak to asi zruším). Všechny ty scripty na něm trvají asi půl minuty (co 5 min.), takže by zvládlo i něco navíc, možná i to časosběrné video. Co pamatuji, tak jsem kdysi zkoušel i živý náhled a vím, že to nestíhalo, možná 5-7 fps v 640x480, ale pohyb byl hodně rozmazaný. A to mám RPi přetaktované, jenže když je na něm kamera, tak musí být gpu_mem=128 MB a pro systém zbývá už jen zbylá polovina 128 MB.

Napsal: 19 kvě 2017, 17:30
od MetalGod
Systém se dá vždycky optimalizovat, start systému uzpůsobit jen a pouze svejm potřebám, tzn. že se nebude spouštět nežádoucí, taky není od věci rozchodit zRAM swap a zjistit, jestli náhodou nebude rychlejší jak swap normální, trochu pracnější je osekání jádra. Pak si ale těch pár jednotek, možná desítek mega z RAM ušetříš pro svoje potřeby.
Motion je právě dost lehkej na to, aby i na takovým výpočetním šidítku dokázal běžet uspokojivě, skripty jsou na tohle moc těžkopádný. Takovejch 5 snímků za vteřinu by to ovšem mělo umět.
Akorát mezi nevýhody patří ošklivější písmo (bitmapový) a poměrně bohatá konfigurace, kde je potřeba trochu laborovat.