Recherche avancée

Médias (1)

Mot : - Tags -/vidéo

Autres articles (55)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • Submit enhancements and plugins

    13 avril 2011

    If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
    You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone.

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

Sur d’autres sites (5777)

  • when ffpmeg drops frames some things aren't played back in real time

    8 février 2024, par Alex028502

    I am trying to run a bunch of ffpmeg processes that act as simulators for cameras, and something funny is happening when I the processor can't keep up with the configured frame rate.

    


    I have replaced the rtsp stream with an output file, and managed to reproduce the issue, so will just show that to keep it simple.

    


    First here is a makefile that creates my source movie :

    


    clock.mp4: Makefile
    rm -f $@
    ffmpeg -f lavfi -i color=c=black:s=4096x2160:r=25 -vf \
"drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=72:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2: \
text='%{eif\:trunc(n/25)\:d}':start_number=0:rate=25" \
-t 60 -r 25 $@


    


    that gives me a one minute long movie that prints the second number to the screen. I have tested it out and the seconds are close enough. I put a lot of pixels to make it easier to jam up my CPU.

    


    Here is the script that creates a processes similar to the one I am trying to debug (called experiment.sh)

    


    I am actually using H.264, but H.265 is easier to overwhelm the processor with

    


    #! /usr/bin/env bash

set -e

echo starting > message$1.txt

rm -f superclock$1.mp4
ffmpeg -re -stream_loop -1 -i clock.mp4 \
       -an -vcodec libx265 -preset ultrafast -sc_threshold -1 -x265-params repeat-headers=1 \
       -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=24:fontcolor=white:x=10:y=10:text='%{localtime\:%X}', \
            drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=24:fontcolor=white:x=10:y=(h-text_h-10):textfile=message$1.txt:reload=1, \
            scale=1920x1080,fps=25" \
       -b:v 3M -minrate 3M -maxrate 3M \
       -bufsize 6M -g 25 superclock$1.mp4 &
pid=$!

for x in $(seq 0 10)
do
    echo $x > message$1.txt
    sleep 10
done

kill -INT $pid || true


    


    It should

    


      

    • put the second in the middle of the screen - 'cause it gets it from the source video
    • 


    • put the approximate sixth of minute in the lower left corner
(only approximate because of the sleep but close enough)
    • 


    • put the the wall clock time in the upper left corner
    • 


    


    and it works

    


    make clock.mpg
./experiment.sh 0
vlc superclock0.mp4


    


    shows something like this
working video

    


    Now here is the interesting part

    


    If I run the script in four different terminals at the same time

    


    ./experiment.sh 1
./experiment.sh 2
./experiment.sh 3
./experiment.sh 4


    


    It can't keep up with the frame rate, and I see this in the output :

    


    frame= 1515 fps= 16 q=0.0 size=     768kB time=00:00:59.96 bitrate= 104.9k


    


    I was hoping the end result would all look ok when I watch it except with fewer frames, but the timestamps of the frames would make it all work as expected

    


    However...

    


      

    • The time in the middle, that is inherited from the source video, the seconds in the middle of the screen, stays in sync with VLC's clock.
    • 


    • the wall clock in the upper left seems play at 150% speed
    • 


    • the every ten seconds incrementor in the lower left seems to increment every 7 seconds
    • 


    • the video is only 1:25 long even though it was recording for at least 1:40 according to sleeps
    • 


    • the wall clock in the upper right hand corner makes it more than 1'40" and then counter in the lower left makes it to 10.
    • 


    


    30 seconds in

    


    Here are four states to compare

    


    |                  | Start    | 30" in   | end      |
