Как конвертировать.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 и имеет очень удобный интерфейс.