Recherche avancée

Médias (91)

Autres articles (30)

  • Pas question de marché, de cloud etc...

    10 avril 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

Sur d’autres sites (4832)

  • Conditional expressions not working in ffmpeg ?

    22 novembre 2019, par Don Clifton

    I’m having trouble with conditional expressions generating errors in ffmpeg. Here is an example of the problem, which is taken from the ffmpeg documentation for the blend filter :

    ffmpeg -i lyt1s.mp4 -i lyt1r.mp4 -filter_complex \
       'blend=all_expr=if(eq(mod(X,2),mod(Y,2)),A,B)' lytx.mp

    The following output is generated :

    ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
    built 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 --disable-doc --arch=x86_64 --enable-runtime-cpudetect``
     libavutil      55. 34.101 / 55. 34.101
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.101 / 57. 56.101
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'lyt1s.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.56.101
     Duration: 00:00:40.04, start: 0.000000, bitrate: 4337 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 4202 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'lyt1r.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.56.101
     Duration: 00:00:40.04, start: 0.000000, bitrate: 2410 kb/s
       Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2275 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
     handler_name    : SoundHandler
    [AVFilterGraph @ 0x7fc7f1d0a6a0] No such filter: '2)'
    Error initializing complex filters.
    Invalid argument

    If I replace the all_expr argument to something that doesn’t include a conditional expression (such as A*0.5+B*0.5) the blend filter does what it’s supposed to, without any errors.

    Can anyone tell me what’s going on here ?

  • FFmpeg what is the correct way to manually write silence through pipe:0 ?

    19 juillet 2023, par Bohdan Petrenko

    I have an ffmpeg process running with this parameters :

    


    ffmpeg -y -f s16le -ac {Channels} -ar 48000 -re -use_wallclock_as_timestamps true -i pipe:0 -f segment -segment_time {_segmentSize} -segment_list \"{_segmentListPath}\" -segment_format mp3 -segment_wrap 2 -reset_timestamps 0 -af aresample=async=1 \"{_filePath}\"


    


    I also have a DateTimeOffsetwhich represents the time when the recording was started. When an FFMpeg process is created, I need to add some some amount of silence that equals to the delay between current time and when the recording was started. This delay may be bigger than ffmpeg segments, so I calculate it relatively to the time when last ffmpeg segment should begin.
I store silence in a static byte array with length of two ffmpeg segments :

    


    _silenceBuffer ??= new byte[_segmentSize * 2 * Channels * SampleRate * 2];


    


    I tried two ways of writing silence :

    


    First code I tried is this :

    


    var delay = DateTimeOffset.UtcNow - RecordingStartDateTime;

var time = CalculateRelativeMilliseconds(delay.TotalMilliseconds); // this returns time based on current segment. It works fine.

var amount = (int)(time * 2 * Channels * SampleRate / 1000);

WriterStream.Write(_silenceBuffer, 0, amount);


    


    As the result, I have a very loud noise everywhere in output from ffmpeg. It brokes audio, so this way doesn't work for me.

    


    Second code I tried is this :

    


    var delay = DateTimeOffset.UtcNow - RecordingStartDateTime;

var time = CalculateRelativeMilliseconds(delay.TotalMilliseconds); // this returns time based on current segment. It works fine.

var amount = (int)time * 2 * Channels * SampleRate / 1000;

