Recherche avancée

Médias (91)

Autres articles (43)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

Sur d’autres sites (4716)

  • Possible bug in OpenCV2.4 capturing frames from video

    23 septembre 2013, par Jav_Rock

    Could it be that there is a bug in OpenCV2.4 highgui for capturing frames from video in windows ?

    I installed both the precompiled libraries, the ones compiled by me, I can compile everything perfectly and I can run my programs if

    they are image based. The problem is only for videos. OpenCV crashes in this function always :

    virtual IplImage* retrieveFrame(int)
       {
           unsigned char* data = 0;
           int step=0, width=0, height=0, cn=0;

           if(!ffmpegCapture ||
              !icvRetrieveFrame_FFMPEG_p(ffmpegCapture,&data,&step,&width,&height,&cn)) <-------CRASHES HERE
              return 0;
           cvInitImageHeader(&frame, cvSize(width, height), 8, cn);
           cvSetData(&frame, data, step);
           return &frame;
       }

    This is inside the class cap_ffmpeg.cpp and is called by VideoCapture.

    I tried versions 2.4.2 and 2.4.9. My programes were working finde with opencv2


    More information

    • Windows 7

    • Build the projects with cmake (important as it could be that cmake is not building/finding the right codecs)

    • VisualStudio 9 2008

    • OpenCV 2.4.2

    EDIT

    It looks like it is actually a bug, so, how can I solve this problem and change my code to be able to read avi files ?

  • fluent-ffmpeg concatenate files ends up with wrong length

    24 juillet 2021, par Hugo Cox

    I have the following input file :

    


    ffconcat version 1.0
