Sziasztok!
Át szeretnék kódolni mencoder-rel olyan videót amit xperia telefon készített. A következővel próbálkoztam:
encoder MOV_0226.mp4 -oac lavc -vf scale=1280:720 -ovc lavc -lavcopts vcodec=msmpeg4v2 -o test.avi
Többféle codec-et is próbáltam, de mindig ugyan az a probléma. A kimeneti állományban a kezdő kép látszódik. A kimeneti file gyanúsan kicsi. Ha beírok bitrate-eket akkor nagyobb lesz, de akkor sincs benne semmi csak a kezdőkép.
A fenti parancs futtatása után a következő "gyanús" dolgokat írja ki (többek között):
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x803a77010] multiple edit list entries, a/v desync might occur, patch welcome
[lavf] stream 0: audio (aac), -aid 0, -alang eng
[lavf] stream 1: video (h264), -vid 0
VIDEO: [H264] 1280x720 24bpp 90000.000 fps 6024.3 kbps (735.4 kbyte/s)
[V] filefmt:44 fourcc:0x34363248 size:1280x720 fps:90000.000 ftime:=0.0000
Ugye ez a 90 ezer frame/sec érték enyhén szólva túlzás. A kódolás végén ezt írja:
Flushing video frames.
Writing index...
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
Video stream: 7947320.000 kbit/s (993415000 B/s) size: 1390781 bytes 0.001 secs 116 frames
Audio stream: 224.000 kbit/s (28000 B/s) size: 14112 bytes 0.504 secs
Ami szintén gyanús érték: "0.001 secs" időtartam és 7947320.000 kbit/s videó bitrate.
Mit csinálok rosszul?
Hozzászólások
Esetleg -fps 30 -ofps 30 kapcsolókkal?
Jó nagy hülye vagyok. :-)
Másrészt viszont, a default output fps az miért nem egy normális érték? Honnan szedte ezt a 90 ezret, és miért pont annyi???
És még egy kérdés. Miért kell megadni a -fps kapcsolót? Magától is tudnia kellene hogy a forrás videónak mennyi az fps értéke. Milyen parancssort használjak akkor, ha nem tudom hogy a forrás file-nak mi az fps értéke?
véleményem szerint a forrás videó a gubancos. Sajnos a telefonok ilyen téren szeretik rugalmasan kezelni a szabványokat, ezek szerint itt az fps van rugalmasan kezelve;)
Az a fura, hogy mplayer-ben az eredeti telefonos videót le tudom játszani. Tehát valahonnan mégis kitalálja, hogy mi az fps. De honnan?
Egy olyan programot kellene írnom, ami telefonos videókat vág össze egy nagy videóba. Tehát valahogy meg kellene tudnom, mit hogyan konvertáljak.