Estoy segmentando un video de 20 minutos de duración en cientos de pequeños clips. El comando es como
ffmpeg\\ffmpeg -i nx_1.avi -ss 399.37 -t 1 ka1_2.avi
El ffmpeg está en una subcarpeta.
Funciona muy bien para la mayoría de mis archivos de video. El problema es un archivo, para ese archivo, algunos clips segmentados solo tienen audio, el video relevante obviamente no fue escrito en el clip. (Adjunto el archivo de registro a continuación). Pero los clips segmentados en otra parte del video son buenos. Tanto el audio como el video están bien. Traté de segmentar un clip más largo para rodear la parte problemática del video original y reproducirlo. El clip se reproduce bien hasta la parte problemática, se congeló al comienzo de la parte problemática.
Uso ffprobe para sondear el avi, dice que el índice ODML no es válido. Supongo que este es el problema.
¿Como puedó resolver esté problema?
Archivo de registro:
ffmpeg started on 2013-05-07 at 10:29:33
Report written to "ffmpeg-20130507-102933.log"
Command line:
"ffmpeg\\\\ffmpeg" -i nx_1.avi -ss 399.37 -t 1 ka1_2.avi -report
ffmpeg version N-51683-g9dc88ac Copyright (c) 2000-2013 the FFmpeg developers
built on Apr 8 2013 21:22:02 with gcc 4.8.0 (GCC)
configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 25.100 / 52. 25.100
libavcodec 55. 2.100 / 55. 2.100
libavformat 55. 1.100 / 55. 1.100
libavdevice 55. 0.100 / 55. 0.100
libavfilter 3. 49.101 / 3. 49.101
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 '-i' ... matched as input file with argument 'nx_1.avi'.
Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '399.37'.
Reading option '-t' ... matched as option 't' (record or transcode "duration" seconds of audio/video) with argument '1'.
Reading option 'ka1_2.avi' ... matched as output file.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input file nx_1.avi.
Successfully parsed a group of options.
Opening an input file: nx_1.avi.
[avi @ 007c8f40] Format avi probed with size=2048 and score=100
[avi @ 01d9b800] use odml:1
st:0 removing common factor 400000 from timebase
[avi @ 007c8f40] File is truncated adjusting duration
[avi @ 007c8f40] ODML index invalid
[avi @ 007c8f40] ODML index invalid
[avi @ 007c8f40] ODML index invalid
[avi @ 007c8f40] ODML index invalid
[avi @ 007c8f40] ODML index invalid
[avi @ 007c8f40] ODML index invalid
st:1 removing common factor 4 from timebase
[avi @ 007c8f40] ODML index invalid
[avi @ 007c8f40] non-interleaved AVI
[avi @ 007c8f40] File position before avformat_find_stream_info() is 64668
[avi @ 007c8f40] parser not found for codec dvvideo, packets or times may be invalid.
[avi @ 007c8f40] parser not found for codec pcm_s16le, packets or times may be invalid.
[avi @ 007c8f40] parser not found for codec dvvideo, packets or times may be invalid.
[avi @ 007c8f40] parser not found for codec pcm_s16le, packets or times may be invalid.
[avi @ 007c8f40] All info found
[avi @ 007c8f40] File position after avformat_find_stream_info() is 3733036
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, avi, from 'nx_1.avi':
Duration: 00:04:05.12, start: 0.000000, bitrate: 7187 kb/s
Stream #0:0, 1, 1/25: Video: dvvideo (dvsd / 0x64737664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream #0:1, 1, 1/48000: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
Successfully opened the file.
Parsing a group of options: output file ka1_2.avi.
Applying option ss (set the start time offset) with argument 399.37.
Applying option t (record or transcode "duration" seconds of audio/video) with argument 1.
Successfully parsed a group of options.
Opening an output file: ka1_2.avi.
Successfully opened the file.
[buffer @ 007c6fe0] Setting entry with key 'video_size' to value '720x576'
[buffer @ 007c6fe0] Setting entry with key 'pix_fmt' to value '0'
[buffer @ 007c6fe0] Setting entry with key 'time_base' to value '1/25'
[buffer @ 007c6fe0] Setting entry with key 'pixel_aspect' to value '16/15'
[buffer @ 007c6fe0] Setting entry with key 'sws_param' to value 'flags=2'
[buffer @ 007c6fe0] Setting entry with key 'frame_rate' to value '25/1'
[graph 0 input from stream 0:0 @ 007cdda0] w:720 h:576 pixfmt:yuv420p tb:1/25 fr:25/1 sar:16/15 sws_param:flags=2
[AVFilterGraph @ 01d9b2e0] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed
[abuffer @ 007c6f60] Setting entry with key 'time_base' to value '1/48000'
[abuffer @ 007c6f60] Setting entry with key 'sample_rate' to value '48000'
[abuffer @ 007c6f60] Setting entry with key 'sample_fmt' to value 's16'
[abuffer @ 007c6f60] Setting entry with key 'channel_layout' to value '0x3'
[graph 1 input from stream 0:1 @ 007ca880] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:0x3
[aformat @ 007cde40] Setting entry with key 'sample_fmts' to value 's32p,fltp,s16p'
[aformat @ 007cde40] Setting entry with key 'sample_rates' to value '44100,48000,32000,22050,24000,16000,11025,12000,8000'
[aformat @ 007cde40] Setting entry with key 'channel_layouts' to value '0x4,0x3'
[audio format for output stream 0:1 @ 007ca940] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:1'
[AVFilterGraph @ 007c9740] query_formats: 4 queried, 9 merged, 3 already done, 0 delayed
[auto-inserted resampler 0 @ 007ca9a0] ch:2 chl:stereo fmt:s16 r:48000Hz -> ch:2 chl:stereo fmt:s16p r:48000Hz
[mpeg4 @ 021f0060] detected 8 logical cores
[mpeg4 @ 021f0060] intra_quant_bias = 0 inter_quant_bias = -64
[dvvideo @ 007ccd60] detected 8 logical cores
Output #0, avi, to 'ka1_2.avi':
Metadata:
ISFT : Lavf55.1.100
Stream #0:0, 0, 1/25: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=2-31, 200 kb/s, 25 tbn, 25 tbc
Stream #0:1, 0, 3/125: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p
Stream mapping:
Stream #0:0 -> #0:0 (dvvideo -> mpeg4)
Stream #0:1 -> #0:1 (pcm_s16le -> libmp3lame)
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
frame= 0 fps=0.0 q=0.0 size= 10kB time=00:00:00.00 bitrate=N/A
EOF on sink link output stream 0:0:default.
No more output streams to write to, finishing.
[libmp3lame @ 021f0440] Trying to remove 47 more samples than there are in the queue
frame= 0 fps=0.0 q=0.0 Lsize= 27kB time=00:00:01.03 bitrate= 213.5kbits/s
video:0kB audio:16kB subtitle:0 global headers:0kB muxing overhead 66.787791%
[AVIOContext @ 01d9a200] Statistics: 10 seeks, 51 writeouts
[AVIOContext @ 01d98d20] Statistics: 1566764528 bytes read, 16520 seeks