Recherche avancée

Médias (91)

Autres articles (105)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    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 (...)

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

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

Sur d’autres sites (11656)

  • macOS : ffmpeg runs OK but ffprobe fails to find a dynamic library [closed]

    17 juillet, par Kim Silverman

    I'm running macOS 15.5 on an M4 MacBook Pro. I have some .mov movie files, produced by taking screen recordings. I want to extract the audio from them, normalize its volume (it contains speech which is too quiet), perhaps also attenuating some background noise, and then reinsert the modified audio back into the movies. It seems to me that ffmpeg will support these needs. It has an accompanying tool ffprobe which will report on the content structure (how many audio tracks, etc) of a movie file.

    


    I installed ffmpeg using brew and can successfully run it :

    


    $ ffmpeg -version
ffmpeg version 2.2.4
built on Jun 27 2014 09:57:37 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --arch=x86_64 --enable-runtime-cpudetect
libavutil      52. 66.100 / 52. 66.100
libavcodec     55. 52.102 / 55. 52.102
libavformat    55. 33.100 / 55. 33.100
libavdevice    55. 10.100 / 55. 10.100
libavfilter     4.  2.100 /  4.  2.100
libswscale      2.  5.102 /  2.  5.102
libswresample   0. 18.100 /  0. 18.100
libpostproc    52.  3.100 / 52.  3.100


    


    But if I try to launch the associated tool ffprobe, it fails looking for a library :

    


    $ ffprobe
dyld[90050]: Library not loaded: @@HOMEBREW_CELLAR@@/ffmpeg/4.4_2/lib/libavdevice.58.dylib
  Referenced from: <1BF90DFA-AFA6-3011-BF50-B3515C3A7477> /opt/brew/Cellar/ffmpeg/4.4_2/bin/ffprobe
  Reason: tried: '/usr/local/lib/libavdevice.58.dylib' (no such file), '/usr/lib/libavdevice.58.dylib' (no such file, not in dyld cache)
Abort trap: 6


    


    I uninstalled then reinstalled, updated, and upgrade brew and then ffmpeg, but the behaviour remains the same.

    


    The two tools are in different places :

    


    $ ls -l `which ffmpeg`