WriterStream.Write(_silenceBuffer, 0, amount);


    


    Difference between first and second code is that now I cast only time to int type, not the result of the whole expression. But it also doesn't work. This time at the beginning I have no silence I wrote, the recording begins with voice data I piped after writing silence. But if I use this ffmpeg command :

    


    ffmpeg -y -f s16le -ac {Channels} -ar 48000 -i pipe:0 -f segment -segment_time {_segmentSize} -segment_list \"{_segmentListPath}\" -segment_format mp3 -segment_wrap 2 -reset_timestamps 0 \"{_filePath}\"


    


    Then it works as expected. Recording begins with silence what I need, and then goes voice data I piped.

    


    So, how can I manually calculate and write silence to my ffmpeg instance ? Is there some universal way of writing and calculating silence that will work with any ffmpeg command ? I don`t want to use filters and other ffmpeg instances for offsetting piped voice data, because I do it only once per session. I think that I can write silence with byte arrays. I look forward to any suggestions.

    


  • Anomalie #4348 : php 7.4 alpha1

    26 août 2019, par Franck D

    C’est déjà beaucoup plus lisible :)
    Il y a pratiquement tout, j’ai pas fait l’ajout de csstidy car il y a une pr en cour, j’ai des log avec simplelog, mais comme il y a des chances que cela soit la même choses qu’avec les tests, je pense que le mieux est de faire par étape...
    J’ai un warning si je change l’auteur d’un article
    Warning : count() : Parameter must be an array or an object that implements Countable in C :\laragon\www\test3\prive\objets\liste\auteurs_fonctions.php on line 117

    Alors avec les tests unitaires, je trouves aussi ( a voir si ce ne sont pas "juste" les tests) :
    introduction.html : erreur est rouge, mais je comprends pas pourquoi, j’ai un article avec un chapeau et article bidon, donc, il devrait être vert

    cache_sessions.php : erreur (j’ai pas plus d’info)
    Echec Assertion inclure/A_session_wo assert_session=1 0.07s

    url_to_ascii.php : erreur
    Deprecated : Array and string offset access syntax with curly braces is deprecated in C :\laragon\www\test3\ecrire\inc\idna_convert.class.php on line 426
    Deprecated : Array and string offset access syntax with curly braces is deprecated in C :\laragon\www\test3\ecrire\inc\idna_convert.class.php on line 440
    Deprecated : Array and string offset access syntax with curly braces is deprecated in C :\laragon\www\test3\ecrire\inc\idna_convert.class.php on line 867
    Deprecated : Array and string offset access syntax with curly braces is deprecated in C :\laragon\www\test3\ecrire\inc\idna_convert.class.php on line 998

    valider_url_distante.php : erreur
    Deprecated : join() : Passing glue string after array is deprecated. Swap the parameters in C :\laragon\www\test3\tests\test.inc on line 113

    extraire_attribut.php : erreur
    Warning : preg_match() : Empty regular expression in C :\laragon\www\test3\ecrire\inc\filtres.php on line 1845
    Warning : preg_match() : Empty regular expression in C :\laragon\www\test3\ecrire\inc\filtres.php on line 1845
    Deprecated : join() : Passing glue string after array is deprecated. Swap the parameters in C :\laragon\www\test3\tests\test.inc on line 113

    extraire_balise.php : erreur
    Deprecated : join() : Passing glue string after array is deprecated. Swap the parameters in C :\laragon\www\test3\tests\test.inc on line 113

    form_hidden_arbo.php : erreur
    Notice : Trying to access array offset on value of type bool in C :\laragon\www\test3\ecrire\req\mysql.php on line 246
    Deprecated : join() : Passing glue string after array is deprecated. Swap the parameters in C :\laragon\www\test3\tests\test.inc on line 113

    form_hidden_libres.php : erreur et form_hidden_propres.php : erreur et form_hidden_propres_qs.php : erreur
    Notice : Trying to access array offset on value of type bool in C :\laragon\www\test3\ecrire\req\mysql.php on line 246

    spip_htmlentities.php : erreur et spip_htmlspecialchars.php : erreur et filtre_text_csv_dist.php : erreur
    Deprecated : join() : Passing glue string after array is deprecated. Swap the parameters in C :\laragon\www\test3\tests\test.inc on line 113

    00_sql_create_drop_view.php : erreur
    Notice : Undefined index : field in C :\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 36
    Notice : Undefined index : key in C :\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 37
    Warning : count() : Parameter must be an array or an object that implements Countable in C :\laragon\www\test3\tests\test.inc on line 83
    Deprecated : join() : Passing glue string after array is deprecated. Swap the parameters in C :\laragon\www\test3\tests\test.inc on line 113
    Lecture des structures de table en echec

    10_sql_insert_select.php : erreur
    Champ maj sur update
    Le champ ’maj’ () n’a vraisemblablement pas recu de timestamp à l’insertion
    Le champ ’maj’ () n’a vraisemblablement pas été mis a jour lors de l’update
    Le champ ’maj’ () n’a vraisemblablement pas été mis a jour lors de l’updateq
    Selections
    sql_multi [en] mal rendu : retour : Un debut de chaine : Vinassy, et [la fin], attendu :
    sql_multi [de] mal rendu : retour : Un debut de chaine : Vinasse, et [la fin], attendu :
    Selections multi tables
    selection sur 2 tables avec where en echec : attendu 3 reponses, présentes :

    30_sql_alter.php : erreur
    Notice : Undefined index : field in C :\laragon\www\test3\tests\unit\sql\30_sql_alter.php on line 54
    Notice : Trying to access array offset on value of type null in C :\laragon\www\test3\tests\unit\sql\30_sql_alter.php on line 54
    Alter : drop column
    sql_alter rate DROP COLUMN (plus de table ou sql_showtable en erreur ?)
    sql_alter rate DROP sans COLUMN (plus de table ou sql_showtable en erreur ?)
    sql_alter rate CHANGE (plus de table ou sql_showtable en erreur ?)
    sql_alter rate MODIFY varchar en text :
    sql_alter rate ADD COLUMN houba (plus de table ou sql_showtable en erreur ?)
    sql_alter rate ADD COLUMN hop AFTER (plus de table ou sql_showtable en erreur ?)
    Alter : renomme table
    sql_alter rate RENAME table
    Alter : index
    sql_alter rate DROP INDEX sons (plus de table ou sql_showtable en erreur ?)
    sql_alter rate ADD INDEX (wouaf) (plus de table ou sql_showtable en erreur ?)
    sql_alter rate ADD INDEX pluie (grrrr) (plus de table ou sql_showtable en erreur ?)
    sql_alter rate DROP INDEX pluie (plus de table ou sql_showtable en erreur ?)
    sql_alter rate ADD INDEX dring (grrrr, wouaf) (plus de table ou sql_showtable en erreur ?)
    Alter : primary key
    sql_alter rate DROP PRIMARY KEY (plus de table ou sql_showtable en erreur ?)
    sql_alter rate ADD PRIMARY KEY (plus de table)
    Alter : multiples
    sql_alter rate DROP INDEX dring, DROP COLUMN wouaf, DROP COLUMN grrrr (plus de table ou sql_showtable en erreur ?)
    sql_alter rate ADD COLUMN a INT, ADD COLUMN b INT, ADD COLUMN c INT, ADD INDEX abc (a,b,c) (plus de table ou sql_showtable en erreur ?)

    propre.php : erreur
    Deprecated : join() : Passing glue string after array is deprecated. Swap the parameters in C :\laragon\www\test3\tests\test.inc on line 113

    tw_propre.php : erreur et tw_propre_modeles_block.php : erreur et tw_propre_modeles_inline.php : erreur et tw_propre_typo.php : erreur
    Deprecated : join() : Passing glue string after array is deprecated. Swap the parameters in C :\laragon\www\test3\tests\test.inc on line 113

    barre_outil_markitup.php : erreur
    Fail : Test de la classe Barre_outils -> testCreerJson -> Pattern [,["name" :",] not detected in [String : barre_outils_spip = "nameSpace" : "spip", "previewAutoRefresh" : false, "markupSet" : [ "name" : "Transformer en

    intertitre

    ", "key" : "H", ...] at [C :\laragon\www\test3\plugins-dist\porte_plume\tests\barre_outil_markitup.php line 267]
    Fail : Test de la classe Barre_outils -> testBoutonsDUneLangue -> Pattern [,"lang" :[,] not detected in [String : barre_outils_spip = "nameSpace" : "spip", "previewAutoRefresh" : false, "markupSet" : [ "name" : "test apparaissant si langue est le francais", "className...] at [C :\laragon\www\test3\plugins-dist\porte_plume\tests\barre_outil_markitup.php line 301]
    Fail : Test de la classe Barre_outils -> testFonctionsJavacriptDansParametreNeDoitPasEtreEntreguillemetsDansJson -> Pattern [/:function\(/] not detected in [String : barre_outils_spip = "nameSpace" : "spip", "previewAutoRefresh" : false, "markupSet" : [ "name" : "Transformer en

    intertitre

    ", "key" : "H", ...] at [C :\laragon\www\test3\plugins-dist\porte_plume\tests\barre_outil_markitup.php line 318]
    BOUM !!! - Passes : 68, Failures : 3, Exceptions : 0, Non Applicable : 0