Lorsque j'essaie de convertir mkv en mp4 à l'aide de ffmpeg, l'erreur suivante se produit:
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
J'ai utilisé cette commande pour convertir le fichier:
ffmpeg -i input.mkv -vcodec copy -acodec copy -absf aac_adtstoasc output.m4v
Le fichier d'entrée présente les caractéristiques suivantes:
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 : [email protected]
>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
Étant nouveau sur ffmpeg, je ne sais pas ce que signifie l'erreur ni comment la corriger.
Merci!
Réponses:
Comme je l'ai déjà écrit ici , je vous suggère de modifier quelques détails dans votre ligne de commande:
ffmpeg
paravconv
, car c'était la fourche utilisée par Ubuntu depuis quelques années (voir les commentaires)-absf aac_adtstoasc
? Il y avait quelques problèmes qui n'ont peut-être pas été corrigés dans le ffmpeg d'Ubuntu actuel. Je vous suggère d'essayer sans d'abord.-vcodec copy -acodec copy
peut être simplifié en-codec copy
ou-c copy
. Cela empêcherait également d'altérer d'autres flux en plus de la vidéo et de l'audio, comme les sous-titres.Le gagnant est donc ...
Si cela ne fonctionne pas, veuillez publier toutes les sorties du terminal.
la source
avconv
version peut être différente de la mienne.avconv
n'est plus maintenu dans Ubuntu :-)ffmpeg
? Vous avez des sources ou des références sur le changement?Je sais que c'est un très vieux thread, mais j'ai trouvé une solution pour exécuter correctement ffmpeg. N'utilisez pas
-vcodec copy -acodec copy
, utilisez juste à laffmpeg -i input.mkv output.m4v
place. Il commencera à fonctionner.Mais dans mon cas, je convertis un .mkv en .mp4, la sortie du résultat est juste une corbeille. Il perd la précision de la trame.
la source
copy
codec, il se réencodera et perdra en qualité.Pour convertir automatiquement tous les fichiers d'un dossier de MKV en MP4, vous pouvez créer un alias:
Cette commande effectue les étapes suivantes:
la source
il y a déjà une réponse à ce sujet Comment convertir un fichier .mkv en fichier .mp4 sans perte?
le concept de base est que le MKV et le MP4 sont des conteneurs, ce ne sont que des conteneurs, vous devez essentiellement déballer et reconditionner les pistes audio et vidéo si vous souhaitez basculer entre les deux.
la source
J'ai ceci sur Xubuntu 14.04 lorsque vous essayez de graver un DVD de MP4 en utilisant DVDStyler; Bombono produit la même erreur. ffmpeg # 1154 suggère que cela aurait pu être corrigé dans
ffmpeg
, mais peut-être pas dansavconv
? libav # 478 est toujours marqué comme ouvert.Voir également: /unix/127522/avconv-error-av-interleaved-write-frame
J'ai déposé Launchpad # 1339980 ; en résumé, utilisez une version actuelle de
ffmpeg
et nonavconv
.la source
Essayez celui-ci :: Libav sous Linux
Installation: exécuter la commande
Commande de conversion vidéo :: Aller au dossier contient la vidéo et exécuter dans le terminal
la source