-rwxr-xr-x@ 1 kimsilverman  staff  17474952 Jun 27  2014 /usr/local/bin/ffmpeg
$ ls -l `which ffprobe`
lrwxr-xr-x  1 kimsilverman  staff  36 Jul 16 21:21 /opt/homebrew/bin/ffprobe -> ../Cellar/ffmpeg/7.1.1_3/bin/ffprobe


    


    And I notice that ffmpeg is 11 years old, whereas ffprobe is dated today.

    


  • Revision e890c2579b : add a context tree structure to encoder This patch sets up a quad_tree structur

    17 avril 2014, par Jim Bankoski

    Changed Paths :
     Modify /vp9/encoder/vp9_block.h


     Add /vp9/encoder/vp9_context_tree.c


     Add /vp9/encoder/vp9_context_tree.h


     Modify /vp9/encoder/vp9_encodeframe.c


     Modify /vp9/encoder/vp9_firstpass.c


     Modify /vp9/encoder/vp9_onyx_if.c


     Modify /vp9/vp9cx.mk



    add a context tree structure to encoder

    This patch sets up a quad_tree structure (pc_tree) for holding all of
    pick_mode_context data we use at any square block size during encoding
    or picking modes. That includes contexts for 2 horizontal and 2 vertical
    splits, one none, and pointers to 4 sub pc_tree nodes corresponding
    to split. It also includes a pointer to the current chosen partitioning.

    This replaces code that held an index for every level in the pick
    modes array including : sb_index, mb_index,
    b_index, ab_index.

    These were used as stateful indexes that pointed to the current pick mode
    contexts you had at each level stored in the following arrays

    array ab4x4_context[][][],
    sb8x4_context[][][], sb4x8_context[][][], sb8x8_context[][][],
    sb8x16_context[][][], sb16x8_context[][][], mb_context[][], sb32x16[][],
    sb16x32[], sb32_context[], sb32x64_context[], sb64x32_context[],
    sb64_context

    and the partitioning that had been stored in the following :
    b_partitioning, mb_partitioning, sb_partitioning, and sb64_partitioning.

    Prior to this patch before doing an encode you had to set the appropriate
    index for your block size ( switch statement), update it ( up to 3
    lookups for the index array value) and then make your call into a recursive
    function at which point you'd have to call get_context which then
    had to do a switch statement based on the blocksize, and then up to 3
    lookups based upon the block size to find the context to use.

    With the new code the context for the block size is passed around directly
    avoiding the extraneous switch statements and multi dimensional array
    look ups that were listed above. At any level in the search all of the
    contexts are local to the pc_tree you are working on (in ?).

    In addition in most places code that used to call sub functions and
    then check if the block size was 4x4 and index was > 0 and return
    now don't preferring instead to call the right none function on the inside.

    Change-Id : I06e39318269d9af2ce37961b3f95e181b57f5ed9

  • php rename of ffmpeg deleted/reduced my video files to 20Kb

    29 octobre 2018, par ax.falcon

    I’m not sure what I did but somehow when I ran my code it deleted my video files, that is, it reduced each video file to a mere 20-40Kb.

    I’m using a directory tree iterator to go through the selected folder and iterate all the files and subfolders in there, with commands for each. I’m only doing the files at this stage, and the code simply

    1. renames the video file so that it has no spaces in it’s name
    2. extracts a thumbnail using ffmpeg and places it in the videos directory
    3. inserts data in to database for displaying on a website.

    Now I was able to use it once, and it worked save for 2 video files that I had been using for testing. For some reason those files were deleted. I tried running it again and it deleted all the videos.

    What might be the problem ?

    $mysqli = new mysqli("localhost", "refit_2_admin", "asd123", "refit_2");
    if($mysqli->connect_error)
    {
       exit('Error db');
    }
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli->set_charset("utf8mb4");
    $_SESSION['mysqli'] = $mysqli;

    // DIRECTORY

    $dir = 'videos';

    $it = new RecursiveTreeIterator(new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS));
    foreach($it as $path => $branch)
    {
       if(is_dir($path)) // if is a directory
       {
           // echo something
       }
       if(is_file($path)) // if is a file
       {
           $schism = pathinfo($path);
           $string = str_replace(' ', '_', $schism['filename']);

           //$string = str_replace($replace, $with, $string);
           rename($path, $dir.'\\'.$string.'.mp4');

           $ffmpeg = 'ffmpeg.exe';

           $video = dirname(__FILE__) . '\\'.$dir.'\\'.$string.'.mp4';
           //echo ''.$video.'<br />';

           $image = dirname(__FILE__) . '\\'.$dir.'\\'.$string.'.jpg';
           //echo ''.$image.'<br />';

           $second = 1;

           /*$cmd = "$ffmpeg -i $video 2>&amp;1";
           if (preg_match('/Duration: ((\d+):(\d+):(\d+))/s', `$cmd`, $time)) {
               $total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];
               $second = rand(1, ($total - 1));
           }*/

           $cmd = "$ffmpeg -i $video -deinterlace -an -ss $second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $image 2>&amp;1";
           $return = `$cmd`;

           $video_title = substr($schism['filename'], 0, -5);
           $video_filename = $schism['filename'].'.mp4';
           $video_thumbnail = $schism['filename'].'.jpg';
           $video_include = basename(__DIR__);
           // Insert
           $stmt = $mysqli->prepare("INSERT INTO videos (video_title, video_filename, video_include, video_tags, video_thumbnail) VALUES (?, ?, ?, ?, ?)");
           $stmt->bind_param("sssss", $video_title, $video_filename, $dir, $video_title, $video_thumbnail);
           $stmt->execute();
           $stmt->close();
       }

    }