У меня есть файл, который заканчивается на .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, настроить видеокодек и аудиокодек на «Сохранить исходную видео / аудиодорожку», выбрать файл назначения и нажать «Пуск». Видео выглядело идеально, но звук был слегка поврежден, но это могло быть вызвано чем-то весьма экзотическим в аудиопотоке моего видео.
ffmpeg
.Ответы:
Матроска (MKV)
Это будет потоковое копирование (повторное мультиплексирование) всех потоков:
-map 0
Параметр используется , чтобы включить все потоки. В противном случае он будет использовать поведение выбора потока по умолчанию, которое приведет к тому, что будет выбран только один поток на тип потока. Так как Matroska может обрабатывать большинство произвольных потоков, которые я включил-map 0
.MP4
Это будет потоковое копирование (повторное мультиплексирование) всех потоков:
Это перекодирует видео в H.264 и выполняет потоковое копирование аудио:
Следующий пример перекодирует видео и аудио:
Пример без потерь H.264:
Файлы без потерь будут огромными.
См. FFmpeg Wiki: H.264 для получения дополнительной информации.
источник
ffmpeg -i 10MB.ts -c copy output.mkv
. Вы получите сообщение об ошибке:Error parsing AAC extradata, unable to determine samplerate
. Вот почему мой пример MKV перекодировал аудио. Также смотрите # 4472: Копирование AAC из потока без кодирования завершается ошибкой, а lavf / mkv: Исправляет повторное смешивание AAC . Тем не менее, ничего из этого не может применяться к вашему большому, не усеченному входному файлу, и он может работать как положено.ffmpeg -i input -c:v copy -c:a aac output.mkv
работал отлично. Видео было смешано, и звук звучит так же хорошо, как и оригинал, без небольшого искажения, которое я получил при конвертации с VLC.VideoLAN (VLC - http://www.videolan.org/vlc/index.html ) легко конвертирует практически все в что угодно.
Дать ему шанс. Он работает на Linux, Windows и Mac OS X и имеет очень удобный интерфейс.
источник
В качестве дополнения к другому ответу @llogan - в качестве потоковой копии все равно предпочтительнее:
Я давно использовал некоторые команды для извлечения аудио без изменения имени файлов, которые можно адаптировать к представленным здесь, чтобы интегрировать их в контекстные меню файловых менеджеров.
Итак, для «демультиплексирования и мультиплексирования» без изменения имени файла используйте:
Я добавил это в пользовательские действия Thunar и в инструмент настройки действий FileManager (Nautilus, Nemo, Caja, PCManFM), например так:
ограничивая его "* .ts" в Thunar и
video/mp2t
FileManager Actions.источник