Recherche avancée

Médias (0)

Mot : - Tags -/diogene

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (69)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Les images

    15 mai 2013

Sur d’autres sites (4133)

  • av_interleaved_write_frame() : Connection reset by peer mjpeg : What is wrong with mjpeg stream, ffserver and ffplay ?

    31 décembre 2016, par Ilya Yevlampiev

    I’m creating mjpeg stream from image files using ffmpeg and write it to ffserver’s feed :

    sudo ffmpeg -loop 1 -i fon.jpeg -vcodec mjpeg -f mjpeg http://localhost:8090/feed1.ffm

    ffmpeg version 2.0 Copyright (c) 2000-2013 the FFmpeg developers
    built on Aug 19 2013 23:10:58 with gcc 4.7 (Debian 4.7.2-5)
    configuration:
    libavutil      52. 38.100 / 52. 38.100
    libavcodec     55. 18.102 / 55. 18.102
    libavformat    55. 12.100 / 55. 12.100
    libavdevice    55.  3.100 / 55.  3.100
    libavfilter     3. 79.101 /  3. 79.101
    libswscale      2.  3.100 /  2.  3.100
    libswresample   0. 17.102 /  0. 17.102
    Input #0, image2, from 'fon.jpeg':
    Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
    Output #0, mjpeg, to 'http://localhost:8090/feed1.ffm':
    Metadata:
    encoder         : Lavf55.12.100
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (mjpeg -> mjpeg)
    Press [q] to stop, [?] for help

    ffserver is configured as

    Port 8090
    RTSPPort 8594
    BindAddress 0.0.0.0
    MaxClients 100
    MaxBandwidth 20000
    NoDaemon
    <feed>
    File /tmp/feed.ffm
    FileMaxSize 3M
    </feed>
    <stream>
    Feed feed.ffm
    Format rtsp
    VideoCodec mjpeg
    VideoFrameRate 30
    VideoBufferSize 80000
    VideoBitRate 200
    VideoQMin 1
    VideoQMax 5
    VideoSize 1280x720
    PreRoll 1
    Noaudio
    </stream>
    <stream>
    Feed feed.ffm
    Format swf
    VideoCodec flv
    VideoFrameRate 30
    VideoBufferSize 50000
    VideoBitRate 100
    VideoQMin 1
    VideoQMax 5
    VideoSize 1280x720
    PreRoll 0
    Noaudio
    </stream>

    Then I’m trying to retrieve the rtsp stream from the ffserver :

    ffplay http://localhost:8090/test.rtsp -loglevel debug
    avplay version 0.8.5-6:0.8.5-1, Copyright (c) 2003-2012 the Libav developers
    built on Jan 13 2013 12:05:48 with gcc 4.7.2
    configuration: --arch=amd64 --enable-pthreads --enable-runtime-cpudetect --extra-         version='6:0.8.5-1' --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libdirac --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-swscale --enable-libcdio --enable-x11grab --enable-libx264 --enable-libxvid --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static

    avutil configuration : —arch=amd64 —enable-pthreads —enable-runtime-cpudetect —extra-version=’6:0.8.4-1’ —libdir=/usr/lib/x86_64-linux-gnu —prefix=/usr —enable-bzlib —enable-libdc1394 —enable-libdirac —enable-libfreetype —enable-frei0r —enable-gnutls —enable-libgsm —enable-libmp3lame —enable-librtmp —enable-libopencv —enable-libopenjpeg —enable-libpulse —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-vaapi —enable-vdpau —enable-libvorbis —enable-libvpx —enable-zlib —enable-gpl —enable-postproc —enable-swscale —enable-libcdio —enable-x11grab —enable-libx264 —enable-libxvid —shlibdir=/usr/lib/x86_64-linux-gnu —enable-shared —disable-static
    avcodec configuration : —arch=amd64 —enable-pthreads —enable-runtime-cpudetect —extra-version=’6:0.8.4-1’ —libdir=/usr/lib/x86_64-linux-gnu —prefix=/usr —enable-bzlib —enable-libdc1394 —enable-libdirac —enable-libfreetype —enable-frei0r —enable-gnutls —enable-libgsm —enable-libmp3lame —enable-librtmp —enable-libopencv —enable-libopenjpeg —enable-libpulse —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-vaapi —enable-vdpau —enable-libvorbis —enable-libvpx —enable-zlib —enable-gpl —enable-postproc —enable-swscale —enable-libcdio —enable-x11grab —enable-libx264 —enable-libxvid —shlibdir=/usr/lib/x86_64-linux-gnu —enable-shared —disable-static
    avformat configuration : —arch=amd64 —enable-pthreads —enable-runtime-cpudetect —extra-version=’6:0.8.4-1’ —libdir=/usr/lib/x86_64-linux-gnu —prefix=/usr —enable-bzlib —enable-libdc1394 —enable-libdirac —enable-libfreetype —enable-frei0r —enable-gnutls —enable-libgsm —enable-libmp3lame —enable-librtmp —enable-libopencv —enable-libopenjpeg —enable-libpulse —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-vaapi —enable-vdpau —enable-libvorbis —enable-libvpx —enable-zlib —enable-gpl —enable-postproc —enable-swscale —enable-libcdio —enable-x11grab —enable-libx264 —enable-libxvid —shlibdir=/usr/lib/x86_64-linux-gnu —enable-shared —disable-static
    swscale configuration : —arch=amd64 —enable-pthreads —enable-runtime-cpudetect —extra-version=’6:0.8.4-1’ —libdir=/usr/lib/x86_64-linux-gnu —prefix=/usr —enable-bzlib —enable-libdc1394 —enable-libdirac —enable-libfreetype —enable-frei0r —enable-gnutls —enable-libgsm —enable-libmp3lame —enable-librtmp —enable-libopencv —enable-libopenjpeg —enable-libpulse —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-vaapi —enable-vdpau —enable-libvorbis —enable-libvpx —enable-zlib —enable-gpl —enable-postproc —enable-swscale —enable-libcdio —enable-x11grab —enable-libx264 —enable-libxvid —shlibdir=/usr/lib/x86_64-linux-gnu —enable-shared —disable-static
    postproc configuration : —arch=amd64 —enable-pthreads —enable-runtime-cpudetect —extra-version=’6:0.8.4-1’ —libdir=/usr/lib/x86_64-linux-gnu —prefix=/usr —enable-bzlib —enable-libdc1394 —enable-libdirac —enable-libfreetype —enable-frei0r —enable-gnutls —enable-libgsm —enable-libmp3lame —enable-librtmp —enable-libopencv —enable-libopenjpeg —enable-libpulse —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-vaapi —enable-vdpau —enable-libvorbis —enable-libvpx —enable-zlib —enable-gpl —enable-postproc —enable-swscale —enable-libcdio —enable-x11grab —enable-libx264 —enable-libxvid —shlibdir=/usr/lib/x86_64-linux-gnu —enable-shared —disable-static

    libavutil    51. 22. 1 / 51. 22. 1
    libavcodec   53. 35. 0 / 53. 35. 0
    libavformat  53. 21. 1 / 53. 21. 0
    libavdevice  53.  2. 0 / 53.  2. 0
    libavfilter   2. 15. 0 /  2. 15. 0
    libswscale    2.  1. 0 /  2.  1. 0
    libpostproc  52.  0. 0 / 52.  0. 0
    http://localhost:8090/test.rtsp: Invalid data found when processing input

    So, what is wrong in this streaming example, if I have no problem when I substitute streams to the files ?

    I create a mjpeg file using the same parameters 9i.e. file is an output insteadof stream)

    sudo ffmpeg -loop 1 -i fon.jpeg -vcodec mjpeg -f mjpeg test.mjpg
    ffmpeg version 2.0 Copyright (c) 2000-2013 the FFmpeg developers
    built on Aug 19 2013 23:10:58 with gcc 4.7 (Debian 4.7.2-5)
    configuration:
    libavutil      52. 38.100 / 52. 38.100
    libavcodec     55. 18.102 / 55. 18.102
    libavformat    55. 12.100 / 55. 12.100
    libavdevice    55.  3.100 / 55.  3.100
    libavfilter     3. 79.101 /  3. 79.101
    libswscale      2.  3.100 /  2.  3.100
    libswresample   0. 17.102 /  0. 17.102
    Input #0, image2, from 'fon.jpeg':
    Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
    Output #0, mjpeg, to 'test.mjpg':
    Metadata:
    encoder         : Lavf55.12.100
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (mjpeg -> mjpeg)
    Press [q] to stop, [?] for help
    frame=   36 fps=0.0 q=0.0 size=     888kB time=00:00:01.36 bitrate=5349.2kbits/sframe=   78 fps= 76 q=0.0 size=    1711kB time=00:00:03.04 bitrate=4609.9kbits/sframe=  120 fps= 78 q=0.0 size=    2533kB time=00:00:04.72 bitrate=4396.9kbits/sframe=  161 fps= 79 q=0.0 size=    3336kB time=00:00:06.36 bitrate=4297.5kbits/sframe=  202 fps= 79 q=0.0 size=    4139kB      
    time=00:00:08.00 bitrate=4238.8kbits/sframe=  243 fps= 79 q=0.0 size=    4943kB  
    time=00:00:09.64 bitrate=4200.1kbits/sframe=  282 fps= 79 q=0.0 size=    5706kB
    time=00:00:11.20 bitrate=4173.9kbits/sframe=  321 fps= 79 q=0.0 size=    6470kB  
    time=00:00:12.76 bitrate=4154.0kbits/sframe=  358 fps= 78 q=0.0 size=    7195kB
    time=00:00:14.24 bitrate=4139.2kbits/sframe=  397 fps= 68 q=0.0 size=    7959kB
    time=00:00:15.80 bitrate=4126.6kbits/s    
    [1]+  Stopped sudo ffmpeg -loop 1 -i fon.jpeg -vcodec mjpeg -f mjpeg test.mjpg

    And then I playback this mjpeg file with ffplay. The play back is correct, I see no errors or exceptions.

    ffplay test.mjpg
    avplay version 0.8.5-6:0.8.5-1, Copyright (c) 2003-2012 the Libav developers
    built on Jan 13 2013 12:05:48 with gcc 4.7.2
    [mjpeg @ 0x7fc3680008c0] max_analyze_duration reached
    [mjpeg @ 0x7fc3680008c0] Estimating duration from bitrate, this may be inaccurate
    Input #0, mjpeg, from 'test.mjpg':
    Duration: N/A, bitrate: N/A
    Stream #0.0: Video: mjpeg, yuvj420p, 1280x720 [PAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 1200k tbc
    [avsink @ 0x7fc360001020] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
    [scale @ 0x7fc360001700] w:1280 h:720 fmt:yuvj420p -> w:1280 h:720 fmt:yuv420p flags:0x4
    27.99 A-V:  0.000 s:0.0 aq=    0KB vq=    0KB sq=    0B f=0/0   0/0

    So, what is the configuration issue for ffserver, or may be it is a bug of the ffserver ?

    UPD. I have realized, that i fed file1.ffm instead of file.ffm ; that caused some ffserver problem :

    Mon Sep  9 11:43:20 2013 [ffm @ 0x2110000]Format ffm probed with size=2048 and score=101
    Mon Sep  9 11:43:20 2013 Deleting feed file 'feed1.ffm' as stream counts differ (1 != 2)
    Mon Sep  9 11:43:20 2013 [AVIOContext @ 0x210d660]Statistics: 4096 bytes read, 0 seeks
    Mon Sep  9 11:43:20 2013 [AVIOContext @ 0x210a9a0]Statistics: 0 seeks, 1 writeouts
    Mon Sep  9 11:43:20 2013 FFserver started.
    Mon Sep  9 11:44:18 2013 File '/feed1.ffm' not found
    Mon Sep  9 11:44:18 2013 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 404 149

    After i set a correct feed, i got another exception on ffmpeg side :

    sudo ffmpeg -loop 1 -i fon.jpeg -vcodec mjpeg -f mjpeg http://localhost:8090/feed.ffm
    ffmpeg version 2.0 Copyright (c) 2000-2013 the FFmpeg developers
    built on Aug 19 2013 23:10:58 with gcc 4.7 (Debian 4.7.2-5)
    configuration:
    libavutil      52. 38.100 / 52. 38.100
    libavcodec     55. 18.102 / 55. 18.102
    libavformat    55. 12.100 / 55. 12.100
    libavdevice    55.  3.100 / 55.  3.100
    libavfilter     3. 79.101 /  3. 79.101
    libswscale      2.  3.100 /  2.  3.100
    libswresample   0. 17.102 /  0. 17.102
    Input #0, image2, from 'fon.jpeg':
    Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
    Output #0, mjpeg, to 'http://localhost:8090/feed.ffm':
    Metadata:
    encoder         : Lavf55.12.100
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (mjpeg -> mjpeg)
    Press [q] to stop, [?] for help
    av_interleaved_write_frame(): Connection reset by peer

    While ffserver shows no error at all :

    sudo ffserver -f  /etc/ffserver3.conf
    ffserver version 2.0 Copyright (c) 2000-2013 the FFmpeg developers
    built on Aug 19 2013 23:10:58 with gcc 4.7 (Debian 4.7.2-5)
    configuration:
    libavutil      52. 38.100 / 52. 38.100
    libavcodec     55. 18.102 / 55. 18.102
    libavformat    55. 12.100 / 55. 12.100
    libavdevice    55.  3.100 / 55.  3.100
    libavfilter     3. 79.101 /  3. 79.101
    libswscale      2.  3.100 /  2.  3.100
    libswresample   0. 17.102 /  0. 17.102
    Mon Sep  9 12:08:19 2013 FFserver started.
    Mon Sep  9 12:08:40 2013 127.0.0.1 - - [POST] "/feed.ffm HTTP/1.1" 200 4096
    Mon Sep  9 12:12:28 2013 127.0.0.1 - - [GET] "/ HTTP/1.1" 200 1847

    So, what is the problem now ?

  • FFMPEG RGB Lossless conversion video

    29 août 2017, par DCDCDC

    I have been experiencing difficulty in finding many answers with FFMPEG documentation, forums and here.
    What I am trying to do is a compress a screen capture video but with just RGB data.
    The steps I am currently taking are ;

    ffmpeg -f avfoundation -pix_fmt 0rgb -r "30" -i "1" -vcodec libx264rgb -pix_fmt rgb24 -crf 0 -t 25 -q 0 -y ~/Desktop/RGB.mkv

    south-58-45:~ danielcarter$ ffmpeg -f avfoundation -pix_fmt 0rgb -r "30" -i "1" -vcodec libx264rgb -pix_fmt rgb24 -crf 0 -t 170 -q 0 -y -v info ~/Desktop/output.mkv
    ffmpeg version 3.3 Copyright (c) 2000-2017 the FFmpeg developers
     built with Apple LLVM version 8.1.0 (clang-802.0.41)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 58.100 / 55. 58.100
     libavcodec     57. 89.100 / 57. 89.100
     libavformat    57. 71.100 / 57. 71.100
     libavdevice    57.  6.100 / 57.  6.100
     libavfilter     6. 82.100 /  6. 82.100
     libavresample   3.  5.  0 /  3.  5.  0
     libswscale      4.  6.100 /  4.  6.100
     libswresample   2.  7.100 /  2.  7.100
     libpostproc    54.  5.100 / 54.  5.100
    [avfoundation @ 0x7fc39d004c00] Stream #0: not enough frames to estimate rate; consider increasing probesize
    Input #0, avfoundation, from '1':
     Duration: N/A, start: 175270.249500, bitrate: N/A
       Stream #0:0: Video: rawvideo ([0]RGB / 0x42475200), 0rgb, 1440x900, 1000k tbr, 1000k tbn, 1000k tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264rgb))
    Press [q] to stop, [?] for help
    [libx264rgb @ 0x7fc39d13ea00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264rgb @ 0x7fc39d13ea00] profile High 4:4:4 Predictive, level 4.0, 4:4:4 8-bit
    [libx264rgb @ 0x7fc39d13ea00] 264 - core 148 r2748 97eaef2 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
    Output #0, matroska, to '/Users/danielcarter/Desktop/output.mkv':
     Metadata:
       encoder         : Lavf57.71.100
       Stream #0:0: Video: h264 (libx264rgb) (H264 / 0x34363248), rgb24, 1440x900, q=-1--1, 30 fps, 1k tbn, 30 tbc
       Metadata:
         encoder         : Lavc57.89.100 libx264rgb
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    frame= 5100 fps= 30 q=-1.0 Lsize=   12167kB time=00:02:49.96 bitrate= 586.4kbits/s speed=0.999x    
    video:12134kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.267659%
    [libx264rgb @ 0x7fc39d13ea00] frame I:21    Avg QP: 0.00  size:430796
    [libx264rgb @ 0x7fc39d13ea00] frame P:5079  Avg QP: 0.00  size:   665
    [libx264rgb @ 0x7fc39d13ea00] mb I  I16..4: 61.3%  0.0% 38.7%
    [libx264rgb @ 0x7fc39d13ea00] mb P  I16..4:  0.1%  0.0%  0.0%  P16..4:  0.0%  0.0%  0.0%  0.0%  0.0%    skip:99.9%
    [libx264rgb @ 0x7fc39d13ea00] 8x8 transform intra:0.0% inter:11.2%
    [libx264rgb @ 0x7fc39d13ea00] coded y,u,v intra: 48.0% 31.6% 29.0% inter: 0.0% 0.0% 0.0%
    [libx264rgb @ 0x7fc39d13ea00] i16 v,h,dc,p: 76% 22%  2%  0%
    [libx264rgb @ 0x7fc39d13ea00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 46% 35%  7%  2%  2%  1%  1%  1%  3%
    [libx264rgb @ 0x7fc39d13ea00] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264rgb @ 0x7fc39d13ea00] ref P L0: 83.1%  6.4%  5.3%  5.2%
    [libx264rgb @ 0x7fc39d13ea00] kb/s:584.71

    This captures the screen on my mac. To the best of my knowledge, this creates a lossless file and I have compared screen shots that confirm this.
    The next step is where I think I have an issue.
    Because I want to run the compression on raw RGB data I need to convert the MKV to an RGB file ;

    ffmpeg -i ~/Desktop/RGB.mkv -c:v rawvideo -pix_fmt rgb24 -crf 0 -ss 00:00:03 -to 00:02:01 -q 0 -y ~/Desktop/out.rgb

    south-58-45:~ danielcarter$ ffmpeg -i ~/Desktop/output.mkv -c:v rawvideo -pix_fmt rgb24 -crf 0 -ss 00:00:03 -to 00:02:01 -q 0 -y ~/Desktop/out.rgb
    ffmpeg version 3.3 Copyright (c) 2000-2017 the FFmpeg developers
     built with Apple LLVM version 8.1.0 (clang-802.0.41)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 58.100 / 55. 58.100
     libavcodec     57. 89.100 / 57. 89.100
     libavformat    57. 71.100 / 57. 71.100
     libavdevice    57.  6.100 / 57.  6.100
     libavfilter     6. 82.100 /  6. 82.100
     libavresample   3.  5.  0 /  3.  5.  0
     libswscale      4.  6.100 /  4.  6.100
     libswresample   2.  7.100 /  2.  7.100
     libpostproc    54.  5.100 / 54.  5.100
    Input #0, matroska,webm, from '/Users/danielcarter/Desktop/output.mkv':
     Metadata:
       ENCODER         : Lavf57.71.100
     Duration: 00:02:50.00, start: 0.000000, bitrate: 586 kb/s
       Stream #0:0: Video: h264 (High 4:4:4 Predictive), gbrp(tv, gbr/unknown/unknown, progressive), 1440x900, 30 fps, 30 tbr, 1k tbn, 60 tbc (default)
       Metadata:
         ENCODER         : Lavc57.89.100 libx264rgb
         DURATION        : 00:02:50.000000000
    Codec AVOption crf (Select the quality for constant quality mode) specified for output file #0 (/Users/danielcarter/Desktop/out.rgb) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
    Press [q] to stop, [?] for help
    Output #0, rawvideo, to '/Users/danielcarter/Desktop/out.rgb':
     Metadata:
       encoder         : Lavf57.71.100
       Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1440x900, q=2-31, 933120 kb/s, 30 fps, 30 tbn, 30 tbc (default)
       Metadata:
         DURATION        : 00:02:50.000000000
         encoder         : Lavc57.89.100 rawvideo
    frame= 3540 fps=111 q=-0.0 Lsize=13440938kB time=00:01:58.00 bitrate=933120.0kbits/s speed=3.68x    
    video:13440938kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

    Once I have this I can then compress and decompress successfully. I then get a working file to play back using ;

    ffmpeg -f rawvideo -vcodec rawvideo -s 1440x900 -r 30 -pix_fmt rgb24 -i ~/Desktop/out.rgb -c:v libx264rgb -pix_fmt rgb24 -x264opts keyint=300:min-keyint=300:no-scenecut -y -crf 0 ~/Desktop/rgbplay.mkv

    south-58-45:~ danielcarter$ ffmpeg -f rawvideo -vcodec rawvideo -s 1440x900 -r 30 -pix_fmt rgb24 -i ~/Desktop/out.rgb -c:v libx264rgb -pix_fmt rgb24 -x264opts keyint=300:min-keyint=300:no-scenecut -y -crf 0 ~/Desktop/rgbplay.mkv
    ffmpeg version 3.3 Copyright (c) 2000-2017 the FFmpeg developers
     built with Apple LLVM version 8.1.0 (clang-802.0.41)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 58.100 / 55. 58.100
     libavcodec     57. 89.100 / 57. 89.100
     libavformat    57. 71.100 / 57. 71.100
     libavdevice    57.  6.100 / 57.  6.100
     libavfilter     6. 82.100 /  6. 82.100
     libavresample   3.  5.  0 /  3.  5.  0
     libswscale      4.  6.100 /  4.  6.100
     libswresample   2.  7.100 /  2.  7.100
     libpostproc    54.  5.100 / 54.  5.100
    [rawvideo @ 0x7fb1f9002600] Estimating duration from bitrate, this may be inaccurate
    Input #0, rawvideo, from '/Users/danielcarter/Desktop/out.rgb':
     Duration: 00:01:58.00, start: 0.000000, bitrate: 933120 kb/s
       Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1440x900, 933120 kb/s, 30 tbr, 30 tbn, 30 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264rgb))
    Press [q] to stop, [?] for help
    [libx264rgb @ 0x7fb1f9010c00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264rgb @ 0x7fb1f9010c00] profile High 4:4:4 Predictive, level 4.0, 4:4:4 8-bit
    [libx264rgb @ 0x7fb1f9010c00] 264 - core 148 r2748 97eaef2 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=300 keyint_min=151 scenecut=0 intra_refresh=0 rc=cqp mbtree=0 qp=0
    Output #0, matroska, to '/Users/danielcarter/Desktop/rgbplay.mkv':
     Metadata:
       encoder         : Lavf57.71.100
       Stream #0:0: Video: h264 (libx264rgb) (H264 / 0x34363248), rgb24, 1440x900, q=-1--1, 30 fps, 1k tbn, 30 tbc
       Metadata:
         encoder         : Lavc57.89.100 libx264rgb
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    frame= 3540 fps= 64 q=-1.0 Lsize=    8319kB time=00:01:57.96 bitrate= 577.7kbits/s speed=2.13x    
    video:8297kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.273154%
    [libx264rgb @ 0x7fb1f9010c00] frame I:12    Avg QP: 0.00  size:437670
    [libx264rgb @ 0x7fb1f9010c00] frame P:3528  Avg QP: 0.00  size:   919
    [libx264rgb @ 0x7fb1f9010c00] mb I  I16..4: 61.9%  0.0% 38.1%
    [libx264rgb @ 0x7fb1f9010c00] mb P  I16..4:  0.1%  0.0%  0.0%  P16..4:  0.0%  0.0%  0.0%  0.0%  0.0%    skip:99.8%
    [libx264rgb @ 0x7fb1f9010c00] 8x8 transform intra:0.0% inter:15.1%
    [libx264rgb @ 0x7fb1f9010c00] coded y,u,v intra: 49.7% 36.5% 33.7% inter: 0.0% 0.0% 0.0%
    [libx264rgb @ 0x7fb1f9010c00] i16 v,h,dc,p: 73% 25%  1%  0%
    [libx264rgb @ 0x7fb1f9010c00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 45% 36%  7%  2%  2%  2%  2%  1%  3%
    [libx264rgb @ 0x7fb1f9010c00] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264rgb @ 0x7fb1f9010c00] ref P L0: 81.3%  7.7%  6.7%  4.3%
    [libx264rgb @ 0x7fb1f9010c00] kb/s:575.96

    But here I have pixel variance. My guess is there is a RGB-YUV-RGB conversion happening somewhere but I am not smart enough to work out where.
    If any of you can help I would forever grateful.

    Here is a picture of the two stills side by side that shows the differences ;

    pixel difference

    If you need anything more I can post it also.
    Cheers,
    DC

  • Ffmpeg concat images doesn't finish all images

    18 septembre 2015, par Simon

    I’m trying to do a simple task with ffmpeg. I’ve pre-generated about 100 png images (all same resolution) and separetely generated a list of them to be used by ffmpeg to concat them into a video. Each frame is likely to be used more than once. The output video is to be about 10,000 frames.

    The problem is that ffmpeg stops at about frame 4000 with no error. The final video works with no error.

    ffmpeg command :

    ffmpeg  -f concat -i frame_list.txt -vf fps=10 output.mov

    frame_list.txt sample :

       file 'frame_0045.png'
       file 'frame_0046.png'
       file 'frame_0047.png'
       file 'frame_0046.png'
       file 'frame_0047.png'

    ffmpeg output :

    ffmpeg version 2.3.3-   http://johnvansickle.com/ffmpeg/    Copyright (c) 2000-2014 the FFmpeg developers
    built on Sep  2 2014 16:32:53 with gcc 4.8 (Debian 4.8.3-9)

     configuration: --enable-gpl --enable-version3 --disable-shared
     --disable-debug --enable-runtime-cpudetect --enable-libmp3lame
     --enable-libx264 --enable-libwebp --enable-libspeex
     --enable-libvorbis --enable-libvpx --enable-libfreetype
     --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb
     --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc
     --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg
     --enable-libopus --disable-ffserver --enable-libass --enable-gnutls
     --cc=gcc-4.8

     libavutil      52. 92.100 / 52. 92.100
     libavcodec     55. 69.100 / 55. 69.100
     libavformat    55. 48.100 / 55. 48.100
     libavdevice    55. 13.102 / 55. 13.102
     libavfilter     4. 11.100 /  4. 11.100
     libswscale      2.  6.100 /  2.  6.100
     libswresample   0. 19.100 /  0. 19.100
     libpostproc    52.  3.100 / 52.  3.100

    Input #0, concat, from 'frame_list.txt':
    Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgba64be, 1920x400 [SAR 72:72 DAR 24:5], 25 tbr, 25 tbn, 25 tbc

    File 'output.mov' already exists. Overwrite ? [y/N] No pixel format
    specified, yuv444p for H.264 encoding chosen.

    Use -pix_fmt yuv420p for compatibility with outdated media players.

    [libx264 @ 0x38a6e20] using SAR=1/1
    [libx264 @ 0x38a6e20] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x38a6e20] profile High 4:4:4 Predictive, level 3.1, 4:4:4 8-bit

    [libx264 @ 0x38a6e20] 264 - core 142 r50 dd79a61 - H.264/MPEG-4 AVC
    codec - Copyleft 2003-2014 - 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=6 lookahead_threads=1 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=10 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, mov, to 'output.mov':
     Metadata:
       encoder         : Lavf55.48.100
       Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv444p,
       1920x400 [SAR 1:1 DAR 24:5], q=-1--1, 10 fps, 10240 tbn, 10 tbc
       Metadata:
         encoder         : Lavc55.69.100 libx264
    Stream mapping:
     Stream #0:0 -> #0:0 (png (native) -> h264 (libx264))

    Press [q] to stop, [?] for help

    Blah blah does all concat-ing and then stops at frame 4040 for unknown reason

    frame= 4040 fps= 13 q=-1.0 Lsize=    2301kB time=00:06:43.80 bitrate=      46.7kbits/s
    video:2254kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB         muxing overhead: 2.067943%
    [libx264 @ 0x38a6e20] frame I:17    Avg QP:13.43  size: 22332
    [libx264 @ 0x38a6e20] frame P:1297  Avg QP:12.44  size:  1003
    [libx264 @ 0x38a6e20] frame B:2726  Avg QP:13.00  size:   230
    [libx264 @ 0x38a6e20] consecutive B-frames:  9.9%  0.4%  0.2% 89.5%
    [libx264 @ 0x38a6e20] mb I  I16..4: 15.8% 68.5% 15.7%
    [libx264 @ 0x38a6e20] mb P  I16..4:  0.1%  0.5%  0.3%  P16..4:  0.8%  0.2%  0.2%  0.0%  0.0%    skip:98.0%
    [libx264 @ 0x38a6e20] mb B  I16..4:  0.0%  0.1%  0.0%  B16..8:  1.6%  0.1%  0.0%  direct: 0.0%  skip:98.2%  L0:51.6% L1:45.9% BI: 2.6%
    [libx264 @ 0x38a6e20] 8x8 transform intra:62.7% inter:16.1%
    [libx264 @ 0x38a6e20] coded y,u,v intra: 14.7% 8.5% 9.2% inter: 0.1% 0.0% 0.0%
    [libx264 @ 0x38a6e20] i16 v,h,dc,p: 60% 35%  4%  0%
    [libx264 @ 0x38a6e20] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41%  2% 56%  0%  0%  0%  0%  0%  0%
    [libx264 @ 0x38a6e20] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 14% 21%  6%  4%          5%  5%  6%  4%
    [libx264 @ 0x38a6e20] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x38a6e20] ref P L0: 59.3%  5.1% 20.4% 15.2%
    [libx264 @ 0x38a6e20] ref B L0: 72.2% 22.5%  5.3%
    [libx264 @ 0x38a6e20] ref B L1: 97.2%  2.8%
    [libx264 @ 0x38a6e20] kb/s:45.70