file '../tmp/59bd6a7896654d0b0c00705f/vidR/intro.mp4' #0
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out003.mp4' #1
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #2
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #2
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #2
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #2
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #2
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #2
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out007.mp4' #3
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #4
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #4
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #4
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #4
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #4
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #4
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #4
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #4
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out013.mp4' #5
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #6
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #6
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #6
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #6
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #6
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #6
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out017.mp4' #7
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #8
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #8
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #8
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #8
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #8
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #8
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out021.mp4' #9
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #10
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #10
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #10
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #10
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #10
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #10
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out025.mp4' #11
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #12
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #12
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #12
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #12
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out028.mp4' #13
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #14
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #14
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #14
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #14
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #14
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #14
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out032.mp4' #15
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #16
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #16
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out034.mp4' #17
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #18
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #18
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #18
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #18
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out037.mp4' #19
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #20
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #20
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out039.mp4' #21
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #22
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #22
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out041.mp4' #23
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #24
file '../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4' #24
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out043.mp4' #25
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #26
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #26
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out045.mp4' #27
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #28
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #28
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out047.mp4' #29
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #30
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #30
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out049.mp4' #31
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #32
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #32
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out051.mp4' #33
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #34
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #34
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out053.mp4' #35
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #36
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #36
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out055.mp4' #37
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #38
file '../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4' #38
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out057.mp4' #39
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #40
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #40
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out059.mp4' #41
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #42
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #42
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out061.mp4' #43
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #44
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #44
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out063.mp4' #45
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #46
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #46
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #46
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out065.mp4' #47
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #48
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #48
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #48
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out067.mp4' #49
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #50
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #50
file '../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4' #50
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out070.mp4' #51
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #52
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #52
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #52
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #52
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #52
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #52
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out074.mp4' #53
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #54
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #54
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out076.mp4' #55
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #56
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #56
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #56
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #56
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #56
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out080.mp4' #57
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #58
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #58
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #58
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #58
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #58
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #58
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out084.mp4' #59
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #60
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #60
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #60
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #60
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #60
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #60
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out089.mp4' #61
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #62
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #62
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #62
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #62
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #62
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #62
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out093.mp4' #63
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #64
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #64
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #64
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #64
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out096.mp4' #65
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #66
file '../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4' #66
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out098.mp4' #67
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #68
file '../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4' #68
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out100.mp4' #69
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #70
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #70
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out102.mp4' #71
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #72
file '../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4' #72
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out104.mp4' #73
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #74
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #74
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #74
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #74
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #74
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #74
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #74
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out109.mp4' #75
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #76
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #76
file '../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4' #76
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out112.mp4' #77
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #78
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #78
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out114.mp4' #79
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #80
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #80
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #80
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #80
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #80
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #80
file '../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4' #80
file '../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4' #80
file '../tmp/59bd6a7896654d0b0c00705f/vidR/out119.mp4' #81
file '../tmp/59bd6a7896654d0b0c00705f/vidR/outro.mp4' #82


    


    However, when I use the following command :

    


                ffmpeg(__dirname + '/log/vidR_concatenate.txt')
                .inputFormat('concat')
                .inputOptions([
                    '-safe 0'
                ]).outputOptions([
                    '-c copy'
                ]).output(__dirname + '/output/' + ID + '/video/1080p/' + ID + '-R-1080p.mp4')
                .on('start', function (commandLine) {
                    console.log('Spawned Ffmpeg with command: ' + commandLine);
                })
                .on('error', function (err, stdout, stderr) {
                    console.log('An error occurred: ' + err.message, err, stderr);
                })
                .on('progress', function (progress) {
                    console.log('Processing: ' + progress.percent + '% done')
                })
                .on('end', function (err, stdout, stderr) {
                    console.log('Finished vidR processing!' /*, err, stdout, stderr*/)
                    resolve()
                })
                .run()


    


    I do not end up with a video length that is the sum of all individual videos !

    


    ffprobe -i ../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4 :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'intersegment/intersegment_h264_3s_1920x1080_30fps.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:00:03.00, start: 0.000000, bitrate: 24 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 19 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler


    


    ffprobe -i ../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4 :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:00:00.60, start: 0.000000, bitrate: 45 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 30 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler


    


    ffprobe -i ../tmp/59bd6a7896654d0b0c00705f/vidR/intro.mp4 :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tmp/59bd6a7896654d0b0c00705f/vidR/intro.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:00:14.80, start: 0.000000, bitrate: 21 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 17 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler


    


    ffprobe -i ../tmp/59bd6a7896654d0b0c00705f/vidR/outro.mp4 :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tmp/59bd6a7896654d0b0c00705f/vidR/outro.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:00:05.30, start: 0.000000, bitrate: 22 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 18 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler


    


    ffprobe -i ../tmp/59bd6a7896654d0b0c00705f/vidR/out003.mp4 :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tmp/59bd6a7896654d0b0c00705f/vidR/out003.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Big Buck Bunny, Sunflower version
    artist          : Blender Foundation 2008, Janus Bager Kristensen 2013
    composer        : Sacha Goedegebure
    encoder         : Lavf58.29.100
    comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
    genre           : Animation
  Duration: 00:00:08.40, start: 0.000000, bitrate: 3703 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 3699 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : GPAC ISO Video Handler


    


    I thought all the fps, tbr, tbn and tbc are the same, so what is the problem ??
It is off several seconds from the total sum of each individual file !

    


  • FFMPEG Inverts colors when converting tiff pictures to png

    1er juin 2021, par Mounia Jaiti

    We need to convert thousands of tiff pictures to png. To accomplish that we are using FFMPEG. We've noticed recently that for very few of the converted files (in png), the colors are inverted : the input tiff file is all black and white (a technical drawing in black with a white background), and the output png file is white and black (the drawing becomes white and the background becomes black). Of course we don't want that, we need the colors to stay the same.

    


    Here is the command we are using :

    


    ffmpeg -y -v warning -i in_file.tif out_file.png


    


    We've tested the 'negate' parameter on those files, and the pictures are correctly converted. But we can't apply this parameter to all of the input tiff files.
