Multimedia: Qual è meglio: FFmpeg o GStreamer? Perché?
Le altre risposte sono tutte abbastanza buone, ma voglio solo chiarire un po' di più:
FFmpeg non è solo un programma indipendente. Include molte librerie di basso livello per la codifica/decodifica/trascrizione (per video, audio e sottotitoli), muxing/demuxing/remuxing, filtraggio (che include supporto per (de)interlacciamento, sottotitolazione, manipolazione dei canali, generazione manuale di onde, ritaglio, equalizzatore audio, mixaggio/remixing audio, denoising/post-elaborazione, generazione di istogrammi, ridimensionamento, manipolazione del timestamp e molto, molto altro), conversione del formato pixel e del formato campione, streaming da o verso il web e acquisizione da webcam o desktop.
La CLI rende anche facile fare tutto quanto sopra. Alcuni esempi:
Su Linux, registra la tua webcam, con durata 30 secondi:
ffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -crf 23 -t 30 out.mp4
Converte un sottotitolo SRT in formato ASS:
ffmpeg -i in.srt out.ass
Mixa due audio stereo in ingresso in un unico file stereo
ffmpeg -i input1.wav -i input2.wav -filter_complex "[0:a][1:a]amerge=inputs=2,pan=stereo|c0
Anche scaricare direttamente un video da YouTube e transcodificarlo (usando libquvi):
ffmpeg -i 'YOUR_YOUTUBE_URL' -crf 23 out.mp4
E sì, puoi fare tutto quanto sopra con le librerie C.
L'unico svantaggio di usare FFmpeg è se vuoi estenderlo. Non offre un modo per costruire plugin, a meno che non si ricostruisca il suo intero albero usando API private.
Articoli simili
- Perché FFmpeg e mpv possono usare decoder HEVC ma Firefox e Chrome no?
- Perché iOS è meglio di Android e perché MacOS è meglio di Windows?
- Quali spettacoli Marvel Netflix sarebbero meglio come film, e quali film MCU sarebbero meglio come spettacoli Netflix?
- Qual è la differenza tra le dichiarazioni switch e if else? Qual è meglio in casi diversi? Perché?