{"id":4618,"date":"2014-03-30T14:00:59","date_gmt":"2014-03-30T14:00:59","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/03\/30\/how-to-merge-audio-and-video-files-with-ffmpeg-collection-of-common-programming-errors\/"},"modified":"2014-03-30T14:00:59","modified_gmt":"2014-03-30T14:00:59","slug":"how-to-merge-audio-and-video-files-with-ffmpeg-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2014\/03\/30\/how-to-merge-audio-and-video-files-with-ffmpeg-collection-of-common-programming-errors\/","title":{"rendered":"How to merge audio and video files with FFmpeg?-Collection of common programming errors"},"content":{"rendered":"<ul>\n<li><img decoding=\"async\" src=\"http:\/\/www.gravatar.com\/avatar\/9d96093408df0463815ff4d9b8a0c1a9?s=32&amp;d=identicon&amp;r=PG\" \/><br \/>\nslhck<\/p>\n<p>This is a question, similar to this one. I&#8217;ve tried following ffmpeg command:<\/p>\n<pre><code>ffmpeg -i \"video.mpg\" -i \"audio.mp3\" -t 00:01:35.13 -vcodec copy -acodec copy result.with.sound.mpg\n<\/code><\/pre>\n<p>And I&#8217;ve got some sort of output file, which nothing can play.<\/p>\n<p>When executing the command, I&#8217;ve got plenty of messages about buffer underflow and following:<\/p>\n<pre><code>frame=    1 fps=0.2 q=-1.0 Lsize=    4672kB time=00:00:00.00 bitrate=3479365818.2kbits\/s\nvideo:909kB audio:3716kB subtitle:0 global headers:0kB muxing overhead 1.021293%\n<\/code><\/pre>\n<p>(bitrate=3479365818.2 is probably the reason why the video does not get played).<\/p>\n<p>Both <code>video.mpg<\/code> and <code>audio.mp3<\/code> can be played in a player without any problems.<\/p>\n<p>What&#8217;s wrong and how can I fix this?<\/p>\n<p><strong>UPDATE<\/strong><\/p>\n<p>Here&#8217;s full uncut console output:<\/p>\n<pre><code>ffmpeg version N-42347-g299387e Copyright (c) 2000-2012 the FFmpeg developers\n  built on Jul  8 2012 15:48:29 with gcc 4.7.1\n  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable-libopencore-\nmrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libt\neora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib\n  libavutil      51. 64.100 \/ 51. 64.100\n  libavcodec     54. 33.100 \/ 54. 33.100\n  libavformat    54. 15.102 \/ 54. 15.102\n  libavdevice    54.  1.100 \/ 54.  1.100\n  libavfilter     3.  1.100 \/  3.  1.100\n  libswscale      2.  1.100 \/  2.  1.100\n  libswresample   0. 15.100 \/  0. 15.100\n  libpostproc    52.  0.100 \/ 52.  0.100\nInput #0, avi, from 'video.mpg':\n  Metadata:\n    encoder         : MEncoder Sherpya-SVN-r34401-4.6.2\n  Duration: 00:01:35.04, start: 0.000000, bitrate: 272 kb\/s\n    Stream #0:0: Video: mpeg1video ([1][0][0][16] \/ 0x10000001), yuv420p, 425x330 [SAR 1:1 DAR 85:66], 104857 kb\/s, 25 tbr, 25 tbn, 25 tbc\n[mp3 @ 0000000002065840] max_analyze_duration 5000000 reached at 5016000\nInput #1, mp3, from 'audio.mp3':\n  Metadata:\n    TIT1            : XRCD048\n    title           : Super Human (No Vox) (build at 0:52)\n    album           : Bare Bones\n    genre           : Soundtrack\n    artist          : X-Ray Dog\n    track           : 24\/50\n    date            : 2010\n  Duration: 00:01:35.13, start: 0.000000, bitrate: 399 kb\/s\n    Stream #1:0: Audio: mp3, 48000 Hz, stereo, s16, 320 kb\/s\n    Stream #1:1: Video: png, rgba, 643x643, 90k tbr, 90k tbn, 90k tbc\n    Metadata:\n      title           :\n      comment         : Other\n[mpeg @ 00000000020ac020] VBV buffer size not set, muxing may fail\nOutput #0, mpeg, to 'result.with.sound.mpg':\n  Metadata:\n    encoder         : Lavf54.15.102\n    Stream #0:0: Video: png, rgba, 643x643, q=2-31, 90k tbn, 90k tbc\n    Metadata:\n      title           :\n      comment         : Other\n    Stream #0:1: Audio: mp3, 48000 Hz, stereo, 320 kb\/s\nStream mapping:\n  Stream #1:1 -&gt; #0:0 (copy)\n  Stream #1:0 -&gt; #0:1 (copy)\nPress [q] to stop, [?] for help\nbuffer underflow i=0 bufi=234681 size=930322ime=00:00:00.00 bitrate=   0.0kbits\/s\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=234681 size=930322\n    Last message repeated 1 times\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=234681 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=236722 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=236722 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=238763 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=238763 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=240804 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=240804 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=242845 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=242845 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=244886 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=244886 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=246927 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=246927 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=248968 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=248968 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=251009 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=251009 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=253050 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=253050 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=255091 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=255091 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=257132 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=257132 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=259173 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=259173 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=261214 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=261214 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=263255 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=263255 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=265296 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=265296 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=267337 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=267337 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=269378 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=269378 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=271419 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=271419 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=273460 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=273460 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=275501 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=275501 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=277542 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=277542 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=279583 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=279583 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=281624 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=281624 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=283665 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=283665 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=285706 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=285706 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=287747 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=287747 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=289788 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=289788 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=291829 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=291829 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=293870 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=293870 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=295911 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=295911 size=930322\n    .......\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=912293 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=912293 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=914334 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=914334 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=916375 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=916375 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=918416 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=918416 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=920457 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=920457 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=922498 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=922498 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=924539 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=924539 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=926580 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=926580 size=930322\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=928621 size=930322\n[mpeg @ 00000000020ac020] packet too large, ignoring buffer limits to mux it\n[mpeg @ 00000000020ac020] buffer underflow i=0 bufi=928621 size=930322\nframe=    1 fps=0.2 q=-1.0 Lsize=    4672kB time=00:00:00.00 bitrate=3479365818.2kbits\/s\nvideo:909kB audio:3716kB subtitle:0 global headers:0kB muxing overhead 1.021293%\n<\/code><\/pre>\n<\/li>\n<li><img decoding=\"async\" src=\"http:\/\/www.gravatar.com\/avatar\/9d96093408df0463815ff4d9b8a0c1a9?s=32&amp;d=identicon&amp;r=PG\" \/><br \/>\nslhck<\/p>\n<p>The <code>-map<\/code> option (link to ffmpeg docs: 5.11 Advanced options) selects a stream from the input file. First you have to specify the input file number, second the stream number.<\/p>\n<p>If <code>-map<\/code> is not specified, ffmpeg selects the best streams and usually does it right. But from ffmpeg&#8217;s point of view, video stream have higher priority than audio, so it selected the image art (marked as video) from your MP3 file.<\/p>\n<p>To select the audio stream first from the second file, try<\/p>\n<pre><code>-i file_0 -i file_1 -map 0:0 -map 1:0\n<\/code><\/pre>\n<p>and then your other options. This will also work for MP3 files without image art (second stream).<\/p>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>slhck This is a question, similar to this one. I&#8217;ve tried following ffmpeg command: ffmpeg -i &#8220;video.mpg&#8221; -i &#8220;audio.mp3&#8221; -t 00:01:35.13 -vcodec copy -acodec copy result.with.sound.mpg And I&#8217;ve got some sort of output file, which nothing can play. When executing the command, I&#8217;ve got plenty of messages about buffer underflow and following: frame= 1 fps=0.2 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4618","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/4618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=4618"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/4618\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=4618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=4618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=4618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}