Here is the command with the negate parameter :

    


    ffmpeg -y -v verbose -i input.tif -vf negate output.png


    


    The Code Java we're using :

    


                String ffmpegPath="/Users/user11/ffmpeg//ffmpeg";&#xA;            List<string> commandArgs = new ArrayList<string>();&#xA;            commandArgs.add(ffmpegPath);&#xA;            //overwrite output file if it exists&#xA;            commandArgs.add("-y");      &#xA;            commandArgs.add("-v");&#xA;            commandArgs.add("verbose");&#xA;            //set input file &#xA;            commandArgs.add("-i"); &#xA;            commandArgs.add(picture.getAbsolutePath());&#xA;            commandArgs.add(dest.getAbsolutePath());&#xA;            &#xA;            String cmd = "";&#xA;            for(String cmdArg : commandArgs) {&#xA;                cmd &#x2B;= cmdArg &#x2B; " ";&#xA;            }&#xA;&#xA;&#xA;</string></string>

    &#xA;

    Logs for tif having the bug :

    &#xA;

    &#xA;31, 2021 2:15:51 PM &#xA;INFO: Executing : /Users/user11/ffmpeg/ffmpeg -y -v verbose -i /Users/user11/ffmpeg/input.tif /Users/user11/ffmpeg/output.png &#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: ffmpeg version 4.4-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2021 the FFmpeg developers&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   built with Apple clang version 11.0.0 (clang-1100.0.33.17)&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   libavutil      56. 70.100 / 56. 70.100&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   libavcodec     58.134.100 / 58.134.100&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   libavformat    58. 76.100 / 58. 76.100&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   libavdevice    58. 13.100 / 58. 13.100&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   libavfilter     7.110.100 /  7.110.100&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   libswscale      5.  9.100 /  5.  9.100&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   libswresample   3.  9.100 /  3.  9.100&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   libpostproc    55.  9.100 / 55.  9.100&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: [tiff_pipe @ 0x7fa7f6008200] parser not found for codec tiff, packets or times may be invalid.&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:     Last message repeated 1 times&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: Input #0, tiff_pipe, from &#x27;/Users/user11/ffmpeg/input.tif&#x27;:&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   Duration: N/A, bitrate: N/A&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   Stream #0:0: Video: tiff, 1 reference frame, monob, 2008x2481 [SAR 1:1 DAR 2008:2481], 25 fps, 25 tbr, 25 tbn, 25 tbc&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: Stream mapping:&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   Stream #0:0 -> #0:0 (tiff (native) -> png (native))&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: Press [q] to stop, [?] for help&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: [graph 0 input from stream 0:0 @ 0x7fa7f4c08300] w:2008 h:2481 pixfmt:monob tb:1/25 fr:25/1 sar:1/1&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: Output #0, image2, to &#x27;/Users/user11/ffmpeg/output.png&#x27;:&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   Metadata:&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:     encoder         : Lavf58.76.100&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   Stream #0:0: Video: png, 1 reference frame, monob(progressive), 2008x2481 (0x0) [SAR 1:1 DAR 2008:2481], q=2-31, 200 kb/s, 25 fps, 25 tbn&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:     Metadata:&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:       encoder         : Lavc58.134.100 png&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: frame=    1 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    &#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: No more output streams to write to, finishing.&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: [AVIOContext @ 0x7fa7f4c14180] Statistics: 0 seeks, 1 writeouts&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: frame=    1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=1.31x    &#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: video:37kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: Input file #0 (/Users/user11/ffmpeg/input.tif):&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   Input stream #0:0 (video): 1 packets read (18100 bytes); 1 frames decoded; &#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   Total: 1 packets (18100 bytes) demuxed&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: Output file #0 (/Users/user11/ffmpeg/output.png):&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (38013 bytes); &#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output:   Total: 1 packets (38013 bytes) muxed&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: ReencodePicture output: [AVIOContext @ 0x7fa7f4f041c0] Statistics: 18100 bytes read, 0 seeks&#xA;May 31, 2021 2:15:51 PM &#xA;INFO: BinaryRepositoryHelper.convertPixTo ffmpeg Process returned : java.lang.UNIXProcess@27ddd392, ended with code 0, and returned in 160 ms, out=/Users/user11/ffmpeg/output.png exists=true&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;

    &#xA;

    So our questions are :

    &#xA;

      &#xA;
    1. Is there a way to identify the tiff files that will be converted to png with inverted colors ? So that we can know to which files the 'negate' parameter must be applied.
    2. &#xA;

    3. Are there any other FFMPEG parameter that we can use.
    4. &#xA;

    &#xA;

    This issue has been driving us mad for the last couple of days. Any help would be highly appreciated.&#xA;Thanks.

    &#xA;

    Example of Tif picture

    &#xA;

    https://drive.google.com/file/d/1U1a91gTk1gaJb-XAPavNq6UhmjWXZjbM/view?usp=sharing

    &#xA;