Когда я пытаюсь преобразовать mkv в mp4 с помощью ffmpeg, возникает следующая ошибка:
version 0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers built on Jun 12 2012 16:52:09 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use
avconv instead. [matroska,webm @ 0x1e939c0] max_analyze_duration
reached [matroska,webm @ 0x1e939c0] Estimating duration from
bitrate, this may be inaccurate Input #0, matroska,webm, from
'input.mkv': Duration: 00:01:00.76, start: 0.000000, bitrate: 384
kb/s
Stream #0.0(eng): Video: h264 (High), yuv420p, 1280x544, PAR 1:1 DAR 40:17, 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s (default)
Stream #0.2(eng): Subtitle: [0][0][0][0] / 0x0000 Output #0, ipod, to 'output.m4v': Metadata:
encoder : Lavf53.21.0
Stream #0.0(eng): Video: libx264, yuv420p, 1280x544 [PAR 1:1 DAR 40:17], q=2-31, 25 tbn, 25 tbc (default)
Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, 384 kb/s (default) Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1
Press ctrl-c to stop encoding [ipod @ 0x1e9b740] Application
provided invalid, non monotonically increasing dts to muxer in stream
0: -2 >= -2 av_interleaved_write_frame(): Invalid argument
Я использовал эту команду для преобразования файла:
ffmpeg -i input.mkv -vcodec copy -acodec copy -absf aac_adtstoasc output.m4v
Входной файл имеет следующие характеристики:
mediainfo input.mkv
>General
>
>Unique ID : 200459305952356554213392832683163418790 (0x96CF0ED8DB5914CBB9E18163689280A6)
>Complete name : input.mkv
>Format : Matroska
>Format version : Version 2
>File size : 1.46 GiB
>Duration : 1h 5mn
>Overall bit rate : 3 168 Kbps
>Encoded date : UTC 2010-09-26 21:44:02
>Writing application : mkvmerge v2.9.5 ('Tu es le seul') built on >Jun 17 2009 16:28:30
>Writing library : libebml v0.7.8 + libmatroska v0.8.1
>
>Video
>ID : 1
>Format : AVC
>Format/Info : Advanced Video Codec
>Format profile : High@L3.1
>Format settings, CABAC : Yes
>Format settings, ReFrames : 4 frames
>Codec ID : V_MPEG4/ISO/AVC
>Duration : 1h 5mn
>Bit rate : 2 910 Kbps
>Width : 1 280 pixels
>Height : 720 pixels
>Display aspect ratio : 16:9
>Frame rate : 25.000 fps
>Color space : YUV
>Chroma subsampling : 4:2:0
>Bit depth : 8 bits
>Scan type : Progressive
>Bits/(Pixel*Frame) : 0.126
>Stream size : 1.31 GiB (90%)
>Writing library : x264 core 105 r1724 b02df7b
>Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=18 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=0 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc=2pass / mbtree=0 / bitrate=2910 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
>
>Default : Yes
>Forced : No
>
>Audio
>ID : 2
>Format : AC-3
>Format/Info : Audio Coding 3
>Mode extension : CM (complete main)
>Codec ID : A_AC3
>Duration : 1h 5mn
>Bit rate mode : Constant
>Bit rate : 256 Kbps
>Channel(s) : 2 channels
>Channel positions : Front: L R
>Sampling rate : 48.0 KHz
>Bit depth : 16 bits
>Compression mode : Lossy
Stream size : 121 MiB (8%)
Language : English
Default : Yes
Forced : No
Будучи новичком в ffmpeg, я не уверен, что означает ошибка или как ее исправить.
Благодарность!
Ответы:
Как я уже писал здесь , я предлагаю вам изменить некоторые детали в командной строке:
ffmpeg
наavconv
, как это было вилка используется Ubuntu в течение нескольких лет (см комментариев)-absf aac_adtstoasc
? У него были некоторые проблемы, которые, возможно, не были исправлены в текущей ffmpeg Ubuntu. Я предлагаю вам попробовать без этого в первую очередь.-vcodec copy -acodec copy
можно упростить до-codec copy
или-c copy
. Это также предотвратит изменение других потоков, помимо видео и аудио, например субтитров.Итак, победитель ...
Если это не работает, пожалуйста, опубликуйте все выходные данные терминала.
источник
avconv
версия «s может отличаться от моего.avconv
больше не поддерживается в Ubuntu :-)ffmpeg
? Есть какие-либо источники или ссылки на изменения?Я знаю, что это очень старая тема, но я нашел решение для успешного запуска ffmpeg. Не используйте
-vcodec copy -acodec copy
, используйте толькоffmpeg -i input.mkv output.m4v
вместо этого. Это начнет работать.Но в моем случае я конвертирую .mkv в .mp4, в результате получается просто мусор. Это теряет точность кадра.
источник
copy
кодек, он перекодирует и теряет качество.Чтобы автоматически преобразовать все файлы в папке из MKV в MP4, вы можете создать псевдоним:
Эта команда выполняет следующие шаги:
источник
Ответ на этот вопрос уже есть Как конвертировать файл .mkv в файл .mp4 без потерь?
Основная концепция заключается в том, что оба MKV и MP4 являются контейнерами, они просто контейнеры, вам нужно распаковать и перепаковать аудио и видео дорожки, если вы хотите переключиться между ними.
источник
Получил это на Xubuntu 14.04 при попытке записать DVD с MP4, используя DVDStyler; Бомбоно выдает ту же ошибку. ffmpeg # 1154 предполагает, что это могло быть исправлено в
ffmpeg
, хотя, возможно, не вavconv
? libav # 478 по-прежнему помечен как открытый.Также см .: /unix/127522/avconv-error-av-interleaved-write-frame
Я подал Launchpad # 1339980 ; Таким образом, используйте текущий выпуск
ffmpeg
, а неavconv
.источник
Попробуйте это :: Libav в Linux
Установка: запустить команду
Команда преобразования видео :: Перейти в папку, содержащую видео и запустить в терминале
источник