Как конвертировать.ts файл в основной формат без потерь?

У меня есть файл, который заканчивается на.ts (например, здесь первые 10 МБ). Я хотел бы преобразовать его в более основной формат потока (например, mp4, MPEG2-PS...), без потерь, если это возможно (например, ремиксинг).

Я прочитал, как я могу конвертировать.ts файлы во что-то полезное? вопрос. Я старался avidemux с настройками "копировать" для видео и аудио потоков, а также форматом контейнера "PS" для MPEG. Это не удалось с сообщением об ошибке "Несовместимый звук / Для DVD звук должен быть 48 кГц MP2 (стерео), AC3, DTS или LPCM (стерео)".

Я также попробовал предложенную команду CLI.

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

Выходной файл имеет правильное видео, но без звука, по крайней мере, при воспроизведении с VLC. Это довольно загадочно, потому что avconv кажется, правильно обнаружил аудиопоток.

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)

Я также попробовал команду CLI, предложенную в комментариях к другому вопросу.

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

Опять нет звука в выходном файле.

РЕДАКТИРОВАТЬ: я попробовал VLC, как предложено @Daniel. Это было почти идеально. Это было быстро и удобно для пользователя. Мне просто нужно было нажать "Преобразовать / Сохранить", добавить входной файл, выбрать профиль MP4, настроить видеокодек и аудиокодек на "Сохранить исходную видео / аудиодорожку", выбрать файл назначения и нажать "Пуск". Видео выглядело идеально, но звук был немного поврежден, но это могло быть вызвано чем-то весьма экзотическим в аудиопотоке моего видео.

2 ответа

Решение

Матроска (MKV)

Это будет потоковое копирование (повторное мультиплексирование) всех потоков:

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

-map 0 опция используется для включения всех потоков. В противном случае он будет использовать поведение выбора потока по умолчанию, что приведет к тому, что будет выбран только один поток на тип потока. Поскольку Matroska может обрабатывать большинство произвольных потоков, я включил -map 0,

MP4

Это перекодирует видео в H.264 и выполняет потоковое копирование аудио:

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

Следующий пример перекодирует видео и аудио:

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

Пример без потерь H.264:

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

Файлы без потерь будут огромными.

См. FFmpeg Wiki: H.264 для получения дополнительной информации.

В дополнение к другому ответу @llogan - поскольку потоковая копия в любом случае предпочтительнее:

Я уже давно использую некоторые команды для извлечения звука без изменения имени файлов, которые можно адаптировать к представленным здесь, чтобы интегрировать их в контекстные меню файловых менеджеров.

Итак, для "демультиплексирования и мультиплексирования" без изменения имени файла используйте:

ffmpeg -i "$0" -map 0 -c copy "${0%%.*}".mkv

Я добавил это в настраиваемые действия Thunar и в инструмент настройки действий FileManager (Nautilus, Nemo, Caja, PCManFM), например:

sh -c 'ffmpeg -i "$0" -map 0 -c copy "${0%%.*}".mkv' %f

ограничивая его до "*.ts" в Thunar и video/mp2t в Действиях FileManager.

VideoLAN (VLC - http://www.videolan.org/vlc/index.html) легко преобразует практически все в что угодно.

Дать ему шанс. Он работает на Linux, Windows и Mac OS X и имеет очень удобный интерфейс.

Другие вопросы по тегам