Recherche avancée

Médias (1)

Mot : - Tags -/iphone

Autres articles (44)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    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 (...)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

Sur d’autres sites (7000)

  • How to convert MPEG2-TTS to MPEG2-TS format to playback using ffplay

    29 février 2024, par Asustor

    I know some OSS such as ffmpeg or gstreamer don't support to play-back MPEG2-TTS stream.
Then, I tried to convert 192 bytes TTS packet to 188 bytes TS packet by deleting first 4 bytes like :

    


    def conv_tts2ts(rtp_payload):

    payload_len = len(rtp_payload)
    if payload_len % 192 != 0:
        raise

    pkt_num = int(payload_len / 192)
    ts_data = bytearray()
    for i in range(pkt_num):
        spos = 192 * i
        epos = spos + 192
        tmp = rtp_payload[spos:epos]
        ts_data.extend(tmp[4:])

    return ts_data

# after this, send ts_data with RTP header received from MPEG2-TTS streamer via UDP/IP.



    


    However, ffplay and ffprobe don't reaction.

    


    I expect to be able to play-back using ffplay as MPEG2-TS format.
Please tell me how to convert TTS to TS in order to deocde by ffmpeg ?

    


  • addEventListener with encrypted video-js is not working

    26 février 2024, par vinod

    I have a video uploading project in laravel. Everything is good. I have encrypted videos using "FFMPEG" packge and wanted to play on video-js player. Also wanted to show google-adsense there.

    


    The error is giving to me :

    


    IDEOJS : ERROR : videojs-contrib-ads has not seen a loadstart event 5 seconds after being initialized, but a source is present. This indicates that videojs-contrib-ads was initialized too late. It must be initialized immediately after video.js in the same tick. As a result, some ads will not play and some media events will be incorrect. For more information, see http://videojs.github.io/videojs-contrib-ads/integrator/getting-started.html

    


    and "addEventListener" is also not working except "document.addEventListener('DOMContentLoaded', function() ".

    


    I think problem is due to data-setup='{}' add into video tag. because previously, I was playing the video without encryption like the original video with full path and there was not added the data-setup='{}'. Everything was working. But after playing the encrypted video. I got the errors.

    


    Thank in advance !

    


    my view is :

    


    <video class="img-fluid myVideo video-js vjs-default-skin" preload="none" controls="controls" data-video-id="{{ Crypt::encrypt($video_list->id) }}" data-setup="&#x27;{}&#x27;">&#xA;        @if (Auth::check())&#xA;            <source src="{{ route(&#x27;video.player.show&#x27;, [&#x27;filename&#x27; => $video_list->unique_number.&#x27;.m3u8&#x27;,&#x27;type&#x27; => &#x27;full&#x27;,&#x27;video_id&#x27; => $video_list->unique_number]) }}" type="application/x-mpegURL" class="full-video">&#xA;           &#xA;        @endif&#xA;</source></video>&#xA;

    &#xA;

    js is :

    &#xA;

    <code class="echappe-js">&lt;script&gt;&amp;#xA;        document.addEventListener(&amp;#x27;DOMContentLoaded&amp;#x27;, function() {&amp;#xA;            console.log(&amp;#x27;afterload&amp;#x27;);&amp;#xA;            const videos = document.querySelectorAll(&amp;#x27;.myVideo&amp;#x27;);&amp;#xA;            let playing = [];&amp;#xA;&amp;#xA;            videos.forEach((video, index) =&gt; {&amp;#xA;                console.log(&amp;#x27;video&amp;#x27;);&amp;#xA;                console.log(video.id);&amp;#xA;                const overlay = document.querySelectorAll(&amp;#x27;.overlay&amp;#x27;)[index];&amp;#xA;                const paymentoverlay = document.querySelectorAll(&amp;#x27;.paymentoverlay&amp;#x27;)[index];&amp;#xA;&amp;#xA;                // Create a single player instance for each video&amp;#xA;                const player = videojs(video.id);&amp;#xA;&amp;#xA;                var options = {&amp;#xA;                    id: &amp;#x27;content_video&amp;#x27;, // Use the correct ID for each video element&amp;#xA;                    adTagUrl: &amp;#x27;http://pubads.g.doubleclick.net/gampad/ads?sz=640x480&amp;amp;iu=/124319096/external/ad_rule_samples&amp;amp;ciu_szs=300x250&amp;amp;ad_rule=1&amp;amp;impl=s&amp;amp;gdfp_req=1&amp;amp;env=vp&amp;amp;output=xml_vmap1&amp;amp;unviewed_position_start=1&amp;amp;cust_params=sample_ar%3Dpremidpostpod%26deployment%3Dgmf-js&amp;amp;cmsid=496&amp;amp;vid=short_onecue&amp;amp;correlator=&amp;#x27;&amp;#xA;                };&amp;#xA;&amp;#xA;                player.ima(options);&amp;#xA;&amp;#xA;                video.addEventListener(&amp;#x27;ended&amp;#x27;, function() {&amp;#xA;                console.log(&amp;#x27;111&amp;#x27;);&amp;#xA;                    // Handle video conditions after it finishes&amp;#xA;                    handleVideoConditions(video, overlay, paymentoverlay);&amp;#xA;                });&amp;#xA;&amp;#xA;                video.onplay = function() {&amp;#xA;                    playing.push(video);&amp;#xA;                    if (!video.paused) {&amp;#xA;                        video.controls = true;&amp;#xA;                        // Trigger an AJAX request to register the view&amp;#xA;                        registerView(video);&amp;#xA;                    }&amp;#xA;                };&amp;#xA;            });&amp;#xA;&amp;#xA;            function handleVideoConditions(video, overlay, paymentoverlay) {&amp;#xA;                console.log(&amp;#x27;222&amp;#x27;);&amp;#xA;                const isShortVideo = video.querySelector(&amp;#x27;.short-video&amp;#x27;);&amp;#xA;                const isFullVideo = video.querySelector(&amp;#x27;.full-video&amp;#x27;);&amp;#xA;                if (!isUserLoggedIn &amp;amp;&amp;amp; isShortVideo) {&amp;#xA;                    overlay.style.display = &amp;#x27;block&amp;#x27;;&amp;#xA;                } else if (isUserLoggedIn &amp;amp;&amp;amp; isShortVideo) {&amp;#xA;                    paymentoverlay.style.display = &amp;#x27;block&amp;#x27;;&amp;#xA;                }&amp;#xA;            }&amp;#xA;&amp;#xA;            async function registerView(video) {&amp;#xA;                const videoId = video.getAttribute(&amp;#x27;data-video-id&amp;#x27;);&amp;#xA;                const response = await fetch(`{{ route(&amp;#x27;video.registerView&amp;#x27;, [&amp;#x27;videoId&amp;#x27; =&gt; &amp;#x27;:videoId&amp;#x27;]) }}`&amp;#xA;                    .replace(&amp;#x27;:videoId&amp;#x27;, videoId));&amp;#xA;                const data = await response.json();&amp;#xA;                $(&amp;#x27;#videoview&amp;#x27; &amp;#x2B; data.id).html(data.view_count);&amp;#xA;            }&amp;#xA;&amp;#xA;        });&amp;#xA;    &lt;/script&gt;&#xA;

    &#xA;

  • Configure error for ffmpeg 6.1 when executing in bash 5.0.17

    1er mars 2024, par user2715311

    I am trying to install ffmpeg 6.1 (https://ffmpeg.org/releases/ffmpeg-6.1.1.tar.xz), but when executing the configure script my bash version 5.0.17 removes the double quotes from the parameters containing the condition to select the version of the libraries being searched for to pass this parameter to pkg-config.

    &#xA;

    For example, when processing code

    &#xA;

    check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version&#xA;

    &#xA;

    , the pkg-config call will look something like

    &#xA;

    pkg-config --exists libopenjp2 >= 2.1.0&#xA;

    &#xA;

    As a result, configure execution stops with the following error.

    &#xA;

    ERROR: libopenjp2 >= 2.1.0 not found using pkg-config&#xA;

    &#xA;

    As a hint, you may be prompted to set the path to the 2.1.0.pc file in PKG_CONFIG_PATH.

    &#xA;

    It is interesting that this is the case in other versions of bash, for example, this problem is not observed in version 5.1.16.

    &#xA;

    Does this mean that bash version 5.0.17 will actually not be able to work with configure to build most code sources, because such version selection conditions are used quite often when searching for the right libraries ?

    &#xA;

    Or perhaps I can influence this bash behaviour in some way ? Or, alternatively, have I misinterpreted the problem at all and the solution is in a completely different area ?

    &#xA;

    The problem was identified in the Linux Mint 20.1 distribution.

    &#xA;

    $ lsb_release -a&#xA;No LSB modules are available.&#xA;Distributor ID: Linuxmint&#xA;Description:    Linux Mint 20.1&#xA;Release:    20.1&#xA;Codename:   ulyssa&#xA;

    &#xA;

    First of all, I checked that if I call pkg-config correctly, it can find the right library on my system.

    &#xA;

    $ pkg-config --exists "libopenjp2 >= 2.1.0"&#xA;$ echo $?&#xA;0&#xA;

    &#xA;

    or

    &#xA;

    $ pkg-config --cflags --libs "libopenjp2 >= 2.1.0"&#xA;-I/usr/include/openjpeg-2.3 -lopenjp2&#xA;

    &#xA;

    Next, I examined the configure code associated with this problem and came to the conclusion I outlined above.

    &#xA;