Recherche avancée

Médias (0)

Mot : - Tags -/formulaire

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

Autres articles (66)

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

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

Sur d’autres sites (10101)

  • Your 6-step guide to increasing acquisition

    2 juillet 2019, par Matomo Core Team — Analytics Tips

    Your 6-step guide to increasing acquisition

    Want to save time and money, as well as increase conversions and acquisition ? Matomo Analytics is here to help with that !

    Let’s start by helping you create a website visitors’ acquisition strategy, without it you might be going in blind and missing opportunities that might’ve been easily found in your metrics.

    To help you craft a strategy for your site, check out the steps below !

    Step one : Get familiar with the Acquisition feature

    The easiest way is to start with Matomo’s Acquisition feature itself. Discover and take action on the marketing channels with the biggest ROI for your business. You’ll learn :

    How to get traffic from external websites : Find out who’s helping you succeed from external websites and convince them to do more of it. Get more traffic by proactively asking for : paid sponsorships ; guest blog posts ; or spending more advertising on the particular website.

    About Social Networks : Which social media channels are connecting with the audience you want ? Take the guesswork out by using only the ones you need. By finding out which social channels your ideal audience prefers, you can generate shareable, convincing and engaging content to drive shares and traffic through to your site.

    Campaigns : This helps you understand which marketing campaign is working and which isn’t. You can then shift your efforts to effectively gain more visitors with less costs. Keep track of every ad and content piece you show across internal and external channels to see which has the biggest impact on your business objectives.

    Enhanced SEO : Every acquisition plan needs a focus on maximising your Search Engine Optimization (SEO) efforts. When it comes to getting conclusive search engine referrer metrics, you need to be sure you’re getting ALL the insights to drive your SEO strategy. See keyword position rankings, integrate Google, Bing and Yahoo search consoles, and no longer be restricted with “keyword not defined” showing up in your keywords reports.

    >> Watch Acquisition introduction video (playtime : 2.54 minutes)

    Step two : Set your goals and monitor conversion funnels

    Let the Goals feature guide you

    Goals are essential for building your marketing strategy and getting new customers. The more goals you track, the more you learn about behavioural changes and modify pathways to impact acquisitions over time. 

    Are you checking :

    • Which channels are converting the best for your business ?
    • Which cities/countries are most popular ?
    • What devices will attract the most visitors ?
    • How engaged your visitors are before converting ?

    This way you can see if your campaigns (SEO, PPC, signups, blogs etc.) or optimising efforts (A/B Testing, Funnels) have made an impact with the time and investment you’ve put in.

    >> Watch Goals introduction video (playtime : 2.04 minutes)

    The Funnels feature leads you to success

    Conversion funnels give you the big picture on whether your acquisition plans are paying off and where they may be falling short. If the ultimate goal of your site is to drive conversions, then each funnel can tell you how effectively you’re driving traffic through to your desired outcome.

    >> Watch Funnels introduction video (playtime : 2.29 minutes)

    Goals feature web analytics

    Step three : Measure the success of every touchpoint in your customer’s journey

    Multi Attribution feature

    Accurately identify channels where visitors first engage with your business, as well as the final channel they came from, before purchasing your product/service. This helps you make smarter decisions when determining acquisition spend to accurately calculate the Customer Acquisition Cost (CAC). Here you no longer falsely over-estimate investment in failing marketing channels.

    >> Watch Multi Attribution introduction video (playtime : 2.28 minutes)

    Step four : For ecommerce sites, understand who your customers are to increase sales

    Ecommerce feature to significantly increase $ potential

    If your website’s overall purpose is to generate revenue, the Ecommerce feature gives you comprehensive insights into your customer’s purchasing behaviours.

    This heavily reduces your risks when marketing products to potential customers as you’ll understand who to target, what to target them with and where further opportunities exist.

    >> Watch Ecommerce introduction video (playtime : 2.04 minutes)

    e-commerce analytics

    Step five : Make sure the forms on your website are easy to complete

    Form Analytics feature

    Once you get visitors through the funnel, the forms on your website are the final step to conversion and need special attention. If not done right, you could be missing out on converting a large portion of your visitors.

    Thankfully, you can now identify and fix pain points on the forms that are most important to your business’ success.

    >> Watch Form Analytics introduction video (playtime : 2.39 minutes)

    Form analytics feature

    Step six : Discover what a customer journey looks like on a user-by-user basis and bring in key acquisition elements to your strategy

    Visitor Profiles tell you each visitors’ history

    The Profile feature summarises every visit, action and purchase made.

    Better understand :

    • Why your visitors viewed your website.
    • Why your returning visitors continue to view your website.
    • What specifically your visitors are looking for and whether they found it on your website.

    The benefit is being able to see how a combination of acquisition channels play a part in a single buyer’s journey.

    >> Watch Visitors introduction video (playtime : 1.46 minutes)

    To summarise

    This guide will set you on a path to creating a well-planned acquisition strategy. It’s the key to attracting and capturing the attention of potential visitors/leads, and successfully driving them through a funnel/buyer’s journey on your website.

    Because of Matomo’s reputation as a trusted analytics platform, the features above can be used to assist you in making smarter data-driven decisions. You can pursue different acquisition avenues with confidence and create a strategy that’s agile and ready for success, all while respecting user privacy.

  • How to broadcast a video stream without reloading the page ?

    16 novembre 2024, par promo 69

    I created a Node.js server to :

    


      

    1. Receive images in udp and transform them into video and
    2. 


    3. Display it on a website
    4. 


    5. I tried but I don't understand how to broadcast the video live without having to reload the page
    6. 


    


    Node.js server code :

    


    const express = require('express');
