Ich versuche, einen gerippten Stream von YouTube zu kombinieren, der in einem seltsamen Format zu sein scheint. Wie auch immer, Video und Audio scheinen unabhängig voneinander abgespielt zu werden, aber als ich versuchte, sie zu kombinieren, war die Dateigröße nur ein wenig größer als die Originalgröße der Audiodatei, also scheint es nichts bewirkt zu haben.
jonathan@localhost:~/foo$ avconv -i video.mp4 -i audio.m4a -c copy audio_and_video.mp4
avconv version 0.8.16-6:0.8.16-1, Copyright (c) 2000-2014 the Libav developers
built on Sep 16 2014 23:10:48 with gcc 4.7.2
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6avc1mp41
creation_time : 2014-12-06 03:30:37
Duration: 00:31:35.36, start: 947.680067, bitrate: 1939 kb/s
Stream #0.0(und): Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
Metadata:
creation_time : 2014-12-06 03:30:37
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'audio.m4a':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6mp41
creation_time : 2014-12-13 10:25:20
Duration: 00:31:35.42, start: 947.745193, bitrate: 64 kb/s
Stream #1.0(und): Audio: aac, 44100 Hz, stereo, s16
Metadata:
creation_time : 2014-12-13 10:25:20
Output #0, mov, to 'audio_and_video.mov':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6avc1mp41
creation_time : 2014-12-06 03:30:37
encoder : Lavf53.21.1
Stream #0.0(und): Video: libx264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 90k tbn, 90k tbc
Metadata:
creation_time : 2014-12-06 03:30:37
Stream #0.1(und): Audio: aac, 44100 Hz, stereo
Metadata:
creation_time : 2014-12-13 10:25:20
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #1:0 -> #0:1 (copy)
Press ctrl-c to stop encoding
frame= 0 fps= 0 q=-1.0 Lsize= 14892kB time=947.68 bitrate= 128.7kbits/s
video:0kB audio:14530kB global headers:0kB muxing overhead 2.493168%
Und einige zusätzliche Informationen:
jonathan@localhost:~/foobar$ file audio.m4a
audio.m4a: ISO Media
jonathan@localhost:~/foobar$ file video.mp4
video.mp4: ISO Media
jonathan@localhost:~/foobar$ file audio_and_video.mp4
audio_and_video.mp4: ISO Media, MPEG v4 system, version 1
jonathan@localhost:~/foobar$ ls -lh
total 468M
-rw-r--r-- 1 jonathan jonathan 15M Mar 12 12:29 audio_and_video.mp4
-rw-r--r-- 1 jonathan jonathan 15M Dec 14 23:50 audio.m4a
-rw-r--r-- 1 jonathan jonathan 439M Dec 14 23:50 video.mp4
Ich bin für alle Ideen dankbar, was ich falsch mache und wie ich es beheben kann.
Danke schön.
Antwort1
Da avconv 0.8.6 etwas alt ist, scheint dies ein Fehler zu sein, der durch die Installation einer aktuellen Version von avconv (oder ffmpeg, wie Sie in den Tags Ihrer Frage angegeben haben) behoben werden kann.
Beachten Sie, dass diese beidenverschiedene Projekte, abersehrähnlichin Bezug auf Syntax und Funktionalität, und eine aktuelle Version zu erhalten ist so einfach wie das Herunterladen eines "statischen Builds" vonffmpeg.org, die für alle wichtigen Betriebssysteme verfügbar sind. Keine Kompilierung erforderlich – extrahieren und ausführen.
Für avconv gibt es nur Windows-Builds, daher müssen Sie es dort selbst kompilieren.
Im Allgemeinen möchten Sie bei avconv und ffmpeg eine aktuelle Version verwenden und nicht das, was die Standarddistributionen in ihren Paketquellen anbieten.