Pyramid hologram
Salta a la navegació
Salta a la cerca
Introducció
Preparatius. ffmpeg
Les opcions -strict -2 són perquè tinc un SO 12.04 que ha quedat una mica desfasat (febrer 2016) $ ffmpeg -i in.mp4 -strict -2 out.mp4 Per mantenir la qualitat utilitzo el bitrate. Puc mirar quin era el bitrate original fent: $ ffmpeg -i in.mp4 ..- Duration: 00:00:07.07, start: 0.000000, bitrate: 10596 kb/s Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 10011 kb/s, SAR 65536:65536 DAR 16:9, 14.28 fps, 42.83 tbr, 90k tbn, 180k tbc (default) $ ffmpeg -i in.mp4 -strict -2 -b 10000k out3.mp4 crop $ ffmpeg -i in.mp4 -strict -2 -vf "crop=200:200:50:50" out2.mp4 També podem veure com queda sense haver de generar el fitxer: ffplay -i in.mp4 -vf "crop=100:100:30:30" rotate: ffmpeg -i in.mp4 -strict -2 -b 10000k -vf "transpose=1" out5.mp4 ffmpeg -i in.mp4 -strict -2 -b 10000k -vf "transpose=1, transpose=1" out6.mp4 0 = 90CounterCLockwise and Vertical Flip (default) 1 = 90Clockwise 2 = 90CounterClockwise 3 = 90Clockwise and Vertical Flip -vf "transpose=2,transpose=2" -> for 180graus overlay: en aquest exemple posem un video al costat de l'altre. Em funciona l'opció -filter_complex, que a l'institut no em funcionava. ffmpeg -i in.mp4 -i out6.mp4 -strict -2 -b 10000k -filter_complex \ "[0:v]setpts=PTS-STARTPTS, pad=iw*2:ih[bg]; \ [1:v]setpts=PTS-STARTPTS[fg]; [bg][fg]overlay=w; \ amerge,pan=stereo:c0<c0+c2:c1<c1+c3" out7.mp4 Jo el que vull fer és crear un mosaic: *https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos ffmpeg -i in.mp4 -i in.mp4 -i in.mp4 -i in.mp4 -strict -2 -b 10000k -filter_complex "nullsrc=size=640x480 [base]; [0:v] setpts=PTS-STARTPTS, scale=320x240 [upperleft]; [1:v] setpts=PTS-STARTPTS, scale=320x240 [upperright]; [2:v] setpts=PTS-STARTPTS, scale=320x240 [lowerleft]; [3:v] setpts=PTS-STARTPTS, scale=320x240 [lowerright]; [base][upperleft] overlay=shortest=1 [tmp1]; [tmp1][upperright] overlay=shortest=1:x=320 [tmp2]; [tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3]; [tmp3][lowerright] overlay=shortest=1:x=320:y=240" out8.mp4 Si vull que el video mantingui la proporció original de 1280x720: ffmpeg -i in.mp4 -i in.mp4 -i in.mp4 -i in.mp4 -strict -2 -b 10000k -filter_complex "nullsrc=size=1280x720 [base]; [0:v] setpts=PTS-STARTPTS, scale=640x360 [upperleft]; [1:v] setpts=PTS-STARTPTS, scale=640x360 [upperright]; [2:v] setpts=PTS-STARTPTS, scale=640x360 [lowerleft]; [3:v] setpts=PTS-STARTPTS, scale=640x360 [lowerright]; [base][upperleft] overlay=shortest=1 [tmp1]; [tmp1][upperright] overlay=shortest=1:x=640 [tmp2]; [tmp2][lowerleft] overlay=shortest=1:y=360 [tmp3]; [tmp3][lowerright] overlay=shortest=1:x=640:y=360" out9.mp4 Anem a fer una prova de com s'ubica un video quadrat enmig d'un video més gran Primer faig un quadrat de la imatge que m'interessa: ffmpeg -i in.mp4 -y -strict -2 -b 10000k -vf "crop=700:700:50:50" orig1.mp4 i ara ubico aquest video al mig, i fico que la base sigui el tamany original. Però el problema és que no tinc un video de 1280x720 que serveixi de fons. ffmpeg -i orig1.mp4 -y -strict -2 -b 10000k -filter_complex "nullsrc=size=1280x720 [base]; [0:v] setpts=PTS-STARTPTS [middle]; [base][middle] overlay=shortest=1:x=100:y=10" out10.mp4 Tinc la imatge, i la converteixo a video: ffmpeg -loop 1 -i fons.jpg -t 8 -pix_fmt yuv420p fons.mp4 ffmpeg -i fons.mp4 -i orig1.mp4 -y -strict -2 -b 10000k -filter_complex "nullsrc=size=1280x720 [base]; [0:v] setpts=PTS-STARTPTS [fons]; [1:v] setpts=PTS-STARTPTS [middle]; [base][fons] overlay=shortest=1[tmp1];[tmp1][middle] overlay=shortest=1:x=100:y=10" out11.mp4 Crec que el truco està en ficar una imatge negra de 1280x720: fons.png Ara anem a fer ja un pyramid hologram. Primer faig un quadrat de la imatge que m'interessa: ffmpeg -i in.mp4 -y -strict -2 -b 10000k -vf "crop=700:700:50:50" orig1.mp4 Ara faig les tres rotacions: ffmpeg -i orig1.mp4 -y -strict -2 -b 10000k -vf "transpose=1" orig2.mp4 ffmpeg -i orig1.mp4 -y -strict -2 -b 10000k -vf "transpose=1, transpose=1" orig3.mp4 ffmpeg -i orig1.mp4 -y -strict -2 -b 10000k -vf "transpose=2" orig4.mp4 i ara ja poso aquests 4 videos en el seu lloc, però s'ha de fer una mica de càlculs geomètrics. La clau estarà en què els videos han de tenir negre de fons. I al fons de tot, tinc el meu video negre.
creat per Joan Quintana Compte, febrer 2016