[FFmpeg-devel] [PATCH v4] avformat/flvenc: add add_keyframe_index option

Steven Liu lingjiujianke at gmail.com
Tue Nov 8 11:48:07 EET 2016


2016-11-08 16:51 GMT+08:00 Steven Liu <lingjiujianke at gmail.com>:

>
>
> 2016-11-08 16:47 GMT+08:00 Michael Niedermayer <michael at niedermayer.cc>:
>
>> On Tue, Nov 08, 2016 at 03:17:26PM +0800, Steven Liu wrote:
>> [...]
>> > > diff --git a/tests/ref/fate/flv-add_keyframe_index
>> > > b/tests/ref/fate/flv-add_keyframe_index
>> > > new file mode 100644
>> > > index 0000000..8e12244
>> > > --- /dev/null
>> > > +++ b/tests/ref/fate/flv-add_keyframe_index
>> > > @@ -0,0 +1,12 @@
>> > > +;FFMETADATA1
>> > > +hasVideo=true
>> > > +hasKeyframes=true
>> > > +hasAudio=false
>> > > +hasMetadata=true
>> > > +canSeekToEnd=true
>> > > +datasize=55566
>> > > +videosize=55207
>> > > +audiosize=0
>> > > +lasttimestamp=5
>> > > +lastkeyframetimestamp=5
>> > > +lastkeyframelocation=52623
>> > > --
>> > > 1.7.1
>> > >
>> > >
>> > >
>> > > _______________________________________________
>> > > ffmpeg-devel mailing list
>> > > ffmpeg-devel at ffmpeg.org
>> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> > >
>> >
>> > Hi Michael,
>> >
>> >       Can you share the qemu+ARM test compile example into the wiki, i
>> have
>> > not found it, so only test with:
>>
>> the qemu arm is very similar to qemu mips
>> you can see one qemu arm fate client with all configure parameters here:
>> http://fatebeta.ffmpeg.org/report/armel5tej-qemu-debian-gcc4
>> .4/20161108072019
>>
>>
>> >      macbook osx, pc Linux ubuntu, qemu + mips, wine+mingw, no
>> > qemu+arm environment.
>>
>> qemu mips fails similarly
>>
>
>
> lq at ubuntu:~/ffmpeg/mips$ make fate-flv-add_keyframe_index
> GEN tests/data/add_keyframe_index.flv
> ffmpeg version N-82288-gacd87df Copyright (c) 2000-2016 the FFmpeg
> developers
>   built with gcc 4.4.5 (Debian 4.4.5-8)
>   configuration: --target-exec='qemu-mips -cpu 74Kf -L
> /usr/mips-linux-gnu/' --samples=... --enable-gpl --cross-prefix=/usr/mips-linux-gnu/bin/
> --cc='ccache mips-linux-gnu-gcc-4.4' --arch=mips --target-os=linux
> --enable-cross-compile --disable-mipsfpu --disable-iconv
>   libavutil      55. 35.100 / 55. 35.100
>   libavcodec     57. 66.101 / 57. 66.101
>   libavformat    57. 57.100 / 57. 57.100
>   libavdevice    57.  2.100 / 57.  2.100
>   libavfilter     6. 66.100 /  6. 66.100
>   libswscale      4.  3.100 /  4.  3.100
>   libswresample   2.  4.100 /  2.  4.100
>   libpostproc    54.  2.100 / 54.  2.100
> Input #0, lavfi, from 'color=c=red:size=352x288':
>   Duration: N/A, start: 0.000000, bitrate: N/A
>     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288
> [SAR 1:1 DAR 11:9], 25 tbr, 25 tbn, 25 tbc
> [flv @ 0x1d38d30] Setting the AVFormatContext to bitexact mode, because
> the AVCodecContext is in that mode. This behavior will change in the
> future. To keep the current behavior, set AVFormatContext.flags |=
> AVFMT_FLAG_BITEXACT.
> Output #0, flv, to '/home/lq/ffmpeg/mips/tests/
> data/add_keyframe_index.flv':
>     Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p,
> 352x288 [SAR 1:1 DAR 11:9], q=2-31, 100 kb/s, 25 fps, 1k tbn, 25 tbc
>     Metadata:
>       encoder         : Lavc flv
>     Side data:
>       cpb: bitrate max/min/avg: 0/0/100000 buffer size: 0 vbv_delay: -1
> Stream mapping:
>   Stream #0:0 -> #0:0 (rawvideo (native) -> flv1 (flv))
> Press [q] to stop, [?] for help
> frame=  125 fps=0.0 q=2.0 Lsize=      55kB time=00:00:04.96 bitrate=
>  90.3kbits/s speed=5.42x
> video:52kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: 5.215479%
> TEST    flv-add_keyframe_index
> lq at ubuntu:~/ffmpeg/mips$
> lq at ubuntu:~/ffmpeg/mips$
>
>
>
>
>> [...]
>> --
>> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>>
>> The bravest are surely those who have the clearest vision
>> of what is before them, glory and danger alike, and yet
>> notwithstanding go out to meet it. -- Thucydides
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>>

