Recherche avancée

Médias (17)

Mot : - Tags -/wired

Autres articles (104)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • (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 (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (12063)

  • Perf Script Erroneous Dwarf Stacktrace Output

    12 juin 2020, par TheAhmad

    I used the following command to sample backtraces for an ffmpeg benchmark :

    



    sudo perf record -d --call-graph dwarf,65528 -c 1000000 -e mem_load_uops_retired.l3_miss:u ffmpeg -i /media/ahmad/DATA/Videos/video.mp4 -threads 1 -vf spp out.mp4


    



    As can be seen, PEBS is not used, the stack size is set to the maximum and the sampling period is quite large. I also limited the thread count, but this is the first part of perf script --no-demangle output :

    



    ffmpeg 11750  6670.061261:    1000000 mem_load_uops_retired.l3_miss:u:                0         5080021 N/A|SNP N/A|TLB N/A|LCK N/A
        7fffeab68844 x264_pixel_avg_w16_avx2+0x4 (/usr/lib/x86_64-linux-gnu/libx264.so.152)

ffmpeg 11750  6670.274835:    1000000 mem_load_uops_retired.l3_miss:u:                0         5080021 N/A|SNP N/A|TLB N/A|LCK N/A
        7fffeab68844 x264_pixel_avg_w16_avx2+0x4 (/usr/lib/x86_64-linux-gnu/libx264.so.152)

ffmpeg 11750  6670.496159:    1000000 mem_load_uops_retired.l3_miss:u:                0         5080021 N/A|SNP N/A|TLB N/A|LCK N/A
        7fffeab8ef89 x264_pixel_sad_x4_16x16_avx2+0x49 (/usr/lib/x86_64-linux-gnu/libx264.so.152)

ffmpeg 11750  6670.852598:    1000000 mem_load_uops_retired.l3_miss:u:                0         5080021 N/A|SNP N/A|TLB N/A|LCK N/A
        7fffeaac97b3 pixel_memset+0x293 (inlined)
        7fffeaac97b3 plane_expand_border+0x293 (inlined)
        7fffeaac97b3 x264_frame_expand_border_filtered+0x293 (/usr/lib/x86_64-linux-gnu/libx264.so.152)
        7fffeab463bc x264_fdec_filter_row+0x69c (/usr/lib/x86_64-linux-gnu/libx264.so.152)
        7fffeab49523 x264_slice_write+0x1873 (/usr/lib/x86_64-linux-gnu/libx264.so.152)
        7fffeab85285 x264_stack_align+0x15 (/usr/lib/x86_64-linux-gnu/libx264.so.152)
        7fffeab45bdb x264_slices_write+0xfb (/usr/lib/x86_64-linux-gnu/libx264.so.152)
        5555561e3d87 [unknown] ([heap])

ffmpeg 11750  6671.110007:    1000000 mem_load_uops_retired.l3_miss:u:                0         5080021 N/A|SNP N/A|TLB N/A|LCK N/A
        7fffeab6cdde x264_frame_init_lowres_core_avx2+0x8e (/usr/lib/x86_64-linux-gnu/libx264.so.152)

ffmpeg 11750  6671.463562:    1000000 mem_load_uops_retired.l3_miss:u:                0         5080021 N/A|SNP N/A|TLB N/A|LCK N/A
        7fffeaabf806 x264_macroblock_load_pic_pointers+0x886 (inlined)
        7fffeaabf806 x264_macroblock_cache_load+0x886 (inlined)
        7fffeaabf806 x264_macroblock_cache_load_progressive+0x886 (/usr/lib/x86_64-linux-gnu/libx264.so.152)
        7fffeab49204 x264_slice_write+0x1554 (/usr/lib/x86_64-linux-gnu/libx264.so.152)
        7fffeab85285 x264_stack_align+0x15 (/usr/lib/x86_64-linux-gnu/libx264.so.152)
        7fffeab45bdb x264_slices_write+0xfb (/usr/lib/x86_64-linux-gnu/libx264.so.152)
                  1c [unknown] ([unknown])


    



    None of the backtraces are correct. Because none of them begin with _start or __GI___clone. I also used LBR, instead. But it has more size constraints and, therefore, not suitable. Any suggestions on how to get around the problem ?

    




    



    UPDATE :

    



    The problem happens for all events that I checked. When I used mem_load_uops_retired.l3_miss or LLC-load-misses the problem was visible from the beginning. I also checked the output with the cycles event and everything worked fine, at the beginning. But after that, the same problem was seen.

    



    Also, note that, the problem disappears when I sample only kernel mem_load_uops_retired.l3_miss events.

    


  • Convert image sequence to video using ffmpeg and list of files

    13 juin 2020, par rensa

    I have a camera taking time-lapse shots every 2–3 seconds, and I keep a rolling record of a few days' worth. Because that's a lot of files, I keep them in subdirectories by day and hour :

    



    images/
    2015-05-02/
        00/
            2015-05-02-0000-02
            2015-05-02-0000-05
            2015-05-02-0000-07
        01/
            (etc.)
    2015-05-03/


    



    I'm writing a script to automatically upload a timelapse of the sunrise to YouTube each day. I can get the sunrise time from the web in advance, then go back after the sunrise and get a list of the files that were taken in that period using find :

    



    touch -d "$SUNRISE_START" sunrise-start.txt
touch -d "$SUNRISE_END" sunrise-end.txt
find images/"$TODAY" -type f -anewer sunrise-start.txt ! -anewer sunrise-end.txt


    



    Now I want to convert those files to a video with ffmpeg. Ideally I'd like to do this without making a copy of all the files (because we're talking 3.5 GB per hour of images), and I'd prefer not to rename them to something like image000n.jpg because other users may want to access the images. Copying the images is my fallback.

    



    But I'm getting stuck sending the results of find to ffmpeg. I understand that ffmpeg can expand wildcards internally, but I'm not sure that this is going to work where the files aren't all in one directory. I also see a few people using find's --exec option with ffmpeg to do batch conversions, but I'm not sure if this is going to work with image sequence input (as opposed to, say, converting 1000 images into 1000 single-frame videos).

    



    Any ideas on how I can connect the two—or, failing that, a better way to get files in a date range across several subdirectories into ffmpeg as an image sequence ?

    


  • bash - forcing globstar asterisk expansion when passed to loop

    1er juillet 2020, par Kittywhiskers Van Gogh

    I am attempting to write a script that finds the extension of all files within a directory and normalise them using ffmpeg to conform to a singular file format, codec and resolution.

    


    #!/usr/bin/env bash

# We need to use globstar because we want to run this recursively (bash >4.0)
# This script won't run on macOS unless you install bash from homebrew
shopt -s globstar nullglob

# macOS doesn't have some stuff that we need, presuming you have homebrew already
# then run "brew install ffmpeg rename"
if ! [ -x "$(command -v ffmpeg)" ] || ! [ -x "$(command -v rename)" ]; then
  echo 'Required applications are absent, quitting :(' >&2
  exit 1
fi

# We need to know what file extensions we are dealing with
DISCOVERED_EXTENSIONS=$(find . -type f -name '*.*' | sed 's|.*\.||' | sort -u | tr '\n' ' ' | sed "s| | ./\**/*.|g" | rev | cut -c9- | rev | echo "./**/*.$(stdin)")

# Let's ignore newlines for now
IFS=$'\n'; set -f

# Within the loop
for f in $(echo $DISCOVERED_EXTENSIONS | tr ' ' '\n'); do
# Do nothing if there are no files to begin with
#    if [ -z ${f+x} ]; then
#        echo "no files found, exiting";
#    else
# First get rid of all period/full-stops except the extension to prevent confusion
#        rename "s/\.(?=[^.]*\.)/_/g" "$f";
# Now run conversion and save files with prefix processed_
#        ffmpeg -i "$f" -vf scale=-1:720 -crf 18 \
#        -c:v libx264 -preset veryslow -c:a libvo_aacenc -b:a 128k -c:s copy \
#        "processed_${f%.*}.mp4";
#    fi
  ls $f;
done

# No longer ignore newlines
unset IFS; set +f

# Stop using recursiveness after we're done
shopt -u globstar nullglob


    


    I have commented out all the actual conversion code in an attempt to debug it, running this script alone, I get :

    


    ls: ./**/*.avi: No such file or directory
ls: ./**/*.jpg: No such file or directory
ls: ./**/*.mkv: No such file or directory
ls: ./**/*.mp4: No such file or directory


    


    It is passing ls "./**/*.avi" instead of ls ./**/*.avi (because of no variable expansion). I attempted to use eval, envsubst and even used a custom expand function, to no avail

    


    The result of echo "$DISCOVERED_EXTENSIONS" is :

    


    ./**/*.avi ./**/*.jpg ./**/*.mkv ./**/*.mp4


    


    ShellCheck objected to my lack of quotation marks but adding them in did not do anything. What changes can be recommended so that value of $f is the result of glob expansion and not the expression itself ?