Fórum Root.cz
Hlavní témata => Software => Téma založeno: makevideor 12. 06. 2017, 00:05:42
-
Zdravím, chtěl bych poradit, jak provést rotaci videa o násobky 90°. Tedy analogie exif pro fotky v tom, že se neukládá znovu ztrátově jpg obrazová data=nebude probíhat enkódování.
-Je to možné na úrovni kontejneru "videostream #0 otočit o 90°" (potom u jakých ano)? Ideálně pro mkv,mp4 (a s menší naléhovstí na mts,flv,avi,ts) ale budu rád za radu i k jednomu z toho výčtu.
-Případně je to možné na úrovni video kodeku "tato video stopa je otočená o 90°" (avc,hevc, mpeg4,mpeg2)?
Jaká je kompatibilita v přehrávačích nebo browserech ? On taky legendární šmejd Windows Prohlížeč fotografií taky neuměl EXIF (nevím zda doteď umí).
Za druhé by mě zajímalo něco podobného pro zvuk , prohodit pravý a levý kanál (tedy LR->RL), případně LRB->RLB u 2.1 s Basákem. Opět, zda to jde zařídit v kontejneru, audio kodeku a jaká je kompatibilita.
* Obojí mám na mysli tím způsobem, že se vytvoří nový videosoubor (takže mi to nestačí pro aktuálně otevřený soubor v přehřávači, tam je to otázka klávesové zkratky).
* A bez ztrátově myslím, že nechci provádět zdlouhavé kódování videa , ale jen zapsání stejných dat streamů do výsledného kontejneru.
-
To je velmi zajímavé téma!
Na rotaci MJPEG videa ze staršího foťáku používám toto.
https://sourceforge.net/projects/mjpeglossless/files/mjpegrotate/0.8.1/ (https://sourceforge.net/projects/mjpeglossless/files/mjpegrotate/0.8.1/)
Ale na h.264 jsem nic nenašel.
Pomocí metadat by to určitě šlo, i jednodušeji, ale 1) nástroj jsem nenašel 2) ne každý přehrávač to podporuje.
-
ffmpeg -i original.mp4 -metadata:s:v rotate="-90" -codec copy otoceno.mp4
nebo +90 to uz uvidis
-
Děkuji, ono to pravdu funguje, pro mkv a mp4, což asi stačí. Náhodou změnu fps pomocí metadat (opět -c copy) u mkv nevíš pomocí ffmpeg? mkvtoolnixgui to zvládne. Prostě se změní u streamu fps a přehrávače to přehrají zpomaleně, přibydy tam metadata Original framerate (ačkoli tento atribut ffprobe nevidí ,ale PotPlayer ano) s původním fps.
-
Náhodou změnu fps pomocí metadat (opět -c copy) u mkv nevíš pomocí ffmpeg?
Tak to pochybuji, ono totiz full frame mas obvykle tak jeden za sekundu a zbytek jsou delty, to asi bez reencodingu nedas. Kazdopadne jeden krkolomny navod jsem nasel ale nerucim jak to dopadne :)
https://superuser.com/questions/1088382/change-framerate-in-ffmpeg-without-reencoding
-
Tak to pochybuji, ono totiz full frame mas obvykle tak jeden za sekundu a zbytek jsou delty, to asi bez reencodingu nedas.
WTF? Jemu jde jen o to přehrát existující framy pomaleji (jako kdybys napsal mplayer -speed 0.5).
-
Ten krkolomný návod jsem četl, ale je tak krkolomný, že je furt lepší to to udělat v tom mkvtoolnixgui. Samozřejmě že logický a samozřejmý požadavek je ,že video bude mít stejný počet snímků a ten adekvátně změněnou dobu trvání.
-
WTF? Jemu jde jen o to přehrát existující framy pomaleji (jako kdybys napsal mplayer -speed 0.5).
Ne uplně přesně řečeno. aby to přehrál každý přehrávač zpomaleně, anižbych to určoval v přehrávači,tedy musí to být uloženo v souboru
pro jistotu kouknu ,jake mnozstvi dat zapisuje mkv...gui nebo zkusim diff (souboru+metadat)
-
Na videa z mobilu pouzivam toto:
https://github.com/mifi/lossless-cut
-
hello,
There's no way to rotate a video without re-encoding it. So you can only appoximate the size and quality.
I recommend VirtualDub to do the rotation. It's free and fast.