Rörelse

Sömlös loopvideo: så gör du en som aldrig hoppar

En loop som hoppar var tionde sekund är sämre än ingen rörelse alls. Lösningen är inte en bättre redigerare; det är rörelse som är designad för att komma hem.

GradientlyVerifierat Gradiently-konto··6 minuters läsning
Omslag: Smoked Coin · GR·B3FN·5V

Kortversionen

  • En sömlös loop är en video vars sista bildruta leder rakt in i den första, så att den kan upprepas utan ett synligt hopp.
  • Genererad rörelse loopar rent när allt som rör sig fullbordar ett helt antal cykler under videons längd.
  • Det vanligaste hackandet är en dubblerad bildruta: den sista rutan ska vara den strax före den första, inte en kopia av den.
  • Material som inte designats för att loopa kan lagas genom att byta plats på dess två halvor och tona över vid den nya skarven.
  • Kontrollera en loop genom att spela den upprepade gånger i full storlek och jämföra dess sista bildruta med den första.
På den här sidan

En sömlös loop är en video vars sista bildruta leder rakt in i den första, så att den kan upprepas i evighet utan att någon ser var den börjar. Hemligheten är att allt i bilden måste komma hem i exakt rätt ögonblick: varje position, färg, ljusnivå och partikel slutar ett steg före där den började. Får du det rätt kan ett klipp på tio sekunder spelas hela dagen.

Den här guiden tar upp varför loopar hoppar, hur du designar rörelse som återvänder av sig själv, hur du räddar material som inte gjordes för att loopa och hur du kontrollerar skarven innan du publicerar. För själva looken på loopen, se animerade gradientbakgrunder.

Därför hoppar de flesta loopar

Ett hopp i skarven har alltid en specifik orsak, och var och en har en specifik lösning. Det hjälper att namnge vilken du tittar på.

OrsakVad du serLösning
Slutet matchar inte börjanFärg eller position hoppar tillbakaGör rörelsen periodisk, eller tona över
Dubblerad bildrutaEtt litet hack eller en paus vid skarvenRendera sista rutan ett steg före den första
Rörelsen saktar in till stopp i ändarnaEtt ögonblick av stillhet, sedan rörelse igenHåll farten kontinuerlig genom skarven
Slumpmässigt brus eller partiklar som inte upprepasTextur eller prickar hopparLoopa bruset, eller låt partiklarna sätta sig först
Hård komprimeringEn mjuk puls av suddighet vid skarvenExportera i högre kvalitet

Den tredje orsaken är lömsk. Om du animerar från A till B och tillbaka med mjuk start och stopp i båda ändar saktar rörelsen in till stopp vid skarven och loopen verkar tveka. Mjuk acceleration hör hemma i början och slutet av en enstaka rörelse, inte vid skarven i en loop. Easing förklarar skillnaden.

Designa rörelse som loopar av sig själv

De renaste looparna görs av periodisk rörelse: rörelse som upprepas av naturen, som en punkt som färdas runt en cirkel eller ett ljus som sväller och avtar. Om varje rörligt objekt fullbordar ett helt antal cykler under videons längd, linjerar den sista bildrutan med den första automatiskt. Cirklar, sinusvågor och hela varv av nyans är alla periodiska.

js
const fps = 30
const seconds = 10
const frames = fps * seconds            // 300 frames, numbered 0 to 299

for (let i = 0; i < frames; i++) {
  const phase = i / frames              // 0 up to, but never reaching, 1
  const turn = phase * Math.PI * 2      // one full turn per loop

  const x = Math.cos(turn) * 40         // drift in a circle, 40 px across
  const y = Math.sin(turn) * 40
  const hue = 280 + Math.sin(turn * 2) * 20   // two gentle hue swings per loop
  const glow = 0.5 + 0.5 * Math.sin(turn)     // light breathes once per loop

  drawFrame(i, { x, y, hue, glow })     // your renderer
}
Periodisk rörelse för en loop på 10 sekunder. Varje värde fullbordar hela cykler, och eftersom phase stannar strax före 1 ritas bildruta 300 (en kopia av bildruta 0) aldrig.

Den sista detaljen är det som förhindrar hackandet. Om din sista bildruta är identisk med den första visar spelaren den bilden två gånger i rad vid varje upprepning. Den sista rutan ska vara den strax före den första.

Över en bra skarv skiljer sig varje bildruta från nästa med samma lilla steg. Det finns ingen ruta där förändringen är större, och ingen ruta som upprepas.

Loopa brus, korn och partiklar

Organiska texturer görs ofta av brus, som inte upprepas som standard. Standardknepet är att röra sig genom bruset i en cirkel i stället för i en rak linje, så att du efter en loop är tillbaka på samma punkt i det. Partikelsystem är annorlunda: varje partikels position beror på de föregående. Att köra simuleringen ett helt varv innan du spelar in låter partiklarna hitta sin rytm, så att det inspelade slutet ligger nära sin början.

