Condivisione della tecnologia

Usa FFmpeg per registrare il video della fotocamera in Android e salvarlo in un file MP4 locale

2024-07-12

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

Nello sviluppo di applicazioni mobili, a volte è necessario utilizzare la fotocamera del dispositivo per registrare video e si desidera poter controllare con precisione la qualità, il formato e la durata del video durante il processo di registrazione. Essendo un potente strumento di elaborazione multimediale, FFmpeg offre un'ampia gamma di funzioni e opzioni per aiutarci a soddisfare tali esigenze.

Aggiungi dipendenze

Sulla piattaforma Android è possibile utilizzare com.arthenica:mobile-ffmpeg-full biblioteca per raggiungere questo obiettivo.

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

Indirizzo del magazzino:Italiano: https://github.com/tanersener/mobile-ffmpeg

Per altri usi di ffmpeg, fare riferimento all'esempio del documento di indirizzo sopra

Comandi per registrare video utilizzando FFmpeg

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

Il significato e la funzione dei parametri:

  • -f android_camera: specifica il formato di input come android_camera, indicando a FFmpeg di ottenere il flusso video dalla fotocamera del dispositivo Android.

  • -video_size 1280x720 : imposta la risoluzione dell'ingresso video su 1280x720 pixel. Dipende dalla risoluzione supportata dalla fotocamera, come richiesto.

  • -i 0:0 : specificare il file o il dispositivo di input. Qui, 0:0 significa che FFmpeg prenderà l'input video dalla fotocamera predefinita del sistema Android. 0 rappresenta il numero del dispositivo (solitamente la telecamera), 0 rappresenta l'indice del flusso di input (solitamente il flusso video).

  • -r 25 : imposta la frequenza fotogrammi del video in uscita su 25 fotogrammi al secondo (fps). Determina il numero di fotogrammi visualizzati dal video al secondo.

  • -b:v 1.5M : imposta la velocità in bit del video su 1,5 Mbps (1,5 megabit al secondo). Il bitrate determina la qualità e la dimensione del file di un video, con un bitrate più elevato che generalmente significa una qualità video più elevata e una dimensione del file maggiore.

  • -pixel_format yuv420p : imposta il formato pixel su YUV420P. YUV420P è un formato pixel ampiamente utilizzato per la codifica e la trasmissione video, dove Y rappresenta la componente di luminanza (Luma) e U e V rappresentano la componente di crominanza (Chroma).

  • -t 00:01:00 :Imposta la durata del video registrato su 1 minuto (00:01:00). FFmpeg interromperà la registrazione dopo il tempo specificato.

  • /sdcard/recorded_video.mp4 : specificare il percorso e il nome del file di output. Qui, il video verrà salvato come file in formato MP4 e il percorso è /sdcard/recorded_video.mp4. Scrivi semplicemente il percorso effettivo in base alle tue esigenze, assicurati solo di avere il permesso di leggere e scrivere.

Avviso

Non modificare a piacimento l'ordine dei parametri in FFmpeg, altrimenti le impostazioni dei parametri non saranno valide e verranno utilizzati i parametri predefiniti, come ad esempio -video_size 1280x720 Se posizionato-i 0:0Se è più tardi, non funzionerà, quindi ricordalo!

-t 00:01:00 Registra per un minuto e termina automaticamente allo scadere del tempo. Naturalmente, se vuoi continuare a registrare, rimuovi semplicemente questo parametro e chiamalo quando vuoi terminarlo.FFmpeg.cancelQuesto è tutto

-b:v 1.5M Può essere configurato in modo flessibile in base alle esigenze. Tutto è soggetto alle condizioni effettive. Maggiore è il valore, più grande sarà il video. Basta trovare un valore adatto.

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