Teknologian jakaminen

Käytä FFmpegiä kameravideon tallentamiseen Androidissa ja tallenna se paikalliseen MP4-tiedostoon

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Mobiilisovelluskehityksessä joudut joskus käyttämään laitteen kameraa videoiden tallentamiseen ja haluat pystyä hallitsemaan tarkasti videon laatua, muotoa ja kestoa tallennusprosessin aikana. Tehokkaana multimediankäsittelytyökaluna FFmpeg tarjoaa laajan valikoiman toimintoja ja vaihtoehtoja, jotka auttavat meitä saavuttamaan tällaiset tarpeet.

Lisää riippuvuuksia

Android-alustalla voit käyttää com.arthenica:mobile-ffmpeg-full kirjasto tämän tavoitteen saavuttamiseksi.

implementation 'com.arthenica:mobile-ffmpeg-full:4.4'
  • 1

Varaston osoite:https://github.com/tanersener/mobile-ffmpeg

Katso lisää ffmpegin muista käyttötavoista yllä olevasta osoiteasiakirjaesimerkistä

Komennot tallentaa videota FFmpegillä

FFmpeg.execute("-f android_camera -video_size 1280x720 -i 0:0 -r 25 -b:v 1.5M -pixel_format yuv420p -t 00:01:00 /sdcard/recorded_video.mp4");
  • 1

Parametrien merkitys ja toiminta:

  • -f android_camera: Määrittää syöttömuodoksi android_camera ja käskee FFmpegiä hankkimaan videovirran Android-laitteen kamerasta.

  • -video_size 1280x720 : Aseta videotulon resoluutioksi 1280x720 pikseliä. Se riippuu tarvittaessa kamerasi tukemasta resoluutiosta.

  • -i 0:0 : Määritä syöttötiedosto tai laite. Tässä 0:0 tarkoittaa, että FFmpeg ottaa videotulon Android-järjestelmän oletuskamerasta. 0 edustaa laitteen numeroa (yleensä kameraa), 0 edustaa tulovirtaindeksiä (yleensä videovirtaa).

  • -r 25 : Aseta ulostulovideon kehysnopeudeksi 25 kuvaa sekunnissa (fps). Määrittää kuinka monta kuvaa videossa näkyy sekunnissa.

  • -b:v 1.5M : Aseta videon videon bittinopeudeksi 1,5 Mbps (1,5 megabittiä sekunnissa). Bittinopeus määrittää videon laadun ja tiedostokoon, ja korkeampi bittinopeus tarkoittaa yleensä parempaa videon laatua ja suurempaa tiedostokokoa.

  • -pixel_format yuv420p : Aseta pikselimuodoksi YUV420P. YUV420P on pikselimuoto, jota käytetään laajalti videon koodaukseen ja siirtoon, jossa Y edustaa luminanssikomponenttia (Luma) ja U ja V edustavat krominanssikomponenttia (Chroma).

  • -t 00:01:00 : Aseta tallennetun videon kestoksi 1 minuutti (00:01:00). FFmpeg lopettaa tallennuksen määritetyn ajan kuluttua.

  • /sdcard/recorded_video.mp4 : Määritä tulostiedoston polku ja tiedostonimi. Täällä video tallennetaan MP4-muotoisena tiedostona ja polku on /sdcard/recorded_video.mp4. Kirjoita vain todellinen polku tarpeidesi mukaan, varmista vain, että sinulla on luku- ja kirjoitusoikeus.

Ilmoitus

Älä muuta parametrien järjestystä FFmpegissä halutessasi, muuten parametriasetukset ovat virheellisiä ja käytetään oletusparametreja, kuten esim. -video_size 1280x720 Jos sijoitetaan-i 0:0Jos se on myöhemmin, se ei toimi, joten muista!

-t 00:01:00 Se tallentaa minuutin ja päättyy automaattisesti, kun aika umpeutuu. Jos haluat jatkaa tallennusta, poista tämä parametri ja soita, kun haluat lopettaa sen.FFmpeg.cancelSe siitä

-b:v 1.5M Se voidaan konfiguroida joustavasti tarpeiden mukaan. Mitä suurempi arvo, sitä suurempi on vain sopiva arvo.

🆗,就这些雷,我替大家踩了,下班。