|------------------+----------+----------|----------|
| Video Time       | 00:00    | 00:30    | 01:24    |
| Wall Clock Time  | 15:05:50 | 15:06:39 | 15:07:39 |
| sixth of minute  | 0        | 4        | 10       |
| seconds counter  | 0        | 30       | 24       |


    


    end of the movie

    


    So you can see the vlc clock keeps pace with the original clock from the source movie.. even when it is only able to produce frames at 2/3 of the rate. However, the it is taking 50% long to get through the whole source movie I guess ?

    


    I am having trouble coming up with a theory that can explain exactly how this happens.

    


    Does anybody know how I can "correct" this ? (make it so that the movie is played at the same rate that it is recorded)

    


    I am thinking of using a lower frame rate and size as the input video.. but it would be nice to have something that will always work as expected, just with a lower frame rate, no matter how busy the processor is.

    


  • Merge commit '2bbb5abd877104fa9bc342c521bb49bc1aad50ce'

    20 mai 2017, par Clément Bœsch
    Merge commit '2bbb5abd877104fa9bc342c521bb49bc1aad50ce'
    

    * commit '2bbb5abd877104fa9bc342c521bb49bc1aad50ce' :
    build : Map -Wall compiler flag to -W3 for MSVC and -Wextra to -W4

    Merged-by : Clément Bœsch <u@pkh.me>

    • [DH] configure
  • Problems when make ffmpeg with ios5.1

    20 octobre 2012, par why

    I am using https://github.com/lajos/iFrameExtractor and there is ffmpeg directory.

    I can configure and make successful, but there some errors when run ./build_universal

    libavformat/metadata_compat.c: In function ‘ff_metadata_mux_compat’:
    libavformat/metadata_compat.c:129: warning: the address of ‘number’ will always evaluate as ‘true’
    libavformat/metadata_compat.c:130: warning: the address of ‘number’ will always evaluate as ‘true’
    /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -DHAVE_AV_CONFIG_H -I. -I"/Users/why/work/iFrameExtractor/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -std=c99 -fomit-frame-pointer -fPIC -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef -O3 -fno-math-errno -fno-tree-vectorize       -MMD -MF libavformat/options.d -MT libavformat/options.o -c -o libavformat/options.o libavformat/options.c
    /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -DHAVE_AV_CONFIG_H -I. -I"/Users/why/work/iFrameExtractor/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -std=c99 -fomit-frame-pointer -fPIC -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef -O3 -fno-math-errno -fno-tree-vectorize       -MMD -MF libavformat/os_support.d -MT libavformat/os_support.o -c -o libavformat/os_support.o libavformat/os_support.c
    libavformat/os_support.c: In function ‘resolve_host’:
    libavformat/os_support.c:68: warning: implicit declaration of function ‘inet_aton’
    /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -DHAVE_AV_CONFIG_H -I. -I"/Users/why/work/iFrameExtractor/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -std=c99 -fomit-frame-pointer -fPIC -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef -O3 -fno-math-errno -fno-tree-vectorize       -MMD -MF libavformat/sdp.d -MT libavformat/sdp.o -c -o libavformat/sdp.o libavformat/sdp.c
    /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -DHAVE_AV_CONFIG_H -I. -I"/Users/why/work/iFrameExtractor/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -std=c99 -fomit-frame-pointer -fPIC -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef -O3 -fno-math-errno -fno-tree-vectorize       -MMD -MF libavformat/seek.d -MT libavformat/seek.o -c -o libavformat/seek.o libavformat/seek.c
    /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -DHAVE_AV_CONFIG_H -I. -I"/Users/why/work/iFrameExtractor/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -std=c99 -fomit-frame-pointer -fPIC -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef -O3 -fno-math-errno -fno-tree-vectorize       -MMD -MF libavformat/utils.d -MT libavformat/utils.o -c -o libavformat/utils.o libavformat/utils.c
    libavformat/utils.c: In function ‘parse_date’:
    libavformat/utils.c:3100: warning: cast discards qualifiers from pointer target type
    /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -DHAVE_AV_CONFIG_H -I. -I"/Users/why/work/iFrameExtractor/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -std=c99 -fomit-frame-pointer -fPIC -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef -O3 -fno-math-errno -fno-tree-vectorize       -MMD -MF libavformat/avio.d -MT libavformat/avio.o -c -o libavformat/avio.o libavformat/avio.c
    /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -DHAVE_AV_CONFIG_H -I. -I"/Users/why/work/iFrameExtractor/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -std=c99 -fomit-frame-pointer -fPIC -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef -O3 -fno-math-errno -fno-tree-vectorize       -MMD -MF libavformat/aviobuf.d -MT libavformat/aviobuf.o -c -o libavformat/aviobuf.o libavformat/aviobuf.c
    libavformat/aviobuf.c: In function ‘url_fdopen’:
    libavformat/aviobuf.c:560: warning: passing argument 6 of ‘init_put_byte’ from incompatible pointer type
    libavformat/aviobuf.c:560: warning: passing argument 7 of ‘init_put_byte’ from incompatible pointer type
    libavformat/aviobuf.c:560: warning: passing argument 8 of ‘init_put_byte’ from incompatible pointer type
    /var/folders/59/7srh1dk537s3hr4b2_4k1nxr0000gn/T//cc7qLhBK.s:2662:no such instruction: `eor %ecx, %eax,%eax,ror&#39;
    /var/folders/59/7srh1dk537s3hr4b2_4k1nxr0000gn/T//cc7qLhBK.s:2663:no such instruction: `bic %ecx, %ecx,&#39;
    /var/folders/59/7srh1dk537s3hr4b2_4k1nxr0000gn/T//cc7qLhBK.s:2664:suffix or operands invalid for `mov&#39;
    /var/folders/59/7srh1dk537s3hr4b2_4k1nxr0000gn/T//cc7qLhBK.s:2665:no such instruction: `eor %eax, %eax,%ecx,lsr&#39;
       make: *** [libavformat/aviobuf.o] Error 1
       mv: rename libavcodec/libavcodec.a to armv7/libavcodec.a: No such file or directory
       mv: rename libavformat/libavformat.a to armv7/libavformat.a: No such file or directory
       mv: rename libavutil/libavutil.a to armv7/libavutil.a: No such file or directory
       mv: rename libswscale/libswscale.a to armv7/libswscale.a: No such file or directory
       rm: No match.
       rm: No match.
       lipo: can&#39;t open input file: armv7/libavcodec.a (No such file or directory)
       lipo: specifed architecture type (armv7) for file (armv7/libavdevice.a) does not match its cputype (16777223) and cpusubtype (3) (should be cputype (12) and cpusubtype (9))
       lipo: can&#39;t open input file: armv7/libavformat.a (No such file or directory)
       lipo: can&#39;t open input file: armv7/libavutil.a (No such file or directory)
       lipo: can&#39;t open input file: armv7/libswscale.a (No such file or directory)
       cp: No match.