Mirësevini në blogun tim të ri. Ky artikull fokusohet në mënyrën e përdorimit të ffmpeg për të ndryshuar dhe përpunuar skedarët media dhe audio. FFmpeg mund të përdoret me korniza të ndryshme ueb.

Problem

Pas-përpunimi i videove të ngarkuara ndonjëherë kërkon shkurtimin e skedarit të videos bazuar në intervale të caktuara kohore dhe kombinimin e skedarëve të shkurtuar për të prodhuar një rezultat përfundimtar pa ndonjë humbje të të dhënave. Për të ndihmuar me këtë, na kërkuam një mjet për të mbështetur operacionet e shkurtimit dhe bashkimit të shpejtë.

Zgjidhje

Shumë mjete ndihmojnë në përpunimin e skedarëve të medias si FFmpeg, HandBrake, Avidemux, etj. Nga kjo, FFmpeg është më i popullarizuari pasi është me burim të hapur dhe shumë i lehtë për t'u përdorur. FFmpeg është projektuar për të trajtuar shumëllojshmërinë më të gjerë të formateve të mediave në mënyrë më efikase me minimale bujë nga përdoruesi.

Çfarë është FFmpeg? 🤔

FFmpeg është një projekt softuerësh falas dhe me burim të hapur, i përbërë nga biblioteka të shumta për trajtimin e video, audio dhe skedarë të tjerë multimedial dhe transmetime. Vetë mjeti i linjës së komandës ffmpeg është krijuar për përpunimin e skedarëve video dhe audio. Mund të dekodojë, kodojë, transkodojë, mux, demux, transmetim, filtro dhe luaj pothuajse çdo gjë.

🔗 Shkarkoni FFmpeg: Link



Në këtë artikull, objektivi ynë do të jetë:

  1. Shkarkoni një video duke përdorur komandën wget.
  2. Shkurto një video bazuar në intervalet kohore duke përdorur veglat ffmpeg.
  3. Kombinojini ato për të ofruar një skedar të ri dalës, të gjitha në format mp4.

Hapi I ~ Merrni skedarin duke përdorur wget

Çfarë është wget?

WGET është një mjet falas për të zvarritur faqet e internetit dhe për të shkarkuar skedarë përmes linjës së komandës.

🔗 Instaloni wget: Lidhje



Syntax: `wget "input url" -O "output location"`

Videoja e përdorur në artikullin ~ Video Link

Vendndodhja e daljes: Desktop/ffmpegTrial/video.mp4

wget "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" -O Desktop/ffmpegTrial/video.mp4

Hapi II ~ Prerja e videos

Ka mënyra të ndryshme për të prerë/shkurtuar një video bazuar në

  1. Pritini duke përdorur një kohëzgjatje
  2. Pritini duke përdorur kohën e fillimit - përfundimit
  3. Pritini fundin e një videoje
  4. Prerë me ri-kodim

Në këtë artikull, ne do të mësojmë të shkurtojmë videot bazuar në intervale specifike kohore pa ri-kodim.

Intervalet kohore të shkurtimit : (5–20,25–30,45–55),duke treguar (sekonda e fillimit — sekonda e fundit e videos origjinale)

Pra, videot tona të shkurtuara do të jenë përkatësisht 5 sekonda, 15 sekonda dhe 15 sekonda dhe videoja përfundimtare e bashkuar dalëse do të jetë 30 sekonda.

✂️ Prerë pa ri-kodim:

Syntax: ffmpeg -i "InputFile" -ss "startTime" -to "endTime"
-c:v libx264 "OutputFile"

Nëse e rikodojmë videon gjatë prerjes, kjo do të na japë një prerje të saktë në kuadër sepse FFmpeg do ta rikodojë videon dhe do ta fillojë me një kornizë I. Kjo do të marrë kohë, por ka avantazhet e veta si ne mund ta rikodojmë atë me një shpejtësi të caktuar bit ose të përmirësojmë cilësinë dhe rezolucionin.

  • libx264 është një bibliotekë e avancuar kodimi për krijimin e transmetimeve video H.264.

✂️ Prerë pa ri-kodim:

Syntax: ffmpeg -i "InputFile" -ss "startTime" -to "endTime" -c copy            "OutputFile"
  • -ss tregon një kohë të veçantë të videos nga ku të fillojë
  • -to tregojnë pjesën ku duhet të përfundojë prerja.
  • -c copy kopjon videon dhe audion në skedarin dalës pa i rikoduar ato. Kjo nuk do të dëmtojë cilësinë e përmbajtjes origjinale të videos dhe është shumë e shpejtë.

Nëse specifikojmë një endTime që është më e gjatë se videoja hyrëse, p.sh. -to 00:35:00 kur videoja hyrëse është 20 minuta e gjatë, videoja e shkurtuar do të përfundojë aty ku përfundon videoja hyrëse. Nëse specifikojmë një endTime(-to) që është më e vogël se startTime(-ss), atëherë komanda nuk do të ekzekutohet. Do të marrim gabimin e mëposhtëm: -to value smaller than -ss; aborting.

ffmpeg -i video.mp4 -ss 00:05 -to 00:20 -c copy trims/trim1.mp4
ffmpeg -i video.mp4 -ss 00:25 -to 00:30 -c copy trims/trim2.mp4
ffmpeg -i video.mp4 -ss 00:45 -to 00:55 -c copy trims/trim3.mp4

Ne e kemi ndarë me sukses videon në tre pjesë bazuar në intervale. Gjithashtu, për të mbajtur parasysh, videoja origjinale nuk është e mbishkruar.

Disavantazh: Meqenëse operacioni i kërkimit kalon midis kornizave I, ai mund të mos ndalojë me saktësi në kohën që ne kërkuam. Ai do të kërkojë për I-frame më të afërt dhe do të fillojë kopjimin.

Hapi III ~ Hapi i fundit — Bashkimi i videove në një

Ka dy hapa për të përdorur këtë komandë.

1. Së pari, ne duhet të krijojmë një skedar .txt me emrat dhe shtigjet e të gjithë skedarëve individualë që dëshirojmë të bashkojmë.

2. Më pas, ne duhet ta furnizojmë këtë listë te ffmpeg si një parametër i linjës komanduesesë bashku meveglën concat.

Le të krijojmë skedarin së pari. Këtu është një shembull dhe le ta quajmë skedarin e tekstit fileList.txt. Çdo rresht fillon me fjalën kyçe file

Tani, ne do të bashkojmë përmbajtjen e skedarëve video të ruajtur në fileList.txt.

Syntax: ffmpeg -f concat -i "fileList.txt" -c copy "mergedFileName"

Meqenëse e kemi shkurtuar skedarin video.mp4 bazuar në intervalet kohore (5–20,25–30,45–55), kohëzgjatja e mergedVideo.mp4 duhet të jetë 30 sekonda.

konkluzioni

Kjo na çon në fund të këtij artikulli. Ne kemi kuptuar se si të shkarkojmë video duke përdorur wgetdhe të kryejmë përpunim në to duke përdorur veglat FFmpeg. FFmpeg ka aftësi të pafundme dhe është një bibliotekë e shkëlqyeshme për ta pasur në paketën tonë të veglave të përpunimit të videove.

Burimet





Shpresoj se ju ka pëlqyer! Faleminderit që lexuat!😄