ffmpeg mostra i codec audio supportati dal formato contenitore e dal codec video


2

Per automatizzare gli script per manipolare i file video, vorrei ottenere un elenco di codec audio supportati - idealmente con i loro nomi di codificatore - basato su un codec video e un formato contenitore (potrebbe anche essere conosciuto come muxer o demuxer), come supportato da ffmpeg.

Scopri il codec video utilizzando:

ffprobe -v error -select_streams v:0 -show_entries stream=codec_name \
  -of default=noprint_wrappers=1:nokey=1 video.mp4

che ritorna h264. Scopri il formato del contenitore usando:

ffprobe -v error -select_streams v:0 -show_format_entry format_name \
  -of default=noprint_wrappers=1:nokey=1 video.mp4

Che ritorna mov,mp4,m4a,3gp,3g2,mj2.

Supponiamo che il file video di input non abbia flusso audio, quindi non possiamo semplicemente usare:

ffprobe -v error -select_streams a:0 -show_entries \
  stream=codec_name -of default=noprint_wrappers=1:nokey=1 video.mp4

che altrimenti ritornerebbe aac.

I comandi in https://stackoverflow.com/a/20587693/188159 potrebbero avere la soluzione ma non sono stato in grado di capire come filtrarli.


1
Forse non seguo esattamente ciò che stai cercando di fare, ma ffmpegsceglierò automaticamente un codificatore audio appropriato in base al formato di output. Puoi visualizzare gli encoder predefiniti, per il tuo particolare ffmpeg, con ffmpeg -h muxer=mp4. Non sono sicuro del motivo per cui è necessario un elenco di formati audio supportati per formato contenitore di output. I tuoi comandi "format" e "codec" sono etichettati erroneamente (scambiali).
Llogan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.