const dgram = require('dgram');
const fs = require('fs');
const ffmpeg = require('fluent-ffmpeg');
const path = require('path');
const WebSocket = require('ws');

const app = express();
const httpPort = 3000;

const imageDir = path.join(__dirname, 'images');
if (!fs.existsSync(imageDir)) {
    fs.mkdirSync(imageDir);
}

let imageCount = 0;

const udpPort = 15002;
const udpHost = '127.0.0.1';
const server = dgram.createSocket('udp4');

const wss = new WebSocket.Server({ noServer: true });


const createVideo = () => {
    const outputVideo = path.join(__dirname, 'output_video.mp4');

    ffmpeg()
        .input(path.join(imageDir, '%d.jpg'))
        .inputOptions('-framerate 30')
        .output(outputVideo)
        .outputOptions('-c:v libx264')
        .on('end', () => {
            console.log('Vidéo créée avec succès !');

            wss.clients.forEach(client => {
                if (client.readyState === WebSocket.OPEN) {
                    client.send('new-video');
                }
            });
        })
        .on('error', (err) => {
            console.log('Erreur lors de la création de la vidéo:', err);
        })
        .run();
};


app.get('/feed-video', (req, res) => {
    const videoPath = path.join(__dirname, 'output_video.mp4');
    res.sendFile(videoPath);
});

server.on('message', (msg, rinfo) => {
    console.log(`Reçu message de ${rinfo.address}:${rinfo.port}`);

    const imageFilePath = path.join(imageDir, `${imageCount}.jpg`);
    fs.writeFileSync(imageFilePath, msg);

    console.log(`Image ${imageCount}.jpg reçue et sauvegardée`);


    imageCount++;


    if (imageCount > 100) {
        createVideo();
        imageCount = 0;
    }
});


server.on('listening', () => {
    const address = server.address();
    console.log(`Serveur UDP en écoute sur ${address.address}:${address.port}`);
});


app.server = app.listen(httpPort, () => {
    console.log(`Serveur HTTP et WebSocket démarré sur http://localhost:${httpPort}`);
});

app.server.on('upgrade', (request, socket, head) => {
    wss.handleUpgrade(request, socket, head, (ws) => {
        wss.emit('connection', ws, request);
    });
});


