Recherche avancée

Médias (33)

Mot : - Tags -/creative commons

Autres articles (50)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Gestion de la ferme

    2 mars 2010, par

    La ferme est gérée dans son ensemble par des "super admins".
    Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
    Dans un premier temps il utilise le plugin "Gestion de mutualisation"

Sur d’autres sites (7182)

  • Modifying incorrect h.264 dimension in existing video file

    11 juin 2015, par RichyJ

    After searching a lot, I’m more confused than ever !! To summarise :

    I recorded a video using my HTC One M8, using 1920x1088 resolution, and it came out fine. The next day, for some reason, in the settings I changed to 1920x1080 and the next video was weird - green bar across the top, diagonal green lines throughout and odd colour stripes. The underlying image was fine, although there seem to be some ’frame jumps’ at times. Unfortunately, this second video contained a section I would like to keep, so I’m trying to fix it...

    I’ve learned a bit about AVC/H.264, but it’s pretty confusing. Essentially, I wonder whether I can just change the ’1080’ in the file info to ’1088’ and salvage the footage - there’s no audio to worry about. I read that since 1080 is not directly divisible by 16, most encoders actually do 1088 then the player discards the remaining 8 lines at playback time. I wonder whether this is the root of the problem ? I tried to get into NALs, SPS/PPS etc, but couldn’t really fathom whether this was even relevant to my problem. A hex search didn’t even find anything that looked like the NALs given as examples elsewhere :

    Finding SPS/PPS data strings

    What does this NAL header data mean ?

    Fetching dimensions of a video

    I’ve loaded both files into a Hex editor and compared as best I can (around the moov and avcC parts), but haven’t fixed it yet. One of the single byte changes I made and saved to a new ’test’ file brought up additional info in the mediainfo program, showing that the original recording was at 1088 - this hadn’t been there before, but it still played wrongly. I found info regarding the encoding of height and width (units-1 * 16) but couldn’t work out how to use this info in practice.

    I tried ffmpeg and dumping to raw video, but couldn’t make this play at all as a yuv file.

    So, my question is, will I be able to change just one byte (or a few) in the file, to make it read as 1088 to the player, or am I looking in totally the wrong direction ?!? Is this even possible ? As I say, the actual images look intact throughout, just the colours are wrong and the lines are there, so I believe it’s something to do with YCrCb problems, but at this point, I’m lost...

    I know this isn’t specifically about programming, but the above links were all from this site, so thought it might be OK to ask here. Any help would be much appreciated !!

    I’ve recreated the conditions and done 2 short clips at 1080 and 1088 for you to see the problem but as I’m new, I can’t post them here yet. They’re on my Photobucket page if you are willing to look at them (hope this isn’t breaking the rules !!). The blueish line at the bottom is the windowsill...

    1088 still

    1080 still

  • Best practice to play segments of larger video files in HTML5 video format

    8 octobre 2015, par zx98

    I have to migrate a legacy project from Windows Media to HTML5 video/audio. The system should provide video/audio content to the web user meeting following criteria :

    1. Playout : Segments (TcIn to TcOut) of large video/audio files should be played "on the fly" to the web user. (Cutting the source material into segments does not work because there is a high overlap rate between segments, so 3-4 times more HDD space and a lot of extra programming would be needed. Markered playout of the large source files is not an option either as there are forbidden parts of the source material which should never be available to the user).
    2. Cutting : In general, users are permitted to make copies of the material. Indeed, by using the dowload function, users can download selected segments. I guess, this is not a problem : a service starts a cutting software (probably ffmpeg) that cuts the video, and the user is notified by email to download the product. (That’s the way I do it now but there might be a more simple option).
    3. Formats : what is the preferred video/audio format that most browsers (Chrome, Firefox, Opera, Android) support ?
    4. Server : If possible, I would keep Windows Server because the database behind is MS SQL Server.

    (Windows Media Server and WMEncoder currently works fine for all the above, however WM is not suppored by browsers any more. That is the reason for reengineering).

    I would appreciate any of your suggestions on how to rebuild this video/audio system. (What software elements to use and how).

    Thank you.

    -------- addition -------
    Dear commenters,
    Thank you for your comments. Please note that the above is one single question, the rest is just a detailed description of the issue/conditions, as recommended by stackoverflow.com. I guess, the answer is also very simple, I try to write it myself :

    1. You should keep the large video/audio files in xxx format because...
    2. You create a playlist file like this example... for each of the the segments.
    3. You install the xxx streaming software component on the web/media server to playout the segments.
    4. You can address and play the segments from the client side web browser like this :...
    5. For asynchronous cutting, yes, I recommend ffmpeg, try these profile settings.

    Just a few parts in bold are missing. Thanks to anyone who can fill them.

  • Roadmap #3844 : Gérer la parenté dans la déclaration d’un objet éditorial.

    14 mars 2018, par RastaPopoulos ♥

    Ok, j’avance dans ma réflexion.

    Cas simple où le type du parent est connu d’avance

    1. <span class="CodeRay"><span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">rubrique</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_rubrique</span><span class="delimiter">'</span></span>)
    2. </span>

    Télécharger

    Proposition pour le cas où le type est variable

    1. <span class="CodeRay"><span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">champ_type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">objet</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_objet</span><span class="delimiter">'</span></span>)
    2. </span>

    Télécharger

    Proposition pour le cas complexe où le parent dépend de conditions ! Exemple : les forums

    1. <span class="CodeRay"><span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(
    2.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">condition</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent=0</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ_type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">objet</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_objet</span><span class="delimiter">'</span></span>),
    3.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">condition</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent>0</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">forum</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent</span><span class="delimiter">'</span></span>)
    4. )
    5. </span>

    Télécharger

    Au vu de la dernière proposition, je me demande si le parent ne devrait pas toujours être un tableau de tableaux, même quand il n’y a qu’un seul cas.

    Cela éviterait de devoir tester plusieurs cas possible, dans les utilisations, on ferait donc toujours un "foreach" sur les parents. Et s’il n’y en a qu’un bah c’est tout, ça ne bouclera qu’une fois.

    Ça ne me parait pas déconnant sachant qu’on utilise déjà ce principe pour la déclaration des statuts. Dans l’immense majorité des cas, il n’y a qu’un seul champ de statut, et pourtant c’est toujours un tableau de tableaux, car parfois ça peut être plus complexe.

    1. <span class="CodeRay"><span class="string"><span class="delimiter">'</span><span class="content">statut</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(
    2.     <span class="predefined">array</span>( ’champ’ => ’statut’, ’publie’ => ’publie’, ’previsu’ => ’publie,prop,prepa’, ’post_date’ =>date, ’exception’ => ’statut’)
    3. )
    4. </span>

    Télécharger

    On reprendrait donc ce même principe et on aurait donc :

    1. <span class="CodeRay"><span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(
    2.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">rubrique</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_rubrique</span><span class="delimiter">'</span></span>),
    3. )
    4. <span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(
    5.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">champ_type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">objet</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_objet</span><span class="delimiter">'</span></span>),
    6. )
    7. <span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(
    8.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">condition</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent=0</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ_type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">objet</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_objet</span><span class="delimiter">'</span></span>),
    9.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">condition</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent>0</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">forum</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent</span><span class="delimiter">'</span></span>)
    10. )
    11. </span>

    Télécharger

    Et voilà, avec ça je crois qu’on doit bien gérer 99% des cas !

    Je vais implémenter ça dans le plugin "declarerparent" sur la zone, quitte du coup à devoir aller modifier le plugin Rang pour prendre en compte cette nouvelle écriture. Et du coup je vais l’utiliser dans le plugin Duplicator aussi, pour une autre vraie utilisation.

    Ça valait le coup d’attendre et de trouver des cas réels d’utilisation avant d’officialiser une écriture, car avec les forums ou autre dans le genre, on tombe bien sur des cas tordus qu’il fallait résoudre.