
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (85)
-
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...) -
Le profil des utilisateurs
12 avril 2011, parChaque 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 (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)
Sur d’autres sites (8989)
-
Possible bug in OpenCV2.4 capturing frames from video
23 septembre 2013, par Jav_RockCould 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 CoxI 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 JaitiWe 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";
 List<string> commandArgs = new ArrayList<string>();
 commandArgs.add(ffmpegPath);
 //overwrite output file if it exists
 commandArgs.add("-y"); 
 commandArgs.add("-v");
 commandArgs.add("verbose");
 //set input file 
 commandArgs.add("-i"); 
 commandArgs.add(picture.getAbsolutePath());
 commandArgs.add(dest.getAbsolutePath());
 
 String cmd = "";
 for(String cmdArg : commandArgs) {
 cmd += cmdArg + " ";
 }


</string></string>


Logs for tif having the bug :



31, 2021 2:15:51 PM 
INFO: Executing : /Users/user11/ffmpeg/ffmpeg -y -v verbose -i /Users/user11/ffmpeg/input.tif /Users/user11/ffmpeg/output.png 
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: ffmpeg version 4.4-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2021 the FFmpeg developers
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: built with Apple clang version 11.0.0 (clang-1100.0.33.17)
May 31, 2021 2:15:51 PM 
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
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: libavutil 56. 70.100 / 56. 70.100
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: libavcodec 58.134.100 / 58.134.100
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: libavformat 58. 76.100 / 58. 76.100
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: libavdevice 58. 13.100 / 58. 13.100
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: libavfilter 7.110.100 / 7.110.100
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: libswscale 5. 9.100 / 5. 9.100
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: libswresample 3. 9.100 / 3. 9.100
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: libpostproc 55. 9.100 / 55. 9.100
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: [tiff_pipe @ 0x7fa7f6008200] parser not found for codec tiff, packets or times may be invalid.
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Last message repeated 1 times
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Input #0, tiff_pipe, from '/Users/user11/ffmpeg/input.tif':
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Duration: N/A, bitrate: N/A
May 31, 2021 2:15:51 PM 
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
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Stream mapping:
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Stream #0:0 -> #0:0 (tiff (native) -> png (native))
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Press [q] to stop, [?] for help
May 31, 2021 2:15:51 PM 
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
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Output #0, image2, to '/Users/user11/ffmpeg/output.png':
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Metadata:
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: encoder : Lavf58.76.100
May 31, 2021 2:15:51 PM 
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
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Metadata:
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: encoder : Lavc58.134.100 png
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: frame= 1 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x 
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: No more output streams to write to, finishing.
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: [AVIOContext @ 0x7fa7f4c14180] Statistics: 0 seeks, 1 writeouts
May 31, 2021 2:15:51 PM 
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 
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: video:37kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Input file #0 (/Users/user11/ffmpeg/input.tif):
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Input stream #0:0 (video): 1 packets read (18100 bytes); 1 frames decoded; 
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Total: 1 packets (18100 bytes) demuxed
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Output file #0 (/Users/user11/ffmpeg/output.png):
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (38013 bytes); 
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: Total: 1 packets (38013 bytes) muxed
May 31, 2021 2:15:51 PM 
INFO: ReencodePicture output: [AVIOContext @ 0x7fa7f4f041c0] Statistics: 18100 bytes read, 0 seeks
May 31, 2021 2:15:51 PM 
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








So our questions are :


- 

- 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.
- Are there any other FFMPEG parameter that we can use.






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


Example of Tif picture


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