Recherche avancée

Médias (0)

Mot : - Tags -/interaction

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (50)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Les images

    15 mai 2013
  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (5529)

  • Transcoding MPEG-1 to MPEG-H (H.265/HEVC)

    17 juin 2021, par Alexander Shukaev

    Transcoding MPEG-4 video to MPEG-H in order to reduce the size in half without losing perceivable quality is relatively easy with a 2-pass approach presented within FFMPEG documentation. The scheme that I've been using is to extract the bit_rate value from the original MPEG-4 video using ffprobe and then multiply that value by 4 / 10. Thus, that new lower value would be specified by -b:v and become the bit_rate value of the resulting MPEG-H video. This worked quite well for most of the videos, not only with MPEG-4, but also with QuickTime and Audio Video Interleave (AVI).

    


    However, now I stumbled across the issue with transcoding MPEG-1 video in such a way. Somehow, the resulting MPEG-H video is unacceptably larger than the original video by a hefty margin. A 200MB original video could easily result in 1.5GB transcoded video. When I looked for a reason for such ridiculous behavior, I found out that somehow the advertised bit_rate value in MPEG-1 videos is also ridiculously high. Take the following two videos as an example (output from ffprobe) :

    


    164MB                           15MB
[STREAM]                        [STREAM]
index=0                         index=1
codec_name=mpeg4                codec_name=mpeg1video
codec_long_name=MPEG-4 part 2   codec_long_name=MPEG-1 video
profile=Simple Profile          profile=unknown
codec_type=video                codec_type=video
codec_time_base=1/24            codec_time_base=1/25
codec_tag_string=mp4v           codec_tag_string=[0][0][0][0]
codec_tag=0x7634706d            codec_tag=0x0000
width=960                       width=640
height=540                      height=480
coded_width=960                 coded_width=0
coded_height=540                coded_height=0
closed_captions=0               closed_captions=0
has_b_frames=0                  has_b_frames=1
sample_aspect_ratio=1:1         sample_aspect_ratio=1:1
display_aspect_ratio=16:9       display_aspect_ratio=4:3
pix_fmt=yuv420p                 pix_fmt=yuv420p
level=1                         level=-99
color_range=unknown             color_range=tv
color_space=unknown             color_space=unknown
color_transfer=unknown          color_transfer=unknown
color_primaries=unknown         color_primaries=unknown
chroma_location=left            chroma_location=center
field_order=unknown             field_order=unknown
timecode=N/A                    timecode=N/A
refs=1                          refs=1
quarter_sample=false            
divx_packed=false               
id=N/A                          id=0x1e0
r_frame_rate=24/1               r_frame_rate=25/1
avg_frame_rate=24/1             avg_frame_rate=25/1
time_base=1/24                  time_base=1/90000
start_pts=0                     start_pts=9900
start_time=0.000000             start_time=0.110000
duration_ts=7451                duration_ts=3690000
duration=310.458333             duration=41.000000
bit_rate=4096346                bit_rate=104857200
max_bit_rate=9000000            max_bit_rate=N/A
bits_per_raw_sample=N/A         bits_per_raw_sample=N/A
nb_frames=7451                  nb_frames=N/A
nb_read_frames=N/A              nb_read_frames=N/A
nb_read_packets=N/A             nb_read_packets=N/A
DISPOSITION:default=1           DISPOSITION:default=0
DISPOSITION:dub=0               DISPOSITION:dub=0
DISPOSITION:original=0          DISPOSITION:original=0
DISPOSITION:comment=0           DISPOSITION:comment=0
DISPOSITION:lyrics=0            DISPOSITION:lyrics=0
DISPOSITION:karaoke=0           DISPOSITION:karaoke=0
DISPOSITION:forced=0            DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0  DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0   DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0     DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0      DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0  DISPOSITION:timed_thumbnails=0
[/STREAM]                       [/STREAM]


    


    Clearly, the MPEG-4 video is like 11 times larger than MPEG-1, but at the same time MPEG-4 video has like 100000000 less bit rate advertised than MPEG-1. And since my algorithm does not consider anything else to compute the final bit rate, that is how the problem facilitates itself. Now I tried to look into some other field values in search for a hint that maybe something else should also be included into the equation, and my suspicions lie in the following ones :

    


    time_base=1/24                  time_base=1/90000
start_pts=0                     start_pts=9900
start_time=0.000000             start_time=0.110000
duration_ts=7451                duration_ts=3690000
duration=310.458333             duration=41.000000


    


    I'm not an expert with MPEG and the documentation isn't very informative on these in a way that I could derive some math out of it or otherwise somehow connect them to resolving my issue in a meaningful way. Could anybody experienced please assist here ?

    


  • 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

  • Révision 105476 : Correction de plusieurs soucis sur la fonction nettoyer_raccourcis_typo() .

    27 juillet 2017, par marcimat@rezo.net

    Cette fonction est utilisée par couper() ou pour calculer des attributs title
    ou encore pour indexer des documents par le plugin Indexer sur une base Sphinx.

    C’est dans ce dernier cadre que quelques problèmes se sont montrées :

    - la regexp qui supprimait les notes pouvait tuer PCRE si le texte était volumineux et avait des notes mal fermées.
    On simplifie cette expression. Cela ne provoque aucun changement sur les bases de tests que j’ai pu voir, améliorant
    même le retour de 3 articles qui renvoyaient vide avant à tord.

    - contrairement à ce qu’affirmait le commentaire, les tableaux n’étaient pas supprimés dans la plupart des cas.
    Effectivement la regexp cherchait uniquemnet des \r (sauts de paragraphe à cet endroit) et pas de \n (sauts de lignes à cet endroit).
    La regexp n’étant pas multiligne d’une part et textwheel sachant bien gérer les tableaux même s’il n’y a pas de ligne vide avant/après,
    on permet d’éliminer simplement les lignes de tableau en ajoutant \n à cet endroit.

    Plus généralement cette fonction… ne nettoyait pas tous les raccourcis. Une partie était faite par couper() uniquement.
    Il me semble que c’est un tord. On déplace donc de couper() dans la fonction nettoyer_raccourcis_typo() quelques nettoyages,
    notamment la suppression des caractères de liste.

    - les listes étaient retournées avec un saut de paragraphe entre chaque élément. Dans le cadre de ces fonctions ce n’est a priori pas utile,
    et on retourne du coup un simple saut de ligne à la place (note : couper remplace les sauts de ligne par des espaces ensuite — pas les sauts de paragraphe).
    Il y a donc un changement de comportement de ce point de vue.

    - le texte de sortie est trimmé (couper() s’en occupe aussi d’ailleurs).

    Conséquence notable pour Indexer : le contenu des tableau n’est plus retourné. Une option devrait être proposée à cette fonction
    pour retourner les contenus des tableaux, mais sans les | .

    On ajoute quelques fonctions de tests unitaires au passage.
    La fonction couper() du core va être modifiée en conséquence.