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 ...), d'une manière sans perte si possible (c'est-à-dire, le remuxage).
J'ai lu le Comment convertir des fichiers .ts en quelque chose d'utile? question. J'ai essayé avidemux
avec les paramètres "copier" 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 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 contient la bonne vidéo, mais aucun son, du moins lorsqu'il est lu avec VLC. C'est assez déroutant, car il 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 également essayé la commande CLI suggérée dans les commentaires d' une autre question .
avconv -i 10MB.ts -c:v copy -c:a libfaac 10MB.mp4
Encore une fois, aucun 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. Je n'ai eu qu'à cliquer sur "Convertir / Enregistrer", ajouter le fichier d'entrée, sélectionner le profil MP4, configurer le codec vidéo et le codec audio sur "Conserver la piste vidéo / audio d'origine", choisir un fichier de destination et cliquer sur "Démarrer". La vidéo avait l'air parfaite, mais l'audio était en quelque sorte légèrement corrompu, mais cela pourrait être causé par quelque chose d'assez exotique dans le flux audio de ma vidéo.
ffmpeg
.Réponses:
Matroska (MKV)
Cela diffusera en continu (re-mux) tous les flux:
L'
-map 0
option est utilisée pour inclure tous les flux. Sinon, il utilisera le comportement de sélection de flux par défaut , ce qui entraînerait la sélection d'un seul flux par type de flux. Puisque Matroska peut gérer la plupart des flux arbitraires que j'ai inclus-map 0
.MP4
Cela diffusera en continu (re-mux) tous les flux:
Cela va ré-encoder la vidéo en H.264 et copier le flux audio:
L'exemple suivant ré-encodera la vidéo et l'audio:
Exemple H.264 sans perte:
Les fichiers sans perte seront énormes.
Voir FFmpeg Wiki: H.264 pour plus d'informations.
la source
ffmpeg -i 10MB.ts -c copy output.mkv
. Vous obtiendrez l' erreur:Error parsing AAC extradata, unable to determine samplerate
. C'est pourquoi mon exemple MKV a ré-encodé l'audio. Voir aussi # 4472: La copie AAC du flux sans échec d'encodage et lavf / mkv: Correction du remuxage AAC . Cependant, rien de tout cela ne peut s'appliquer à votre fichier d'entrée volumineux et non tronqué et cela peut fonctionner comme prévu.ffmpeg -i input -c:v copy -c:a aac output.mkv
a parfaitement fonctionné. La vidéo a été remuxée et l'audio semble aussi bon que l'original, sans la légère corruption que j'ai obtenue lors de la conversion avec VLC.VideoLAN (VLC - http://www.videolan.org/vlc/index.html ) convertira facilement à peu près 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.
la source
En complément de l' autre réponse de @llogan - comme une copie de flux est préférable de toute façon:
J'utilise depuis longtemps certaines commandes pour extraire l'audio sans changer le nom des fichiers, qui peuvent être adaptés à ceux présentés ici, afin de les intégrer dans les menus contextuels des gestionnaires de fichiers.
Donc, pour "démultiplexer et multiplexer" sans changer le nom du fichier, utilisez:
J'ai ajouté cela aux actions personnalisées de Thunar et à l'outil de configuration des actions FileManager (Nautilus, Nemo, Caja, PCManFM), comme ceci:
tout en le restreignant à "* .ts" dans Thunar et
video/mp2t
dans les actions FileManager.la source