qemu+arm ok:


liuqi at localhost:~/ffmpeg/arm$ make fate-flv-add_keyframe_index
HOSTCC tests/base64.o
HOSTLD tests/base64
HOSTCC tests/tiny_psnr.o
HOSTLD tests/tiny_psnr
HOSTCC tests/tiny_ssim.o
HOSTLD tests/tiny_ssim
HOSTCC tests/audiomatch.o
src/tests/audiomatch.c: In function ‘main’:
src/tests/audiomatch.c:83:10: warning: ignoring return value of ‘fread’,
declared with attribute warn_unused_result [-Wunused-result]
     fread(data  , 1, datlen, f[0]);
          ^
src/tests/audiomatch.c:84:10: warning: ignoring return value of ‘fread’,
declared with attribute warn_unused_result [-Wunused-result]
     fread(signal, 1, siglen, f[1]);
          ^
HOSTLD tests/audiomatch
GEN tests/data/add_keyframe_index.flv
ffmpeg version N-82288-gacd87df Copyright (c) 2000-2016 the FFmpeg
developers
  built with gcc 4.4.5 (Debian 4.4.5-8)
  configuration: --enable-gpl --enable-memory-poisoning --enable-avresample
--cc='ccache arm-linux-gnueabi-gcc' --target-exec='qemu-arm -L
/usr/arm-linux-gnueabi/' --arch=armv5te --cpu=armv5te
--enable-cross-compile --target-os=linux
--cross-prefix=/usr/arm-linux-gnueabi/bin/
  libavutil      55. 35.100 / 55. 35.100
  libavcodec     57. 66.101 / 57. 66.101
  libavformat    57. 57.100 / 57. 57.100
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 66.100 /  6. 66.100
  libavresample   3.  2.  0 /  3.  2.  0
  libswscale      4.  3.100 /  4.  3.100
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
Input #0, lavfi, from 'color=c=red:size=352x288':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288 [SAR
1:1 DAR 11:9], 25 tbr, 25 tbn, 25 tbc
[flv @ 0x1a8bd30] Setting the AVFormatContext to bitexact mode, because the
AVCodecContext is in that mode. This behavior will change in the future. To
keep the current behavior, set AVFormatContext.flags |= AVFMT_FLAG_BITEXACT.
Output #0, flv, to
'/home/liuqi/ffmpeg/arm/tests/data/add_keyframe_index.flv':
    Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p,
352x288 [SAR 1:1 DAR 11:9], q=2-31, 100 kb/s, 25 fps, 1k tbn, 25 tbc
    Metadata:
      encoder         : Lavc flv
    Side data:
      cpb: bitrate max/min/avg: 0/0/100000 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> flv1 (flv))
Press [q] to stop, [?] for help
frame=  125 fps=0.0 q=2.0 Lsize=      55kB time=00:00:04.96 bitrate=
 90.3kbits/s speed=5.66x
video:52kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 5.215479%
TEST    flv-add_keyframe_index
liuqi at localhost:~/ffmpeg/arm$


More information about the ffmpeg-devel mailing list