Så loopar du material som inte gjordes för att loopa

Filmade klipp, som vågor, rök eller moln, slutar sällan där de börjar. Det klassiska knepet fungerar i vilken videoredigerare som helst: flytta skarven till mitten av klippet, där materialet redan är kontinuerligt, och dölj den nya klippningen med en övertoning.

  1. 1

    Dela klippet på mitten

    Klipp klippet i två halvor, A och B, vid ett ögonblick med jämn rörelse.

  2. 2

    Byt plats på halvorna

    Lägg B först och A sedan. Slutet av A flödar nu in i början av B, eftersom det var ett sammanhängande ögonblick i originalet, så loopens skarv blir sömlös.

  3. 3

    Tona över den nya mitten

    Där B möter A, låt dem överlappa med en halv sekund till två sekunder och tona den ena in i den andra. Mjukt, texturerat material döljer en övertoning bäst.

  4. 4

    Trimma till en rund längd

    Sikta på ett helt antal sekunder, vilket gör loopen lätt att tajma och återanvända.

Välja loopens längd

Längre loopar känns mindre repetitiva, men de är större filer och behöver mer periodisk rörelse för att förbli intressanta. Korta loopar upprepas ofta, så deras rörelse måste vara subtil nog för att inte bli hypnotisk. Med 30 bilder per sekund är en loop på 10 sekunder 300 bildrutor, vilket delas snyggt i halvor, tredjedelar och fjärdedelar för dina cykler.

Där den spelasFöreslagen längdVarför
Stories och korta inlägg5 till 10 sekunderTittare går vidare snabbt; små filer
Reels och videobakgrunder10 till 15 sekunderPlats för en långsammare, lugnare cykel
Webbplatsens hero8 till 15 sekunderKort nog för att hålla filen lätt
Skärmar, displayer, bakgrundsbilder15 till 30 sekunderFolk tittar längre, så upprepningarna måste vara mindre märkbara
Utgångspunkter, inte regler. Filformatet spelar också roll; se GIF eller MP4.

Så kontrollerar du skarven

Bedöm inte en loop genom att se den en gång i en redigerare. Se den som folk kommer att möta den: upprepad, i full storlek, längre än det känns nödvändigt. Skarvar som döljer sig i en liten förhandsgranskning syns ofta på en stor skärm.

bash
# Play the loop four times in a row as one file, to watch the joins
ffmpeg -stream_loop 3 -i loop.mp4 -c copy loop-x4.mp4

# Save the first and last frames as images to compare side by side
ffmpeg -i loop.mp4 -vf "select=eq(n\,0)" -frames:v 1 first.png
ffmpeg -sseof -0.5 -i loop.mp4 -update 1 last.png
Två snabba kontroller med ffmpeg. Den sista bildrutan ska skilja sig från den första med exakt ett normalt rörelsesteg.
  • Titta på filen med fyra upprepningar i helskärm och se bara på skarven.
  • Titta på kanterna och hörnen, där drift syns mest.
  • Titta på kornet och partiklarna för sig, skilt från färgen.
  • Om du ser en mjuk puls vid skarven är det komprimering: exportera i högre kvalitet.

Om du gör loopar i Gradiently sköts det här åt dig: varje exporterad loop är byggd så att det rörliga fältet fullbordar hela cykler inom den längd du väljer, från 5 till 30 sekunder, och dess slut möter dess början. Det är samma tillvägagångssätt som du skulle ta i kod, tillämpat på din Mark. Loopar passar också bra som levande bakgrundsbilder och videobakgrunder på webbplatser.

Vanliga frågor

Vad är en sömlös loop?

Det är en video eller animation vars sista bildruta leder direkt in i den första, så att den kan upprepas kontinuerligt utan ett synligt hopp eller en paus.

Varför hackar min loop i slutet?

Oftast för att sista bildrutan är en kopia av den första, så att samma bild visas två gånger. Gör den sista rutan till den strax före den första bildrutan.

Hur loopar jag en video som inte filmades för att loopa?

Dela den på mitten, byt plats på de två halvorna och tona över där de nu möts. Den ursprungliga skarven blir kontinuerlig, och övertoningen döljer den nya.

Hur lång ska en loopande video vara?

5 till 10 sekunder för stories och inlägg, 10 till 15 för reels och webbbakgrunder och 15 till 30 för skärmar och bakgrundsbilder som folk tittar på längre.

Varför finns det en suddighet vid loopens skarv?

Det är oftast komprimering, inte animationen. Att exportera i högre kvalitet eller bithastighet tar bort den.

Dela den här guiden

Skriven av GradientlyVerifierat Gradiently-konto

Teamet bakom Gradiently, ett designverktyg byggt kring Marks: levande gradienter som får allt du gör att kännas som ditt.

Se vår profil