
Recherche avancée
Autres articles (101)
-
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Publier sur MédiaSpip
13 juin 2013Puis-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 -
Participer à sa documentation
10 avril 2011La documentation est un des travaux les plus importants et les plus contraignants lors de la réalisation d’un outil technique.
Tout apport extérieur à ce sujet est primordial : la critique de l’existant ; la participation à la rédaction d’articles orientés : utilisateur (administrateur de MediaSPIP ou simplement producteur de contenu) ; développeur ; la création de screencasts d’explication ; la traduction de la documentation dans une nouvelle langue ;
Pour ce faire, vous pouvez vous inscrire sur (...)
Sur d’autres sites (4727)
-
Error in Splitting Educational Videos into Segments Using Python (ffmpeg issue) [closed]
28 décembre 2024, par Yahia Mohamed HanbalI created a Python project to split long educational videos into smaller segments, each focused on a single question. The program uses OCR to detect text on video frames, identifies the word "Question," extracts the number following it, and splits the video whenever the number increases.


here is the video i am tring to split ((video))


Here’s an example of the program’s output :


Video loaded: 14071 frames at 60 FPS, duration: 234.52s 
Frame 480, Time 8.00s, Question: 6 
... 
Frame 12360, Time 206.00s, Question: 7 
Creating segment 1: 8.00s to 206.00s 
Error: module 'ffmpeg' has no attribute 'Error'



I’ve shared the full code in a GitHub repository for reference : Automated Video Scene Cutting.


What the Program Does


- 

- Input : A long educational video.
- Processing :

- 

- Detects text in each frame using OCR.
- Searches for the word "Question" followed by a number.
- Monitors when the number increases to identify segment boundaries.








- Output : Creates video segments corresponding to individual questions.








The Problem


The program detects the questions and timestamps correctly, but when it tries to create the segments, I encounter the following error :


Error: module 'ffmpeg' has no attribute 'Error'



What I’ve Tried


- 

- Verified the
ffmpeg-python
library is installed (pip show ffmpeg-python
confirms the installation). - Ensured the
ffmpeg
binary is accessible from the command line. - Reviewed the library documentation to ensure the correct usage of
ffmpeg
. - Tested with different video files to rule out input-specific issues.










Environment Details


- 

- OS : Windows 11
- Python Version : 3.9.13
- Key Libraries :
ffmpeg-python








If anyone has insights into resolving this issue or suggestions for alternative approaches to handle this use case, I’d greatly appreciate your help.


Thank you !


-
FFMPEG documentation example for chromakey doesn't work for green background png file
15 septembre 2021, par JPMIm new in FFMPEG and I try to make just simple green background chroma keying of png images.
In FFMPEG documentation in 38.16 Chromakey - there is an example script :



ffmpeg -i input.png -vf chromakey=green out.png



for which is said that "Make every green pixel in the input image transparent"
That exactly what i wanted.
I tried with many different png images but the result is always a copy of input image.
Also i replaced the word "green" to 0x00FF00 or 0x008000 and still no successes. Only when replacing green to black and then the result is as expected - transparent.
Im working on Windows with pre-build binaries of FFMpeg.
What am I missing ?
Thanks.