server.bind(udpPort, udpHost);



    


    The html page :

    


    &#xA;&#xA;&#xA;    &#xA;    &#xA;    &#xA;    &#xA;&#xA;&#xA;<h1>Drone Video Feed</h1>&#xA;<video controls="controls" autoplay="autoplay"></video>&#xA;&#xA;<code class="echappe-js">&lt;script&gt;&amp;#xA;    const video = document.getElementById(&amp;#x27;video&amp;#x27;);&amp;#xA;    const ws = new WebSocket(&amp;#x27;ws://localhost:3000&amp;#x27;);&amp;#xA;&amp;#xA;    ws.onmessage = (event) =&gt; {&amp;#xA;        const blob = new Blob([event.data], { type: &amp;#x27;video/mp4&amp;#x27; });&amp;#xA;        video.src = URL.createObjectURL(blob);&amp;#xA;        video.play();&amp;#xA;    };&amp;#xA;&lt;/script&gt;&#xA;&#xA;&#xA;&#xA;

    &#xA;

    I tried with websocket but I didn't succeed.&#xA;The video is correctly created and when I reload the page the new video is played by the player.

    &#xA;

    However I would have been able to see the live stream without having to reload my page all the time.

    &#xA;

  • How to save srt file with a video to be part of the video ?

    14 septembre 2023, par abdallah mostafa

    I've an application that generate srt file for a video with AI but I want to save the video to user's storage with the srt subtitle burned on the video not just embedded.

    &#xA;

    this is the response form the API

    &#xA;

    "fotmated_subtitle": [&#xA;        {&#xA;            "display_text": "You know those cat are memes that everybody uses in their videos and the TV movie clips that people use.",&#xA;            "interval": [&#xA;                "0:00:00.000",&#xA;                "0:00:04.000"&#xA;            ]&#xA;        },&#xA;        {&#xA;            "display_text": "Well, who are the four best free websites to find a move?",&#xA;            "interval": [&#xA;                "0:00:04.000",&#xA;                "0:00:06.240"&#xA;            ]&#xA;        }&#xA;    ]&#xA;

    &#xA;

    I could add this as a widget over the video that would change accourding to intervals.&#xA;I want to know How to save that video with the subtitle

    &#xA;

     Future<void> saveSubtitle() async {&#xA;    emit(ExportSubtitleLoading());&#xA;    String subtitleFilter = "";&#xA;    for (var subtitle in subtitles!.fotmatedSubtitle!) {&#xA;      String startTime = subtitle.interval![0];&#xA;      String endTime = subtitle.interval![1];&#xA;      String text = subtitle.displayText!;&#xA;      subtitleFilter &#x2B;=&#xA;          "drawtext=text=&#x27;$text&#x27;:enable=&#x27;between(t,$startTime,$endTime)&#x27;:x=(w-text_w)/2:y=h-30:fontsize=24:fontcolor=white,";&#xA;    }&#xA;&#xA;    final dir = await getTemporaryDirectory();&#xA;    String outputPath = &#x27;${dir.path}/ex_vid.mp4&#x27;;&#xA;    final arguments = [&#xA;      &#x27;-i&#x27;,&#xA;      inputFile,&#xA;      &#x27;-vf&#x27;,&#xA;      subtitleFilter,&#xA;      &#x27;-c:v&#x27;,&#xA;      &#x27;libx264&#x27;,&#xA;      &#x27;-c:a&#x27;,&#xA;      &#x27;copy&#x27;,&#xA;      outputPath&#xA;    ];&#xA;    (arguments.join(&#x27; &#x27;)).logger;&#xA;    &#x27;==============&#x27;.logger;&#xA;    await FFmpegKit.execute(arguments.join(&#x27; &#x27;)).then((session) async {&#xA;      final returnCode = await session.getReturnCode();&#xA;&#xA;      if (ReturnCode.isSuccess(returnCode)) {&#xA;        (&#x27;The Converstion is Success&#x27;).logger;&#xA;        emit(ExportSubtitleSuccess());&#xA;      } else if (ReturnCode.isCancel(returnCode)) {&#xA;        // CANCEL&#xA;        (&#x27;The Converstion is Cancelled&#x27;).logger;&#xA;      } else {&#xA;        emit(ExportSubtitleerror());&#xA;        (&#x27;The Converstion Have an Error&#x27;).logger;&#xA;      }&#xA;    });&#xA;  }&#xA;</void>

    &#xA;

    I've tested this method but still does not worked

    &#xA;

    here is the full command

    &#xA;

        String command =&#xA;        "-y -i /data/user/0/com.amaa.aistudio/cache/file_picker/Blink-96bdc94a-17df-4f64-b560-90811a44c4f8-Original.mp4 -vf \"drawtext=text=&#x27;You know those cat are memes that everybody uses in their videos and the TV movie clips that people use.&#x27;:enable=&#x27;between(t,0,4.000)&#x27;:x=(w-text_w)/2:y=h-30:fontsize=24:fontcolor=white,drawtext=text=&#x27;Well, who are the four best free websites to find a move?&#x27;:enable=&#x27;between(t,4.000,6.240)&#x27;:x=(w-text_w)/2:y=h-30:fontsize=24:fontcolor=white\" -c:v libx264 -c:a copy /data/user/0/com.amaa.aistudio/cache/ex_vid.mp4";&#xA;

    &#xA;

    also here is the logs

    &#xA;

     FFmpegKit log message: isom&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     minor_version   :&#xA;[log] FFmpegKit log message: 512&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     compatible_brands:&#xA;[log] FFmpegKit log message: isomiso2avc1mp41&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     comment         :&#xA;[log] FFmpegKit log message: vid:v0f044gc0000cj6mnmrc77u1oq5pn100&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     aigc_info       :&#xA;[log] FFmpegKit log message: {"aigc_label_type": 0}&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     encoder         :&#xA;[log] FFmpegKit log message: Lavf58.76.100&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:   Duration:&#xA;[log] FFmpegKit log message: 00:00:35.66&#xA;[log] FFmpegKit log message: , start:&#xA;[log] FFmpegKit log message: 0.000000&#xA;[log] FFmpegKit log message: , bitrate:&#xA;[log] FFmpegKit log message: 1239 kb/s&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:   Stream #0:0&#xA;[log] FFmpegKit log message: [0x1]&#xA;[log] FFmpegKit log message: (und)&#xA;[log] FFmpegKit log message: : Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 576x1024 [SAR 1:1 DAR 9:16], 1102 kb/s&#xA;[log] FFmpegKit log message: ,&#xA;[log] FFmpegKit log message: 47.78 fps,&#xA;[log] FFmpegKit log message: 50 tbr,&#xA;[log] FFmpegKit log message: 12800 tbn&#xA;[log] FFmpegKit log message:  (default)&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     Metadata:&#xA;[log] FFmpegKit log message:       handler_name    :&#xA;[log] FFmpegKit log message: VideoHandler&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:       vendor_id       :&#xA;[log] FFmpegKit log message: [0][0][0][0]&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:   Stream #0:1&#xA;[log] FFmpegKit log message: [0x2]&#xA;[log] FFmpegKit log message: (und)&#xA;[log] FFmpegKit log message: : Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s&#xA;[log] FFmpegKit log message:  (default)&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:     Metadata:&#xA;[log] FFmpegKit log message:       handler_name    :&#xA;[log] FFmpegKit log message: SoundHandler&#xA;[log] FFmpegKit log message:&#xA;[log] FFmpegKit log message:       vendor_id       :&#xA;[log] FFmpegKit log message: [0][0][0][0]&#xA;[log] FFmpegKit log message:&#xA;FFmpegKit log message: [Parsed_drawtext_0 @ 0xb4000077140d5380] Cannot find a valid font for the family Sans&#xA;[log] FFmpegKit log message: [AVFilterGraph @ 0xb4000077a5e0afe0] Error initializing filters&#xA;[log] FFmpegKit log message: Error reinitializing filters!&#xA;[log] FFmpegKit log message: Failed to inject frame into filter network: No such file or directory&#xA;[log] FFmpegKit log message: Error while processing the decoded data for stream #0:0&#xA;[log] FFmpegKit log message: Conversion failed!&#xA;

    &#xA;