Opened 13 years ago
Last modified 12 years ago
#2522 open enhancement
Give ffmpeg (better) mp4 chapter editing support
| Reported by: | otters | Owned by: | |
|---|---|---|---|
| Priority: | wish | Component: | undetermined |
| Version: | git-master | Keywords: | chapters |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
It would be cool to either
- merge chaptered mpeg-4 files (m4b, etc.) and have the chapters + chapter offsets automatically adjusted
- be able to do #1 manually.
If I merge two m4bs right now, the resultant file has the length and chapters of the first.
$ ffmpeg -i 04\ Harry\ Potter\ and\ the\ Goblet\ of\ Fire,\ Part\ 1.m4b -i 05\ Harry\ Potter\ and\ the\ Goblet\ of\ Fire,\ Part\ 2.m4b -y output.m4a ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Apr 30 2013 13:13:33 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb7f4015a00] stream 0, timescale not set
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb7f4015a00] max_analyze_duration 5000000 reached at 5015510 microseconds
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '04 Harry Potter and the Goblet of Fire, Part 1.m4b':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42mp41
creation_time : 2013-04-30 17:05:28
title : Harry Potter and the Goblet of Fire, Part 1
track : 4/12
album : Harry Potter
genre : Audiobooks
artist : J. K. Rowling
encoder : Audiobook Builder 1.5.3 (www.splasm.com), QuickTime 7.7.1
media_type : 2
Duration: 12:40:14.85, start: 0.000000, bitrate: 301 kb/s
Chapter #0.0: start 0.000000, end 1616.706667
Metadata:
title : The Riddle House
Chapter #0.1: start 1616.706667, end 2630.053333
Metadata:
title : The Scar
Chapter #0.2: start 2630.053333, end 3769.386667
Metadata:
title : The Invitation
Chapter #0.3: start 3769.386667, end 4891.320000
Metadata:
title : Back to the Burrow
Chapter #0.4: start 4891.320000, end 6217.813333
Metadata:
title : Weasleys' Wizard Wheezes
Chapter #0.5: start 6217.813333, end 7104.106667
Metadata:
title : The Portkey
Chapter #0.6: start 7104.106667, end 9077.773333
Metadata:
title : Bagman and Crouch
Chapter #0.7: start 9077.773333, end 11278.266667
Metadata:
title : The Quidditch World Cup
Chapter #0.8: start 11278.266667, end 14019.426667
Metadata:
title : The Dark Mark
Chapter #0.9: start 14019.426667, end 15219.186667
Metadata:
title : Mayhem at the Ministry
Chapter #0.10: start 15219.186667, end 16450.040000
Metadata:
title : Aboard the Hogwarts Express
Chapter #0.11: start 16450.040000, end 18660.160000
Metadata:
title : The Triwizard Tournament
Chapter #0.12: start 18660.160000, end 20293.186667
Metadata:
title : Mad-Eye Moody
Chapter #0.13: start 20293.186667, end 22304.925000
Metadata:
title : The Unforgivable Curses
Chapter #0.14: start 22304.925000, end 24397.378333
Metadata:
title : Beauxbatons and Durmstrang
Chapter #0.15: start 24397.378333, end 26863.071667
Metadata:
title : The Goblet of Fire
Chapter #0.16: start 26863.071667, end 28587.405000
Metadata:
title : The Four Champions
Chapter #0.17: start 28587.405000, end 31132.271667
Metadata:
title : The Weighing of the Wands
Chapter #0.18: start 31132.271667, end 33531.911667
Metadata:
title : The Hungarian Horntail
Chapter #0.19: start 33531.911667, end 36202.245000
Metadata:
title : The First Task
Chapter #0.20: start 36202.245000, end 38363.178333
Metadata:
title : The House-Elf Liberation Front
Chapter #0.21: start 38363.178333, end 40051.618333
Metadata:
title : The Unexpected Task
Chapter #0.22: start 40051.618333, end 43178.978333
Metadata:
title : The Yule Ball
Chapter #0.23: start 43178.978333, end 45614.880000
Metadata:
title : Rita Skeeter's Scoop
Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 298 kb/s
Metadata:
creation_time : 2013-04-30 17:05:28
handler_name : Apple Sound Media Handler
Stream #0:1(eng): Video: png (png / 0x20676E70), rgba, 425x512 [SAR 2835:2835 DAR 425:512], 0 kb/s, 0k fps, 0k tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2013-04-30 17:06:48
handler_name : ?Apple Alias Data Handler
Stream #0:2(eng): Subtitle: mov_text (text / 0x74786574)
Metadata:
creation_time : 2013-04-30 17:06:48
handler_name : ?Apple Alias Data Handler
Stream #0:3: Video: png, rgba, 850x1024 [SAR 5669:5669 DAR 425:512], 90k tbr, 90k tbn, 90k tbc
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb7f406e400] stream 0, timescale not set
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb7f406e400] max_analyze_duration 5000000 reached at 5015510 microseconds
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '05 Harry Potter and the Goblet of Fire, Part 2.m4b':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42mp41
creation_time : 2013-04-30 17:13:43
title : Harry Potter and the Goblet of Fire, Part 2
track : 5/12
album : Harry Potter
genre : Audiobooks
artist : J. K. Rowling
encoder : Audiobook Builder 1.5.3 (www.splasm.com), QuickTime 7.7.1
media_type : 2
Duration: 07:55:55.35, start: 0.000000, bitrate: 308 kb/s
Chapter #1.0: start 0.000000, end 2228.533333
Metadata:
title : The Egg and the Eye
Chapter #1.1: start 2228.533333, end 5145.080000
Metadata:
title : The Second Task
Chapter #1.2: start 5145.080000, end 7839.186667
Metadata:
title : Padfoot Returns
Chapter #1.3: start 7839.186667, end 10752.293333
Metadata:
title : The Madness of Mr Crouch
Chapter #1.4: start 10752.293333, end 12453.186667
Metadata:
title : The Dream
Chapter #1.5: start 12453.186667, end 15063.880000
Metadata:
title : The Pensieve
Chapter #1.6: start 15063.880000, end 18109.546667
Metadata:
title : The Third Task
Chapter #1.7: start 18109.546667, end 18895.600000
Metadata:
title : Flesh, Blood & Bone
Chapter #1.8: start 18895.600000, end 20799.280000
Metadata:
title : The Death Eaters
Chapter #1.9: start 20799.280000, end 21947.453333
Metadata:
title : Priori Incantatem
Chapter #1.10: start 21947.453333, end 24205.920000
Metadata:
title : Veritaserum
Chapter #1.11: start 24205.920000, end 26618.813333
Metadata:
title : The Parting of the Ways
Chapter #1.12: start 26618.813333, end 28555.365000
Metadata:
title : The Beginning
Stream #1:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 306 kb/s
Metadata:
creation_time : 2013-04-30 17:13:43
handler_name : Apple Sound Media Handler
Stream #1:1(eng): Video: png (png / 0x20676E70), rgba, 425x512 [SAR 2835:2835 DAR 425:512], 0 kb/s, 0k fps, 0k tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2013-04-30 17:14:29
handler_name : ?Apple Alias Data Handler
Stream #1:2(eng): Subtitle: mov_text (text / 0x74786574)
Metadata:
creation_time : 2013-04-30 17:14:29
handler_name : ?Apple Alias Data Handler
Stream #1:3: Video: png, rgba, 850x1024 [SAR 5669:5669 DAR 425:512], 90k tbr, 90k tbn, 90k tbc
[libx264 @ 0x7fb7f406ca00] using SAR=1/1
[libx264 @ 0x7fb7f406ca00] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x7fb7f406ca00] profile High 4:4:4 Predictive, level 2.2, 4:4:4 8-bit
[libx264 @ 0x7fb7f406ca00] 264 - core 125 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, ipod, to 'output.m4a':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42mp41
media_type : 2
title : Harry Potter and the Goblet of Fire, Part 1
track : 4/12
album : Harry Potter
genre : Audiobooks
artist : J. K. Rowling
encoder : Lavf54.63.104
Chapter #0.0: start 0.000000, end 1616.706667
Metadata:
title : The Riddle House
Chapter #0.1: start 1616.706667, end 2630.053333
Metadata:
title : The Scar
Chapter #0.2: start 2630.053333, end 3769.386667
Metadata:
title : The Invitation
Chapter #0.3: start 3769.386667, end 4891.320000
Metadata:
title : Back to the Burrow
Chapter #0.4: start 4891.320000, end 6217.813333
Metadata:
title : Weasleys' Wizard Wheezes
Chapter #0.5: start 6217.813333, end 7104.106667
Metadata:
title : The Portkey
Chapter #0.6: start 7104.106667, end 9077.773333
Metadata:
title : Bagman and Crouch
Chapter #0.7: start 9077.773333, end 11278.266667
Metadata:
title : The Quidditch World Cup
Chapter #0.8: start 11278.266667, end 14019.426667
Metadata:
title : The Dark Mark
Chapter #0.9: start 14019.426667, end 15219.186667
Metadata:
title : Mayhem at the Ministry
Chapter #0.10: start 15219.186667, end 16450.040000
Metadata:
title : Aboard the Hogwarts Express
Chapter #0.11: start 16450.040000, end 18660.160000
Metadata:
title : The Triwizard Tournament
Chapter #0.12: start 18660.160000, end 20293.186667
Metadata:
title : Mad-Eye Moody
Chapter #0.13: start 20293.186667, end 22304.925000
Metadata:
title : The Unforgivable Curses
Chapter #0.14: start 22304.925000, end 24397.378333
Metadata:
title : Beauxbatons and Durmstrang
Chapter #0.15: start 24397.378333, end 26863.071667
Metadata:
title : The Goblet of Fire
Chapter #0.16: start 26863.071667, end 28587.405000
Metadata:
title : The Four Champions
Chapter #0.17: start 28587.405000, end 31132.271667
Metadata:
title : The Weighing of the Wands
Chapter #0.18: start 31132.271667, end 33531.911667
Metadata:
title : The Hungarian Horntail
Chapter #0.19: start 33531.911667, end 36202.245000
Metadata:
title : The First Task
Chapter #0.20: start 36202.245000, end 38363.178333
Metadata:
title : The House-Elf Liberation Front
Chapter #0.21: start 38363.178333, end 40051.618333
Metadata:
title : The Unexpected Task
Chapter #0.22: start 40051.618333, end 43178.978333
Metadata:
title : The Yule Ball
Chapter #0.23: start 43178.978333, end 45614.880000
Metadata:
title : Rita Skeeter's Scoop
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuv444p, 425x512 [SAR 1:1 DAR 425:512], q=-1--1, 19200 tbn, 0k tbc
Metadata:
creation_time : 2013-04-30 17:06:48
handler_name : ?Apple Alias Data Handler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 128 kb/s
Metadata:
creation_time : 2013-04-30 17:05:28
handler_name : Apple Sound Media Handler
Stream mapping:
Stream #0:1 -> #0:0 (png -> libx264)
Stream #0:0 -> #0:1 (aac -> libfaac)
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=17.0 Lsize= 695921kB time=12:40:14.88 bitrate= 125.0kbits/s
video:72kB audio:688161kB subtitle:0 global headers:0kB muxing overhead 1.116984%
[libx264 @ 0x7fb7f406ca00] frame I:1 Avg QP:19.95 size: 73363
[libx264 @ 0x7fb7f406ca00] mb I I16..4: 1.3% 48.7% 50.0%
[libx264 @ 0x7fb7f406ca00] 8x8 transform intra:48.7%
[libx264 @ 0x7fb7f406ca00] coded y,u,v intra: 95.7% 86.3% 91.5%
[libx264 @ 0x7fb7f406ca00] i16 v,h,dc,p: 100% 0% 0% 0%
[libx264 @ 0x7fb7f406ca00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 17% 13% 7% 8% 11% 6% 11% 9%
[libx264 @ 0x7fb7f406ca00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 18% 10% 6% 10% 12% 9% 8% 9%
[libx264 @ 0x7fb7f406ca00] kb/s:0.01
The resultant audio file is smaller than either but has the chapters and length of Part 1, so I'm not sure whether Part 2 is getting added at all.
Info about part 1:
$ ffmpeg -v 9 -loglevel 99 -i 04\ Harry\ Potter\ and\ the\ Goblet\ of\ Fire,\ Part\ 1.m4b
ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Apr 30 2013 13:13:33 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set libav* logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set libav* logging level) with argument '99'.
Reading option '-i' ... matched as input file with argument '04 Harry Potter and the Goblet of Fire, Part 1.m4b'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set libav* logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input file 04 Harry Potter and the Goblet of Fire, Part 1.m4b.
Successfully parsed a group of options.
Opening an input file: 04 Harry Potter and the Goblet of Fire, Part 1.m4b.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc5e8815a00] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc5e8815a00] ISO: File Type Major Brand: mp42
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc5e8815a00] stream 0, timescale not set
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc5e8815a00] File position before avformat_find_stream_info() is 12552911
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc5e8815a00] max_analyze_duration 5000000 reached at 5015510 microseconds
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc5e8815a00] File position after avformat_find_stream_info() is 12746820
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '04 Harry Potter and the Goblet of Fire, Part 1.m4b':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42mp41
creation_time : 2013-04-30 17:05:28
title : Harry Potter and the Goblet of Fire, Part 1
track : 4/12
album : Harry Potter
genre : Audiobooks
artist : J. K. Rowling
encoder : Audiobook Builder 1.5.3 (www.splasm.com), QuickTime 7.7.1
media_type : 2
Duration: 12:40:14.85, start: 0.000000, bitrate: 301 kb/s
Chapter #0.0: start 0.000000, end 1616.706667
Metadata:
title : The Riddle House
Chapter #0.1: start 1616.706667, end 2630.053333
Metadata:
title : The Scar
Chapter #0.2: start 2630.053333, end 3769.386667
Metadata:
title : The Invitation
Chapter #0.3: start 3769.386667, end 4891.320000
Metadata:
title : Back to the Burrow
Chapter #0.4: start 4891.320000, end 6217.813333
Metadata:
title : Weasleys' Wizard Wheezes
Chapter #0.5: start 6217.813333, end 7104.106667
Metadata:
title : The Portkey
Chapter #0.6: start 7104.106667, end 9077.773333
Metadata:
title : Bagman and Crouch
Chapter #0.7: start 9077.773333, end 11278.266667
Metadata:
title : The Quidditch World Cup
Chapter #0.8: start 11278.266667, end 14019.426667
Metadata:
title : The Dark Mark
Chapter #0.9: start 14019.426667, end 15219.186667
Metadata:
title : Mayhem at the Ministry
Chapter #0.10: start 15219.186667, end 16450.040000
Metadata:
title : Aboard the Hogwarts Express
Chapter #0.11: start 16450.040000, end 18660.160000
Metadata:
title : The Triwizard Tournament
Chapter #0.12: start 18660.160000, end 20293.186667
Metadata:
title : Mad-Eye Moody
Chapter #0.13: start 20293.186667, end 22304.925000
Metadata:
title : The Unforgivable Curses
Chapter #0.14: start 22304.925000, end 24397.378333
Metadata:
title : Beauxbatons and Durmstrang
Chapter #0.15: start 24397.378333, end 26863.071667
Metadata:
title : The Goblet of Fire
Chapter #0.16: start 26863.071667, end 28587.405000
Metadata:
title : The Four Champions
Chapter #0.17: start 28587.405000, end 31132.271667
Metadata:
title : The Weighing of the Wands
Chapter #0.18: start 31132.271667, end 33531.911667
Metadata:
title : The Hungarian Horntail
Chapter #0.19: start 33531.911667, end 36202.245000
Metadata:
title : The First Task
Chapter #0.20: start 36202.245000, end 38363.178333
Metadata:
title : The House-Elf Liberation Front
Chapter #0.21: start 38363.178333, end 40051.618333
Metadata:
title : The Unexpected Task
Chapter #0.22: start 40051.618333, end 43178.978333
Metadata:
title : The Yule Ball
Chapter #0.23: start 43178.978333, end 45614.880000
Metadata:
title : Rita Skeeter's Scoop
Stream #0:0(eng), 218, 1/44100: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 298 kb/s
Metadata:
creation_time : 2013-04-30 17:05:28
handler_name : Apple Sound Media Handler
Stream #0:1(eng), 1, 1/600: Video: png (png / 0x20676E70), rgba, 425x512 [SAR 2835:2835 DAR 425:512], 1/600, 0 kb/s, 0k fps, 0k tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2013-04-30 17:06:48
handler_name : ?Apple Alias Data Handler
Stream #0:2(eng), 0, 1/600: Subtitle: mov_text (text / 0x74786574)
Metadata:
creation_time : 2013-04-30 17:06:48
handler_name : ?Apple Alias Data Handler
Stream #0:3, 1, 1/90000: Video: png, rgba, 850x1024 [SAR 5669:5669 DAR 425:512], 1/90000, 90k tbr, 90k tbn, 90k tbc
Successfully opened the file.
At least one output file must be specified
Statistics: 13304702 bytes read, 4 seeks
Info about part 2:
$ ffmpeg -v 9 -loglevel 99 -i 05\ Harry\ Potter\ and\ the\ Goblet\ of\ Fire,\ Part\ 2.m4b
ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Apr 30 2013 13:13:33 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set libav* logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set libav* logging level) with argument '99'.
Reading option '-i' ... matched as input file with argument '05 Harry Potter and the Goblet of Fire, Part 2.m4b'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set libav* logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input file 05 Harry Potter and the Goblet of Fire, Part 2.m4b.
Successfully parsed a group of options.
Opening an input file: 05 Harry Potter and the Goblet of Fire, Part 2.m4b.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fab91015a00] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fab91015a00] ISO: File Type Major Brand: mp42
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fab91015a00] stream 0, timescale not set
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fab91015a00] File position before avformat_find_stream_info() is 8501103
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fab91015a00] max_analyze_duration 5000000 reached at 5015510 microseconds
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fab91015a00] File position after avformat_find_stream_info() is 8653248
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '05 Harry Potter and the Goblet of Fire, Part 2.m4b':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42mp41
creation_time : 2013-04-30 17:13:43
title : Harry Potter and the Goblet of Fire, Part 2
track : 5/12
album : Harry Potter
genre : Audiobooks
artist : J. K. Rowling
encoder : Audiobook Builder 1.5.3 (www.splasm.com), QuickTime 7.7.1
media_type : 2
Duration: 07:55:55.35, start: 0.000000, bitrate: 308 kb/s
Chapter #0.0: start 0.000000, end 2228.533333
Metadata:
title : The Egg and the Eye
Chapter #0.1: start 2228.533333, end 5145.080000
Metadata:
title : The Second Task
Chapter #0.2: start 5145.080000, end 7839.186667
Metadata:
title : Padfoot Returns
Chapter #0.3: start 7839.186667, end 10752.293333
Metadata:
title : The Madness of Mr Crouch
Chapter #0.4: start 10752.293333, end 12453.186667
Metadata:
title : The Dream
Chapter #0.5: start 12453.186667, end 15063.880000
Metadata:
title : The Pensieve
Chapter #0.6: start 15063.880000, end 18109.546667
Metadata:
title : The Third Task
Chapter #0.7: start 18109.546667, end 18895.600000
Metadata:
title : Flesh, Blood & Bone
Chapter #0.8: start 18895.600000, end 20799.280000
Metadata:
title : The Death Eaters
Chapter #0.9: start 20799.280000, end 21947.453333
Metadata:
title : Priori Incantatem
Chapter #0.10: start 21947.453333, end 24205.920000
Metadata:
title : Veritaserum
Chapter #0.11: start 24205.920000, end 26618.813333
Metadata:
title : The Parting of the Ways
Chapter #0.12: start 26618.813333, end 28555.365000
Metadata:
title : The Beginning
Stream #0:0(eng), 218, 1/44100: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 306 kb/s
Metadata:
creation_time : 2013-04-30 17:13:43
handler_name : Apple Sound Media Handler
Stream #0:1(eng), 1, 1/600: Video: png (png / 0x20676E70), rgba, 425x512 [SAR 2835:2835 DAR 425:512], 1/600, 0 kb/s, 0k fps, 0k tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2013-04-30 17:14:29
handler_name : ?Apple Alias Data Handler
Stream #0:2(eng), 0, 1/600: Subtitle: mov_text (text / 0x74786574)
Metadata:
creation_time : 2013-04-30 17:14:29
handler_name : ?Apple Alias Data Handler
Stream #0:3, 1, 1/90000: Video: png, rgba, 850x1024 [SAR 5669:5669 DAR 425:512], 1/90000, 90k tbr, 90k tbn, 90k tbc
Successfully opened the file.
At least one output file must be specified
Statistics: 9219721 bytes read, 4 seeks
Change History (8)
comment:1 by , 13 years ago
comment:3 by , 13 years ago
This does not look like a valid ticket:
$ ffmpeg -i input1 -i input2 output will (assuming both input files contain at least an audio and a video stream) only use streams from input1.
Please test the different ways of concatenation and report back.
And please test current git head, enhancement requests are not accepted for releases.
comment:5 by , 13 years ago
Okay, with ffmpeg HEAD (just compiled it), I use the concat demuxer and the resultant file is of correct length, but it has no metadata or chapters at all.
inputs.txt
file '04 Harry Potter and the Goblet of Fire, Part 1.m4b' file '05 Harry Potter and the Goblet of Fire, Part 2.m4b'
Also, ffmpeg crashes upon exit (though the file is fine). GDB session:
gdb ffmpeg_g
GNU gdb 6.3.50-20050815 (Apple version gdb-1824) (Wed Feb 6 22:51:23 UTC 2013)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries ..... done
warning: .o file "/Users/otters/src/ffmpeg/libavcodec/libavcodec.a(cavsdsp.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libavcodec/libavcodec.a(cavsdsp.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libavcodec/libavcodec.a(dirac_dwt.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libavcodec/libavcodec.a(dirac_dwt.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libavcodec/libavcodec.a(dnxhdenc.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libavcodec/libavcodec.a(dnxhdenc.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libavcodec/libavcodec.a(lpc.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libavcodec/libavcodec.a(lpc.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libavcodec/libavcodec.a(mlpdsp.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libavcodec/libavcodec.a(mlpdsp.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libavcodec/libavcodec.a(motion_est.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libavcodec/libavcodec.a(motion_est.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libavcodec/libavcodec.a(mpegaudiodec.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libavcodec/libavcodec.a(mpegaudiodec.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libavcodec/libavcodec.a(mpegvideo.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libavcodec/libavcodec.a(mpegvideo.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libavcodec/libavcodec.a(simple_idct.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libavcodec/libavcodec.a(simple_idct.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libswscale/libswscale.a(rgb2rgb.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libswscale/libswscale.a(rgb2rgb.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libswscale/libswscale.a(swscale.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libswscale/libswscale.a(swscale.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
warning: .o file "/Users/otters/src/ffmpeg/libavutil/libavutil.a(cpu.o)" more recent than executable timestamp in "/usr/local/bin/ffmpeg_g"
warning: Could not open OSO file /Users/otters/src/ffmpeg/libavutil/libavutil.a(cpu.o) to scan for pubtypes for objfile /usr/local/bin/ffmpeg_g
(gdb) r -f concat -i inputs.txt -c copy output.mp4
Starting program: /usr/local/bin/ffmpeg_g -f concat -i inputs.txt -c copy output.mp4
Reading symbols for shared libraries ++++............................. done
ffmpeg version N-52587-g53efb2f Copyright (c) 2000-2013 the FFmpeg developers
built on Apr 30 2013 15:32:22 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/usr/local --enable-debug
libavutil 52. 27.101 / 52. 27.101
libavcodec 55. 6.100 / 55. 6.100
libavformat 55. 3.100 / 55. 3.100
libavdevice 55. 0.100 / 55. 0.100
libavfilter 3. 61.101 / 3. 61.101
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x102035c00] stream 0, timescale not set
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x102035c00] max_analyze_duration 5000000 reached at 5015510 microseconds
[concat @ 0x10202d600] max_analyze_duration 5000000 reached at 5015510 microseconds
[concat @ 0x10202d600] Estimating duration from bitrate, this may be inaccurate
Input #0, concat, from 'inputs.txt':
Duration: 00:00:00.00, start: 0.000000, bitrate: 278 kb/s
Stream #0:0: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 298 kb/s
Stream #0:1: Video: png (png / 0x20676E70), rgba, 425x512 [SAR 2835:2835 DAR 425:512], 0 kb/s, 0k fps, 0k tbr, 600 tbn, 600 tbc
Stream #0:2: Subtitle: mov_text (text / 0x74786574)
Stream #0:3: Video: png, rgba, 850x1024 [SAR 5669:5669 DAR 425:512], 90k tbr, 90k tbn, 90k tbc
Output #0, mp4, to 'output.mp4':
Metadata:
encoder : Lavf55.3.100
Stream #0:0: Video: png (m[0][0][0] / 0x006D), rgba, 850x1024 [SAR 5669:5669 DAR 425:512], q=2-31, 90k tbn, 90k tbc
Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, 298 kb/s
Stream mapping:
Stream #0:3 -> #0:0 (copy)
Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
stream 0, timescale not setsize= 1682kB time=12:18:49.07 bitrate= 0.3kbits/s
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x102035c00] max_analyze_duration 5000000 reached at 5015510 microseconds
[mp4 @ 0x102054a00] st:0 PTS: 2011615032 DTS: 2011615032 < 2011615233 invalid, clipping
frame= 2 fps=0.0 q=-1.0 Lsize= 2747329kB time=20:36:10.21 bitrate= 303.4kbits/s
video:3364kB audio:2731445kB subtitle:0 global headers:0kB muxing overhead 0.457797%
ffmpeg_g(67492) malloc: *** error for object 0x101809600: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Program received signal SIGABRT, Aborted.
0x00000001013a8d46 in __kill ()
(gdb) bt
#0 0x00000001013a8d46 in __kill ()
#1 0x0000000101285df0 in abort ()
#2 0x00000001012599b9 in free ()
#3 0x000000010060fb9c in av_freep (arg=0x1020541c8) at mem.c:194
#4 0x0000000101288f57 in exit ()
#5 0x0000000100013c82 in main (argc=33740288, argv=0x16171) at ffmpeg.c:3372
(gdb) disass $pc-32,$pc+32
Dump of assembler code for function listen:
0x00000001013a8d64 <listen+0>: mov $0x200006a,%eax
0x00000001013a8d69 <listen+5>: mov %rcx,%r10
0x00000001013a8d6c <listen+8>: syscall
0x00000001013a8d6e <listen+10>: jae 0x1013a8d75 <listen+17>
0x00000001013a8d70 <listen+12>: jmpq 0x1013aa4d4 <cerror_nocancel>
0x00000001013a8d75 <listen+17>: retq
0x00000001013a8d76 <listen+18>: nop
0x00000001013a8d77 <listen+19>: nop
End of assembler dump.
(gdb) info all-registers
rax 0x0 0
rbx 0x7fff5fbff5b0 140734799803824
rcx 0x7fff5fbff598 140734799803800
rdx 0x0 0
rsi 0x6 6
rdi 0x107a4 67492
rbp 0x7fff5fbff5c0 0x7fff5fbff5c0
rsp 0x7fff5fbff598 0x7fff5fbff598
r8 0x0 0
r9 0x0 0
r10 0x1013aa342 4315587394
r11 0x202 514
r12 0x101790000 4319674368
r13 0x1017c0000 4319870976
r14 0x101809600 4320171520
r15 0x1 1
rip 0x1013a8d46 0x1013a8d46 <__kill+10>
eflags 0x202 514
cs 0x7 7
ss 0x0 0
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
st0 -nan(0xff0023002d00bb) (raw 0xffff00ff0023002d00bb)
st1 -nan(0xff0023002d00bb) (raw 0xffff00ff0023002d00bb)
st2 <invalid float value> (raw 0xffff0000000000000000)
st3 -nan(0xff232dbbff232dbb) (raw 0xffffff232dbbff232dbb)
st4 <invalid float value> (raw 0xffff0000000000000000)
st5 <invalid float value> (raw 0xffff0000000000000000)
st6 <invalid float value> (raw 0xffff0000000000000000)
st7 <invalid float value> (raw 0xffff0000000000000000)
fctrl 0x37f 895
fstat 0x220 544
ftag 0xffff 65535
fiseg 0x2b 43
fioff 0x13cd8b0 20764848
foseg 0x23 35
fooff 0x5fbff508 1606415624
fop 0x0 0
xmm0 {
v4_float = {-1.70141183e+38, 0, 0, 0},
v2_double = {-5.4861240687936887e+303, 0},
v16_int8 = {-1, 0 <repeats 15 times>},
v8_int16 = {-256, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {-16777216, 0, 0, 0},
v2_int64 = {-72057594037927936, 0},
uint128 = 0xff000000000000000000000000000000
} (raw 0x000000000000000000000000000000ff)
xmm1 {
v4_float = {6.4105482e-10, 6.70087097e-10, 3.61161057e-09, 7.20647161e+31},
v2_double = {1.400079248234015e-76, 2.1903872225921411e-70},
v16_int8 = {48, 48, 54, 57, 48, 56, 49, 48, 49, 120, 48, 32, 116, 99, 101, 106},
v8_int16 = {12336, 13881, 12344, 12592, 12664, 12320, 29795, 25962},
v4_int32 = {808465977, 808988976, 829960224, 1952671082},
v2_int64 = {3472334931952677168, 3564652021013505386},
uint128 = 0x3030363930383130317830207463656a
} (raw 0x6a656374203078313031383039363030)
xmm2 {
v4_float = {1.96029927e-19, 6.67408335e+22, 7.21433831e+22, 7.43153619e+28},
v2_double = {1.398068697773651e-152, 5.2987488844886402e+180},
v16_int8 = {32, 103, 110, 105, 101, 98, 32, 114, 101, 116, 110, 105, 111, 112, 32, 58},
v8_int16 = {8295, 28265, 25954, 8306, 25972, 28265, 28528, 8250},
v4_int32 = {543649385, 1700929650, 1702129257, 1869619258},
v2_int64 = {2334956330766442610, 7310589494249398330},
uint128 = 0x20676e696562207265746e696f70203a
} (raw 0x3a20706f696e746572206265696e6720)
xmm3 {
v4_float = {1.08864626e+27, 7.3696661e+28, 2.84917486e+20, 6.77207627e+22},
v2_double = {1.153141411761155e+214, 3.2513835464533637e+161},
v16_int8 = {108, 97, 32, 116, 111, 110, 32, 115, 97, 119, 32, 100, 101, 101, 114, 102},
v8_int16 = {27745, 8308, 28526, 8307, 24951, 8292, 25957, 29286},
v4_int32 = {1818304628, 1869488243, 1635197028, 1701147238},
v2_int64 = {7809558913294934131, 7023117759477543526},
uint128 = 0x6c6120746f6e20736177206465657266
} (raw 0x667265656420776173206e6f7420616c)
xmm4 {
v4_float = {2.38793926e-38, 6.30194116e-36, 2.4375, 0},
v2_double = {8.2078803991318393e-304, 7},
v16_int8 = {1, 2, 3, 4, 5, 6, 7, 8, 64, 28, 0, 0, 0, 0, 0, 0},
v8_int16 = {258, 772, 1286, 1800, 16412, 0, 0, 0},
v4_int32 = {16909060, 84281096, 1075576832, 0},
v2_int64 = {72623859790382856, 4619567317775286272},
uint128 = 0x0102030405060708401c000000000000
} (raw 0x0000000000001c400807060504030201)
xmm5 {
v4_float = {0, 0, 1.72889864, 3.16473191e+35},
v2_double = {0, 0.45779740293729293},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 63, -35, 76, -115, 122, 115, -51, 85},
v8_int16 = {0, 0, 0, 0, 16349, 19597, 31347, -12971},
v4_int32 = {0, 0, 1071467661, 2054409557},
v2_int64 = {0, 4601918564771024213},
uint128 = 6182724833643388223
} (raw 0x55cd737a8d4cdd3f0000000000000000)
xmm6 {
v4_float = {1.15232481e-28, 3.03104765e-26, 7.96708809e-24, 2.09272171e-21},
v2_double = {1.9074368412237584e-226, 9.3747856527310008e-188},
v16_int8 = {17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32},
v8_int16 = {4370, 4884, 5398, 5912, 6426, 6940, 7454, 7968},
v4_int32 = {286397204, 353769240, 421141276, 488513312},
v2_int64 = {1230066625199609624, 1808788007904223008},
uint128 = 0x1112131415161718191a1b1c1d1e1f20
} (raw 0x201f1e1d1c1b1a191817161514131211)
xmm7 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm8 {
v4_float = {2.59315147e-09, 6.78806373e-07, 0.000177604088, 0.0464470387},
v2_double = {1.0300843656201408e-71, 5.0519815492833995e-33},
v16_int8 = {49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64},
v8_int16 = {12594, 13108, 13622, 14136, 14650, 15164, 15678, 16192},
v4_int32 = {825373492, 892745528, 960117564, 1027489600},
v2_int64 = {3544952156018063160, 4123673538722676544},
uint128 = 0x3132333435363738393a3b3c3d3e3f40
} (raw 0x403f3e3d3c3b3a393837363534333231)
xmm9 {
v4_float = {5.49342432e-19, 1.44114715e-16, 3.77850285e-14, 9.90123261e-12},
v2_double = {4.4326565212010269e-149, 2.1762701218027049e-110},
v16_int8 = {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48},
v8_int16 = {8482, 8996, 9510, 10024, 10538, 11052, 11566, 12080},
v4_int32 = {555885348, 623257384, 690629420, 758001456},
v2_int64 = {2387509390608836392, 2966230773313449776},
uint128 = 0x2122232425262728292a2b2c2d2e2f30
} (raw 0x302f2e2d2c2b2a292827262524232221)
xmm10 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm11 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm12 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm13 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm14 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm15 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
mxcsr 0x1fa0 8096
comment:6 by , 13 years ago
Please check whether this patch fixes the crash:
http://ffmpeg.org/pipermail/ffmpeg-devel/2013-April/142854.html
The concat demuxer does not handle chapters yet, but there is nothing preventing it in theory.
I do not understand richardpl's remark, except as an unpleasant and unfounded snarky criticism. For reference, chapters are automatically updated when using the -ss and -t options.
comment:8 by , 12 years ago
| Keywords: | chapters added |
|---|---|
| Priority: | normal → wish |
| Status: | new → open |
| Version: | 1.2 → git-master |



Would provide the input files, but they are both about 1.3GB and I'm not sure of any hosting service that allows files that big.