Portál AbcLinuxu, 27. dubna 2024 05:45


Dotaz: Vytvoreni videa ze serie obrazku

21.9.2012 20:12 Pat1 | skóre: 15
Vytvoreni videa ze serie obrazku
Přečteno: 311×
Odpovědět | Admin
Ahoj, mam nekolik tisic jedotlivych obrazku a potreboval bych z nich vytvorit video co obrazek to jeden frame. Jedine co se mi zatim povedlo najit je pouziti ffmpeg "ffmpeg -f image2 -i a%05d.png ./a.mpg". Ale vysledny mpg ma dost spatnou kvalitu (bylo by to s h264 lepsi?). Jsem si skoro jisty ze to pujde pomoci VLC, jen se mi nedari zjistit jak. Mate s tim nekdo zkusenosti?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.9.2012 20:18 Kit
Rozbalit Rozbalit vše Re: Vytvoreni videa ze serie obrazku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Video z obrázků dělám programem Avidemux, s kvalitou není problém.
Řešení 1× (Pat1 (tazatel))
the.max avatar 21.9.2012 21:27 the.max | skóre: 46 | blog: Smetiště
Rozbalit Rozbalit vše Re: Vytvoreni videa ze serie obrazku
Odpovědět | | Sbalit | Link | Blokovat | Admin
mozna ti to pomuze...



#!/bin/bash

cesta=/var/www/domena.cz/htdocs/cam
rm -rf $cesta/.script/tmp/*.jpg
cd $cesta/.script/tmp/
i=0
for f in $cesta/jpg_fotka/*.jpg ; do
    ln -s "$f" $(printf "%04d.jpg" $i) ; i=$((i+1))
done
#ffmpeg -f image2 -r 25 -i $cesta/.script/tmp/%04d.jpg  -s 640x480 -y -an -vcodec libx264 -vpre hq -crf 22 -threads 0 $cesta/flash/video.flv > /dev/null > /dev/null
ffmpeg -f image2 -r 25 -i $cesta/.script/tmp/%04d.jpg  -s 640x480 -y -an -vcodec libx264 -vpre medium -crf 22 -threads 0 $cesta/flash/video.flv > /dev/null > /dev/null
rm -rf $cesta/.script/tmp/*.jpg

Uz je to nekolik let co jsem to delal, ale do ted to funguje. Pouzivam to na vytvoreni videa z fotek z web kamery.
KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
22.9.2012 00:09 jadd | skóre: 34 | blog: Greenhorn
Rozbalit Rozbalit vše Re: Vytvoreni videa ze serie obrazku
můzu se jen zeptat, proč z /dev/null do /dev/null?
23.9.2012 14:08 Pat1 | skóre: 15
Rozbalit Rozbalit vše Re: Vytvoreni videa ze serie obrazku
Pokud ten skript spoustis z cronu tak je dobry presmerovat nekam vystupy, protoze pokud to neudelas tak ti to co dostava od spustenyho skriptu posila mailem.
21.9.2012 23:12 jf
Rozbalit Rozbalit vše Re: Vytvoreni videa ze serie obrazku
Odpovědět | | Sbalit | Link | Blokovat | Admin
umi to i openshot
22.9.2012 11:16 Pat1 | skóre: 15
Rozbalit Rozbalit vše Re: Vytvoreni videa ze serie obrazku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zapomnel sem dodat ze to potrebuji spoustet z command line (jde to u avidemux?). ffmpeg vypada nadejne jen mi nadava "Unknown encoder 'libx264'" a v Debianu jsem pro to balicek nenasel, takze predpokladam ze se nevyhnu instalaci ze zdrojaku (ach jo)
23.9.2012 14:04 Pat1 | skóre: 15
Rozbalit Rozbalit vše Re: Vytvoreni videa ze serie obrazku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Příloha:
Diky ffmpeg dela to co potrebuji. Nakonec nebylo nutne nic kompilovat a stacilo pouzit repositar deb-multimedia.org . Parametr -vpre jsem musel nahradit -preset a funguje to. Cely prikaz ted vypada takhle: "ffmpeg -f image2 -r 25 -i ./a%05d.png -s 500x500 -y -an -x264opts bitrate=2000:vbv-maxrate=400:vbv-bufsize=166 -vcodec libx264 -preset veryslow -threads 0 ./veryslowbr400.avi > /dev/null > /dev/null".

Problem je ze vysledek vypada dost spatne. Pravdepodobne je to zpusobeno charakterem obrazku. Pozadi je vicemene sum a na nem se pohybuji ostre kolecka. Vysledek je ze z pohybujicich se kolecek se stanou rozmazane pohybujici se bloky, ty se postupne zaostruji a po chvily se zmeni zpet na osklivy blok (predpokladam ze to nejak souvisi s tim kdy se obevi novy klicovy snimek). Jsou nejake nastaveni kterymi by se tomu dalo pomoct? Nebo existuje nejaky kodek vhodnejsi pro tyto ucely? (o kompresi videa bohuzel nevim vubec nic)

Ukazka jednoho snimku je v priloze.
elenril avatar 23.9.2012 16:33 elenril | skóre: 21 | blog: Raziel
Rozbalit Rozbalit vše Re: Vytvoreni videa ze serie obrazku
ffmpeg -f image2 -r 25 -i ./a%05d.png -s 500x500 -y -an -x264opts bitrate=2000:vbv-maxrate=400:vbv-bufsize=166 -vcodec libx264 -preset veryslow -threads 0 ./veryslowbr400.avi > /dev/null > /dev/null
Pokud o kompresi videa nic nevíš, tak nepoužívej obskurní volby kterým nerozumíš.

-x264opts bitrate=2000:vbv-maxrate=400:vbv-bufsize=166 jsi předpokládám opsal z nějakého blogu, fora nebo jiného doupěte ignorance které ji rádo šíří.

Věz, že pokud tomu nerozumíš a nechceš rozumět, tak používej s x264 pouze volby -preset (nastavuje velikost výsledného souboru vs. rychlost kodování) a -crf (nastavuje kvalitu). Pokud máš nějaký velmi dobrý důvod chtít daný bitrate místo dané kvality, tak místo -crf použij -b:v (ale to v drtivé většině případů nechceš).

Jinak ta verze ffmpegu co je v debianu testing a unstable by měla umět libx264. debian-multimedia bych se vyhnul obloukem, ten repozitář je hodně pochybný.
23.9.2012 21:24 Pat1 | skóre: 15
Rozbalit Rozbalit vše Re: Vytvoreni videa ze serie obrazku
Obskurni volby jsem zacal pouzivat az kdyz to v zakladu moc pekne nefungovalo (ale je pravda ze moc nepomohly). Pouzit unstable repozitar me popravde nenapadlo, pokud to verze v nem umi tak to bude urcite lepsi. Verze ve stable bohuzel libx264 neumi.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.