web-dev-qa-db-fra.com

Comment convertir un fichier .ts au format traditionnel sans perte?

J'ai un fichier qui se termine par .ts (par exemple, voici les 10 premiers Mo ). Je voudrais le convertir en un format de flux plus principal (par exemple, mp4, MPEG2-PS, etc.), de manière sans perte si possible (c'est-à-dire, le remuxage).

J'ai lu la Comment convertir des fichiers .ts en quelque chose d'utile? question. J'ai essayé avidemux avec les paramètres "copy" pour les flux vidéo et audio et le format de conteneur "PS" pour MPEG. Cela a échoué avec le message d'erreur "Audio incompatible/Pour DVD, l'audio doit être au format 48 kHz MP2 (stéréo), AC3, DTS ou LPCM (stéréo)".

J'ai également essayé la commande CLI suggérée.

avconv -i 10MB.ts -vcodec copy -acodec copy 10MB.mpg

Le fichier de sortie a la bonne vidéo, mais pas de son, du moins lorsqu'il est lu avec VLC. Ceci est assez étonnant, car avconv semble avoir correctement détecté le flux audio.

Input #0, mpegts, from '10MB.ts':
  Duration: 00:00:06.36, start: 51523.824800, bitrate: 12563 kb/s
  Program 37888 
    Stream #0.0[0x100]: Video: mpeg2video (Main), yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 20000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0.1[0x110]: Audio: aac, 0 channels, fltp, 144 kb/s
    Stream #0.2[0x130]: Data: [6][0][0][0] / 0x0006
    Stream #0.3[0x138]: Data: [6][0][0][0] / 0x0006
    Stream #0.4[0x140]: Data: [13][0][0][0] / 0x000D
    Stream #0.5[0x160]: Data: [13][0][0][0] / 0x000D
    Stream #0.6[0x161]: Data: [13][0][0][0] / 0x000D
    Stream #0.7[0x162]: Data: [13][0][0][0] / 0x000D
    Stream #0.8[0x170]: Data: [13][0][0][0] / 0x000D
    Stream #0.9[0x171]: Data: [13][0][0][0] / 0x000D
    Stream #0.10[0x172]: Data: [13][0][0][0] / 0x000D
Output #0, mpeg, to '10MB.mpg':
  Metadata:
    encoder         : Lavf54.20.4
    Stream #0.0: Video: mpeg2video, yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], q=2-31, 20000 kb/s, 90k tbn, 90k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)

J'ai aussi essayé la commande CLI suggérée dans les commentaires de autre question .

avconv -i 10MB.ts -c:v copy -c:a libfaac 10MB.mp4

Encore une fois, pas de son dans le fichier de sortie.

EDIT: J'ai essayé VLC comme suggéré par @Daniel. C'était presque parfait. C'était rapide et convivial. Il me suffisait de cliquer sur "Convert/Save", d'ajouter le fichier d'entrée, de sélectionner le profil MP4, de configurer le codec vidéo et le codec audio sur "Conserver la piste audio/vidéo d'origine", de choisir un fichier de destination et de cliquer sur "Démarrer". La vidéo avait l'air parfaite, mais le son était légèrement corrompu, mais cela pouvait être causé par quelque chose d'assez exotique dans le flux audio de ma vidéo.

9
lacton

Matroska (MKV)

Ceci va copier le flux (re-mux) tous les flux:

ffmpeg -i input -map 0 -c copy output.mkv

L'option -map 0 est utilisée pour inclure tous les flux. Sinon, il utilisera le comportement par défaut sélection du flux qui ne résultera qu'en un seul flux sélectionné par type de flux. Étant donné que Matroska peut gérer la plupart des flux arbitraires, j'ai inclus -map 0.

MP4

Ceci réencodera la vidéo au format H.264 et copiera le flux audio:

ffmpeg -i input.ts -c:v libx264 -c:a copy output.mp4

L'exemple suivant réencodera à la fois la vidéo et l'audio:

ffmpeg -i input.ts -c:v libx264 -c:a aac output.mp4

Exemple H.264 sans perte:

ffmpeg -i input.ts -c:v libx264 -crf 0 -c:a copy output.mp4

Les fichiers sans perte seront énormes.

Voir FFmpeg Wiki: H.264 pour plus d'informations.

11
llogan

VideoLAN (VLC - http://www.videolan.org/vlc/index.html ) convertira facilement n'importe quoi en n'importe quoi.

Donner un coup de feu. Il fonctionne sous Linux, Windows et Mac OS X et possède une interface très conviviale.

3
Daniel