Попытка конвертировать MKV в MP4 с помощью avconv, не работает

6

Я пытаюсь преобразовать файл MKV в MP4 для совместимости с моим PS3. Я использую:      avconv -i file.mkv -c copy file.mp4

Он не работает, и я получаю следующую ошибку:

[mp4 @ 0x8a17c00] pts < dts in stream 0 av_interleaved_write_frame(): Invalid argument

Файл представляет собой видео h264 и аудио ac3.

    
задан boredemt 15.01.2013 в 21:31
источник

3 ответа

2

Я считаю, что

avconv -i file.mkv -c:v copy -c:a copy file.mp4

- правильная команда. Вам нужно указать свойство копирования кодека для потоков, которые вы хотите скопировать отдельно.

    
ответ дан ixtmixilix 19.05.2013 в 06:42
источник
4

Получить необходимое программное обеспечение

sudo apt-get install gpac mkvtoolnix

Извлечь видео и аудио из файла matroska

Сначала вам нужно проверить, какие дорожки содержит файл matroska с

mkvmerge --identify video.mkv

File 'video.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AC3)

Затем извлеките видео и аудио в соответствии со своими дорожками с помощью:

mkvextract tracks video.mkv 1:video.h264 2:audio.ac3

Extracting track 1 with the CodecID 'V_MPEG4/ISO/AVC' to the file 'video.h264'. Container format: AVC/h.264 elementary stream
Extracting track 2 with the CodecID 'A_AC3' to the file 'audio.ac3'. Container format: Dolby Digital (AC3)
Progress: 100%

Мультимедийный звук и видео в mp4-содержащий

MP4Box -fps 24 -add video.h264 -add audio.ac3 video.mp4

AVC-H264 import - frame size 1280 x 720 at 24.000 FPS
Import results: 31671 samples - Slices: 5672 I 125048 P 122648 B - 32288 SEI - 4936 IDR
AC3 import - sample rate 48000 - 6 channels
Saving to video.mp4: 0.500 secs Interleaving

Мне пришлось добавить -fps 24 , потому что MP4Box не обнаружил видео fps правильно. В зависимости от использования AC3 звуковая дорожка должна быть повторно закодирована во что-то еще до мультиплексирования.

Теперь у вас есть ремуксированные потоки из контейнера matroska в контейнер mp4, не теряя при этом никакого качества.

EDIT: MP4 официально не поддерживает аудио AC3, поэтому звуковая дорожка должна быть преобразована в поддерживаемый формат (например, AAC, MP3), если вы хотите, чтобы файл воспроизводился с чем-то другим, кроме VLC.

    
ответ дан stampede 11.12.2013 в 05:32
0

Я искал мультиплексирование mp4 вместе с m4a. Обычный ffmpeg команды для кодирования не работали.Tried MP4Box & amp; Оно работало завораживающе. : -)

    
ответ дан kkdeep 03.02.2014 в 13:35