Recherche avancée

Médias (1)

Mot : - Tags -/berlin

Autres articles (53)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

Sur d’autres sites (7948)

  • ffmpeg - convert mxf to ts while maintaining "Text" tracks

    15 février 2021, par user3552454

    I have a .mxf file that has 608/708 captions. When I look at the MediaInfo of this file I see below Text information. My goal is to extract 608/708 captions from this file using ccextractor. To do that first I am converting this to a .ts file using below ffmpeg command as ffmpeg -i abc.mxf -c:v mpeg2video -s 160x90 -b:v 300k -map 0:v -map 0:d abc.ts. But when I check the MediaInfo of abc.ts file I don't see any of "@type:Text" tracks in the output.

    


    I also tried with -copy_unknown but still, I am not able to see "@type:Text" in output .ts file MediaInfo.

    


    Also in some file I see "MuxingMode": "Ancillary data / CDP" and some files I am seeing "MuxingMode": "A/53 / DTVCC Transport". What is the difference between these two ?

    


    Request you to share your valuable feedback. Thank you.

    


    [{
    "@type": "Text",
    "@typeorder": "1",
    "ID": "512-CC1",
    "Format": "EIA-608",
    "MuxingMode": "Ancillary data / CDP",
    "Duration": "2645.142",
    "BitRate_Mode": "CBR",
    "FrameRate": "29.970",
    "FrameCount": "79275",
    "Delay": "0.000",
    "Delay_DropFrame": "Yes",
    "Delay_Source": "Container",
    "StreamSize": "0",
    "extra": {
        "Delay_SDTI": "0",
        "CaptionServiceName": "CC1",
        "CaptionServiceDescriptor_IsPresent": "No",
        "cdp_length_Min": "73",
        "cdp_length_Max": "73"
    }
}, {
    "@type": "Text",
    "@typeorder": "2",
    "ID": "512-1",
    "Format": "EIA-708",
    "MuxingMode": "Ancillary data / CDP",
    "Duration": "2645.142",
    "BitRate_Mode": "CBR",
    "FrameRate": "29.970",
    "FrameCount": "79275",
    "StreamSize": "0",
    "extra": {
        "CaptionServiceName": "1",
        "CaptionServiceDescriptor_IsPresent": "No",
        "cdp_length_Min": "73",
        "cdp_length_Max": "73"
    }
}, {
    "@type": "Text",
    "@typeorder": "3",
    "ID": "512-2",
    "Format": "EIA-708",
    "MuxingMode": "Ancillary data / CDP",
    "Duration": "2645.142",
    "BitRate_Mode": "CBR",
    "FrameRate": "29.970",
    "FrameCount": "79275",
    "StreamSize": "0",
    "extra": {
        "CaptionServiceName": "2",
        "CaptionServiceDescriptor_IsPresent": "No",
        "cdp_length_Min": "73",
        "cdp_length_Max": "73"
    }
}, {
    "@type": "Text",
    "@typeorder": "4",
    "ID": "512-3",
    "Format": "EIA-708",
    "MuxingMode": "Ancillary data / CDP",
    "Duration": "2645.142",
    "BitRate_Mode": "CBR",
    "FrameRate": "29.970",
    "FrameCount": "79275",
    "StreamSize": "0",
    "extra": {
        "CaptionServiceName": "3",
        "CaptionServiceDescriptor_IsPresent": "No",
        "cdp_length_Min": "73",
        "cdp_length_Max": "73"
    }
}, {
    "@type": "Text",
    "@typeorder": "5",
    "ID": "512-4",
    "Format": "EIA-708",
    "MuxingMode": "Ancillary data / CDP",
    "Duration": "2645.142",
    "BitRate_Mode": "CBR",
    "FrameRate": "29.970",
    "FrameCount": "79275",
    "StreamSize": "0",
    "extra": {
        "CaptionServiceName": "4",
        "CaptionServiceDescriptor_IsPresent": "No",
        "cdp_length_Min": "73",
        "cdp_length_Max": "73"
    }
}]


    


  • Error using FFmpeg.wasm for audio files in react : "ffmpeg.FS('readFile', 'output.mp3') error. Check if the path exists"

    25 février 2021, par Rayhan Memon

    I'm currently building a browser-based audio editor and I'm using ffmpeg.wasm (a pure WebAssembly/JavaScript port of FFmpeg) to do it.

    


    I'm using this excellent example, which allows you to uploaded video file and convert it into a gif :

    


    import React, { useState, useEffect } from &#x27;react&#x27;;&#xA;import &#x27;./App.css&#x27;;&#xA;&#xA;import { createFFmpeg, fetchFile } from &#x27;@ffmpeg/ffmpeg&#x27;;&#xA;const ffmpeg = createFFmpeg({ log: true });&#xA;&#xA;function App() {&#xA;  const [ready, setReady] = useState(false);&#xA;  const [video, setVideo] = useState();&#xA;  const [gif, setGif] = useState();&#xA;&#xA;  const load = async () => {&#xA;    await ffmpeg.load();&#xA;    setReady(true);&#xA;  }&#xA;&#xA;  useEffect(() => {&#xA;    load();&#xA;  }, [])&#xA;&#xA;  const convertToGif = async () => {&#xA;    // Write the file to memory &#xA;    ffmpeg.FS(&#x27;writeFile&#x27;, &#x27;test.mp4&#x27;, await fetchFile(video));&#xA;&#xA;    // Run the FFMpeg command&#xA;    await ffmpeg.run(&#x27;-i&#x27;, &#x27;test.mp4&#x27;, &#x27;-t&#x27;, &#x27;2.5&#x27;, &#x27;-ss&#x27;, &#x27;2.0&#x27;, &#x27;-f&#x27;, &#x27;gif&#x27;, &#x27;out.gif&#x27;);&#xA;&#xA;    // Read the result&#xA;    const data = ffmpeg.FS(&#x27;readFile&#x27;, &#x27;out.gif&#x27;);&#xA;&#xA;    // Create a URL&#xA;    const url = URL.createObjectURL(new Blob([data.buffer], { type: &#x27;image/gif&#x27; }));&#xA;    setGif(url)&#xA;  }&#xA;&#xA;  return ready ? (&#xA;    &#xA;    <div classname="App">&#xA;      { video &amp;&amp; &#xA;&#xA;      }&#xA;&#xA;&#xA;      <input type="file" />> setVideo(e.target.files?.item(0))} />&#xA;&#xA;      <h3>Result</h3>&#xA;&#xA;      <button>Convert</button>&#xA;&#xA;      { gif &amp;&amp; <img src="http://stackoverflow.com/feeds/tag/{gif}" width="250" style='max-width: 300px; max-height: 300px' />}&#xA;&#xA;    </div>&#xA;  )&#xA;    :&#xA;    (&#xA;      <p>Loading...</p>&#xA;    );&#xA;}&#xA;&#xA;export default App;&#xA;

    &#xA;

    I've modified the above code to take an mp3 file recorded in the browser (recorded using the npm package 'mic-recorder-to-mp3' and passed to this component as a blobURL in the global state) and do something to it using ffmpeg.wasm :

    &#xA;

    import React, { useContext, useState, useEffect } from &#x27;react&#x27;;&#xA;import Context from &#x27;../../store/Context&#x27;;&#xA;import Toolbar from &#x27;../Toolbar/Toolbar&#x27;;&#xA;import AudioTranscript from &#x27;./AudioTranscript&#x27;;&#xA;&#xA;import { createFFmpeg, fetchFile } from &#x27;@ffmpeg/ffmpeg&#x27;;&#xA;&#xA;//Create ffmpeg instance and set &#x27;log&#x27; to true so we can see everything&#xA;//it does in the console&#xA;const ffmpeg = createFFmpeg({ log: true });&#xA;&#xA;const AudioEditor = () => {&#xA;    //Setup Global State and get most recent recording&#xA;    const { globalState } = useContext(Context);&#xA;    const { blobURL } = globalState;&#xA;&#xA;    //ready flag for when ffmpeg is loaded&#xA;    const [ready, setReady] = useState(false);&#xA;&#xA;    const [outputFileURL, setOutputFileURL] = useState(&#x27;&#x27;);&#xA;&#xA;    //Load FFmpeg asynchronously and set ready when it&#x27;s ready&#xA;    const load = async () => {&#xA;        await ffmpeg.load();&#xA;        setReady(true);&#xA;    }&#xA;&#xA;    //Use UseEffect to run the &#x27;load&#x27; function on mount&#xA;    useEffect(() => {&#xA;        load();&#xA;    }, []);&#xA;&#xA;    const ffmpegTest = async () => {&#xA;        //must first write file to memory as test.mp3&#xA;        ffmpeg.FS(&#x27;writeFile&#x27;, &#x27;test.mp3&#x27;, await fetchFile(blobURL));&#xA;&#xA;        //Run the FFmpeg command&#xA;        //in this case, trim file size down to 1.5s and save to memory as output.mp3&#xA;        ffmpeg.run(&#x27;-i&#x27;, &#x27;test.mp3&#x27;, &#x27;-t&#x27;, &#x27;1.5&#x27;, &#x27;output.mp3&#x27;);&#xA;&#xA;        //Read the result from memory&#xA;        const data = ffmpeg.FS(&#x27;readFile&#x27;, &#x27;output.mp3&#x27;);&#xA;&#xA;        //Create URL so it can be used in the browser&#xA;        const url = URL.createObjectURL(new Blob([data.buffer], { type: &#x27;audio/mp3&#x27; }));&#xA;        setOutputFileURL(url);&#xA;    }&#xA;&#xA;    return ready ? ( &#xA;        <div>&#xA;            <audiotranscript></audiotranscript>&#xA;            <toolbar></toolbar>&#xA;            <button>&#xA;                Edit&#xA;            </button>&#xA;            {outputFileURL &amp;&amp; &#xA;                &#xA;            }&#xA;        </div>&#xA;    ) : (&#xA;        <div>&#xA;            Loading...&#xA;        </div>&#xA;    )&#xA;}&#xA;&#xA;export default AudioEditor;&#xA;

    &#xA;

    This code returns the following error when I press the edit button to call the ffmpegTest function :&#xA;enter image description here

    &#xA;

    I've experimented, and when I tweak the culprit line of code to :

    &#xA;

    const data = ffmpeg.FS(&#x27;readFile&#x27;, &#x27;test.mp3&#x27;);&#xA;

    &#xA;

    the function runs without error, simply returning the input file. So I assume there must be something wrong with ffmpeg.run() line not storing 'output.mp3' in memory perhaps ? I can't for the life of me figure out what's going on...any help would be appreciated !

    &#xA;

  • How to fix "Cannot find a valid font for the family Sans' while adding text on image using react-native-ffmpeg

    13 mai 2024, par coffee

    I am trying to add text on image using the code below&#xA;RNFFmpeg&#xA;.execute(`-y -i ${input} -vf "drawtext=text=&#x27;Hello World&#x27;:fontcolor=white:fontsize=75:x=0:y=0" ${output}`) ;

    &#xA;

    I am not using any custom font but still get this error.

    &#xA;

    Error :

    &#xA;

    [Parsed_drawtext_0 @ 0x7f87a1ce40] Cannot find a valid font for the family Sans

    &#xA;

    index.js:115 [AVFilterGraph @ 0x7f6765e760] Error initializing filter 'drawtext'&#xA;index.js:115 [AVFilterGraph @ 0x7f6765e760] with args 'text=Hello World:fontcolor=white:fontsize=75:x=0:y=0'&#xA;index.js:115 [AVFilterGraph @ 0x7f6765e760]

    &#xA;

    index.js:115 Error reinitializing filters !

    &#xA;

    index.js:115 Failed to inject frame into filter network : No such file or directory

    &#xA;

    index.js:115 Error while processing the decoded data for stream #0:0

    &#xA;

    Note :

    &#xA;

    I also tried using a custom font but not able to do it.&#xA;When I use RNFFmpegConfig.setFontDirectory('../../assets/fonts') function and with it the following code to add text on image&#xA;RNFFmpeg&#xA;.execute(`-y -i ${input} -vf "drawtext=text=&#x27;Hello World&#x27;:fontfile=&#x27;../../assets/fonts/MyFont.ttf&#x27;:fontcolor=white:fontsize=75:x=0:y=0" ${output}`) ;

    &#xA;

    It gives me the same error.

    &#xA;

    How can I fix this issue.

    &#xA;