-
SOLVED - FFMPEG 'Fontconfig error : Cannot load default config file' error Windows
27 février 2019, par MerelI am trying to make a short video in FFMPEG, where a word stays on screen for the duration of the video (0.5s). My FFMPEG code looks like this :
ffmpeg -f lavfi -i color=c=white:s=320x240:d=0.5 -vf "drawtext=fontfile= ‘c\:\Windows\fonts\calibri.ttf':fontsize=18: fontcolor=black:x=(w-text_w)/2:y=(h-text_h)/2:text='word'" output.mp4
However, I keep getting the following error (see below for full output) :
Fontconfig error: Cannot load default config file
[Parsed_drawtext_0 @ 000001c2918cef00] Using "C:/Windows/fonts/mingliub.ttc"I figured it had something to do with the path to the font file. I also tried copying the font file to my FFMPEG map and map the font path to the FFMPEG directory :
ffmpeg -f lavfi -i color=c=white:s=320x240:d=0.5 -vf
"drawtext=fontfile=‘C:\FFMPEG\bin\calibri.ttf':fontsize=18:
fontcolor=black:x=(w-text_w)/2:y=(h-text_h)/2:text='word'" output.mp4'This doesn’t work either. I do get an output video.mp4 video, but the font is wrong. Here is the full output I get. It is the same for both code examples above :
c:\FFMPEG\bin>ffmpeg -f lavfi -i color=c=white:s=320x240:d=0.5 -vf "drawtext=fontfile= ‘c\\:\\\Windows\\\fonts\\\calibri.ttf':fontsize=18: fontcolor=black:x=(w-text_w)/2:y=(h-text_h)/2:text='word'" output.mp4
ffmpeg version N-93234-g2e67f751b5 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8.2.1 (GCC) 20190212
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 26.100 / 56. 26.100
libavcodec 58. 47.102 / 58. 47.102
libavformat 58. 26.101 / 58. 26.101
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 48.100 / 7. 48.100
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
Input #0, lavfi, from 'color=c=white:s=320x240:d=0.5':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
Fontconfig error: Cannot load default config file
[Parsed_drawtext_0 @ 00000291ad7def00] Using "C:/Windows/fonts/mingliub.ttc"
[libx264 @ 00000291af0ef180] using SAR=1/1
[libx264 @ 00000291af0ef180] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 00000291af0ef180] profile High, level 1.3, 4:2:0, 8-bit
[libx264 @ 00000291af0ef180] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - 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=-2 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=25 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, mp4, to 'output.mp4':
Metadata:
encoder : Lavf58.26.101
Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=-1--1, 25 fps, 12800 tbn, 25 tbc
Metadata:
encoder : Lavc58.47.102 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
[Parsed_color_0 @ 00000291af0aa840] EOF timestamp not reliable
frame= 13 fps=0.0 q=-1.0 Lsize= 2kB time=00:00:00.40 bitrate= 43.9kbits/s speed=4.27x
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 84.991570%
[libx264 @ 00000291af0ef180] frame I:1 Avg QP: 9.22 size: 306
[libx264 @ 00000291af0ef180] frame P:3 Avg QP:11.33 size: 20
[libx264 @ 00000291af0ef180] frame B:9 Avg QP:12.67 size: 14
[libx264 @ 00000291af0ef180] consecutive B-frames: 7.7% 0.0% 0.0% 92.3%
[libx264 @ 00000291af0ef180] mb I I16..4: 98.7% 0.0% 1.3%
[libx264 @ 00000291af0ef180] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.0% 0.0% 0.0% 0.0% 0.0% skip:100.0%
[libx264 @ 00000291af0ef180] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.0% 0.0% 0.0% direct: 0.0% skip:100.0%
[libx264 @ 00000291af0ef180] 8x8 transform intra:0.0%
[libx264 @ 00000291af0ef180] coded y,uvDC,uvAC intra: 1.0% 0.0% 0.0% inter: 0.0% 0.0% 0.0%
[libx264 @ 00000291af0ef180] i16 v,h,dc,p: 92% 1% 7% 0%
[libx264 @ 00000291af0ef180] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 39% 3% 42% 2% 5% 5% 2% 2% 2%
[libx264 @ 00000291af0ef180] i8c dc,h,v,p: 100% 0% 0% 0%
[libx264 @ 00000291af0ef180] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 00000291af0ef180] kb/s:7.65SOLVED ! Apparently the problem was that the path to the font cannot contain a semicolon (i.e., "C :/". The code that worked is :
ffmpeg -f lavfi -i color=c=white:s=320x240:d=0.5 -vf “drawtext=fontfile= /Windows/fonts/calibri.ttf:fontsize=18: fontcolor=black:x=(w-text_w)/2:y=(h-text_h)/2:text=word” output.mp4