web-dev-qa-db-fra.com

Conversion mkv en ogv

Comment convertir un fichier mkv (avec plusieurs pistes audio) au format ogv en préservant toute la piste audio?

Est-il possible de créer un fichier ogg (audio) avec plusieurs pistes?

2
Hunsu

Sous Linux, vous disposez d'un programme de conversion de média universel appelé avconv (alternativement ffmpeg). Dans sa forme de base, il est contrôlé par des extensions, donc avconv -i input.mkv output.ogm fera la conversion appropriée.

Cependant, pour conserver tous les flux, vous devez utiliser -map option. Permettez-moi de citer le manuel:

-map [-]input_file_id[:stream_specifier][,sync_file_id[:stream_specifier]] | [linklabel] (output)
           Designate one or more input streams as a source for the output file. Each input stream is identified by the input file index input_file_id and
           the input stream index input_stream_id within the input file. Both indices start at 0. If specified, sync_file_id:stream_specifier sets which
           input stream is used as a presentation sync reference.

           The first "-map" option on the command line specifies the source for output stream 0, the second "-map" option specifies the source for output
           stream 1, etc.

           A "-" character before the stream identifier creates a "negative" mapping.  It disables matching streams from already created mappings.

           An alternative [linklabel] form will map outputs from complex filter graphs (see the -filter_complex option) to the output file.  linklabel
           must correspond to a defined output link label in the graph.

           For example, to map ALL streams from the first input file to output

                   avconv -i INPUT -map 0 output

           For example, if you have two audio streams in the first input file, these streams are identified by "0:0" and "0:1". You can use "-map" to
           select which streams to place in an output file. For example:

                   avconv -i INPUT -map 0:1 out.wav

           will map the input stream in INPUT identified by "0:1" to the (single) output stream in out.wav.

           For example, to select the stream with index 2 from input file a.mov (specified by the identifier "0:2"), and stream with index 6 from input
           b.mov (specified by the identifier "1:6"), and copy them to the output file out.mov:

                   avconv -i a.mov -i b.mov -c copy -map 0:2 -map 1:6 out.mov

           To select all video and the third audio stream from an input file:

                   avconv -i INPUT -map 0:v -map 0:a:2 OUTPUT

           To map all the streams except the second audio, use negative mappings

                   avconv -i INPUT -map 0 -map -0:a:1 OUTPUT

           Note that using this option disables the default mappings for this output file.

Vous en aurez donc besoin:

avconv -i nput.mkv -map 0:v -map 0:a output.ogm

Et oui, vous pouvez stocker plusieurs pistes, et même des vidéos et du texte, dans un fichier OGG, car il s'agit d'un conteneur multimédia universel.

2
Barafu Albino
  1. Utilisez d'abord ffmpeg pour identifier l'encodage du flux audio.
  2. Utilisez ensuite ffmpeg pour extraire le flux audio (dans l'encodage d'origine).
  3. Ensuite, si vous voulez vraiment, vous pouvez le ré-encoder en ogg. Mais il pourrait être très utile de conserver l'encodage audio d'origine.

  4. Utilisez d'abord ffmpeg pour identifier l'encodage du flux audio.

    $ ffmpeg -i $f
    
    Stream #0:0(und): Video: h264 (Main), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc
    Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, s16 (default)
    
  5. Utilisez ensuite ffmpeg pour extraire le flux audio (dans l'encodage d'origine au format .mka).

    ffmpeg -i song.mkv -acodec: copy -vn song.mka
    

J'ai trouvé cela utile:

http://www.hecticgeek.com/2012/12/extract-audio-using-ffmpeg-ubuntu/

Et c'est un très bon conseil:

Remarque: En cas de doute (vous ne savez pas quelle extension utiliser), vous pouvez simplement utiliser l'extension ‘.mka’ (‘output.mka’). Parce que le format de conteneur ‘MKA’ peut stocker un grand nombre de codecs audio. Si vous choisissez cela cependant, certains lecteurs pourraient ne pas être en mesure de lire la piste audio. Veuillez donc en être conscient.

Un script utile pour convertir n'importe quel mmv et mp4 en mka audio (en conservant l'encodage audio d'origine): convert_vtoa.sh

#!/bin/bash

for f in *.mkv *.mp4; do 
    # ffmpeg -i $f
    bn=${f%%-[A-Za-z0-9]*}
    echo -n bn=$bn
    if [[ ! -e "$bn.mka" ]] ; then
        echo ffmpeg -i "$f" -acodec: copy -vn "$bn.mka"
        ffmpeg -i "$f" -acodec: copy -vn "$bn.mka"
    else 
        echo "      ##### already done. #####"
    fi
done
0
gaoithe

Vous pouvez utiliser dmMediaConverter et en mode Convertir et mettre l'extension ogg ou ogv dans le fichier de sortie comme audio.ogg. En outre, décochez "Activer" sur le flux vidéo, c'est uniquement audio. Vous pouvez copier les flux s'ils sont acceptés par ce conteneur . h264/h265/vp8/vp9 n'est pas accepté par ogg.

enter image description here

0
mdalacu