Tengo un archivo que termina en .ts (por ejemplo, aquí están los primeros 10 MB ). Me gustaría convertirlo a un formato de transmisión más principal (por ejemplo, mp4, MPEG2-PS ...), sin pérdida si es posible (es decir, remuxing).
He leído el ¿Cómo convierto archivos .ts en algo útil? pregunta. Intenté avidemux
con la configuración "copiar" para las transmisiones de video y audio, y el formato contenedor "PS" para MPEG. Eso falló con el mensaje de error "Audio incompatible / Para DVD, el audio debe ser 48 kHz MP2 (estéreo), AC3, DTS o LPCM (estéreo)".
También probé el comando CLI sugerido.
avconv -i 10MB.ts -vcodec copy -acodec copy 10MB.mpg
El archivo de salida tiene el video correcto, pero no tiene sonido, al menos cuando se reproduce con VLC. Esto es bastante desconcertante, porque avconv
parece haber detectado correctamente la transmisión de 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)
También probé el comando CLI sugerido en los comentarios de otra pregunta .
avconv -i 10MB.ts -c:v copy -c:a libfaac 10MB.mp4
Nuevamente, no hay sonido en el archivo de salida.
EDITAR: Probé VLC como lo sugirió @Daniel. Fue casi perfecto. Fue rápido y fácil de usar. Solo tenía que hacer clic en "Convertir / Guardar", agregar el archivo de entrada, seleccionar el perfil MP4, configurar el códec de video y el códec de audio para "Mantener la pista original de video / audio", elegir un archivo de destino y hacer clic en "Iniciar". El video se veía perfecto, pero el audio estaba de alguna manera ligeramente dañado, pero podría ser causado por algo bastante exótico en la transmisión de audio de mi video.
ffmpeg
.Respuestas:
Matroska (MKV)
Esto transmitirá copia (re-mux) todas las transmisiones:
La
-map 0
opción se utiliza para incluir todas las transmisiones. De lo contrario, utilizará el comportamiento de selección de flujo predeterminado que solo daría como resultado que se seleccione un flujo por tipo de flujo. Como Matroska puede manejar la mayoría de las transmisiones arbitrarias que incluí-map 0
.MP4
Esto transmitirá copia (re-mux) todas las transmisiones:
Esto volverá a codificar el video a H.264 y copiará el audio:
El siguiente ejemplo volverá a codificar tanto el video como el audio:
Ejemplo H.264 sin pérdidas:
Los archivos sin pérdida serán enormes.
Ver FFmpeg Wiki: H.264 para más información.
fuente
ffmpeg -i 10MB.ts -c copy output.mkv
. Obtendrá el error:Error parsing AAC extradata, unable to determine samplerate
. Es por eso que mi ejemplo MKV volvió a codificar el audio. También vea # 4472: la copia AAC de la transmisión sin codificación falla y lavf / mkv: Repare el remuxing AAC . Sin embargo, nada de esto puede aplicarse a su gran archivo de entrada no truncado y puede funcionar como se esperaba.ffmpeg -i input -c:v copy -c:a aac output.mkv
funcionó a la perfección. El video fue remezclado y el audio suena tan bien como el original, sin la ligera corrupción que obtuve al convertir con VLC.VideoLAN (VLC - http://www.videolan.org/vlc/index.html ) convertirá fácilmente casi cualquier cosa en cualquier cosa.
Dale un tiro. Se ejecuta en Linux, Windows y Mac OS X, y tiene una interfaz muy fácil de usar.
fuente
Como complemento a la otra respuesta de @llogan, de todos modos es preferible una copia de flujo:
He estado usando durante mucho tiempo algunos comandos para extraer audio sin cambiar el nombre de los archivos, que se pueden adaptar a los presentados aquí, para integrarlos en los menús contextuales de los administradores de archivos.
Entonces, para "demuxing y muxing" sin cambiar el nombre del archivo, use:
He agregado eso a las acciones personalizadas de Thunar y a la herramienta de configuración de acciones FileManager (Nautilus, Nemo, Caja, PCManFM), así:
mientras lo restringe a "* .ts" en Thunar y
video/mp2t
en FileManager Actions.fuente