
Recherche avancée
Médias (1)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
Autres articles (112)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)
Sur d’autres sites (15305)
-
ffmpeg - convert mxf to ts while maintaining "Text" tracks
15 février 2021, par user3552454I 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 asffmpeg -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 ofabc.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 MemonI'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 'react';
import './App.css';

import { createFFmpeg, fetchFile } from '@ffmpeg/ffmpeg';
const ffmpeg = createFFmpeg({ log: true });

function App() {
 const [ready, setReady] = useState(false);
 const [video, setVideo] = useState();
 const [gif, setGif] = useState();

 const load = async () => {
 await ffmpeg.load();
 setReady(true);
 }

 useEffect(() => {
 load();
 }, [])

 const convertToGif = async () => {
 // Write the file to memory 
 ffmpeg.FS('writeFile', 'test.mp4', await fetchFile(video));

 // Run the FFMpeg command
 await ffmpeg.run('-i', 'test.mp4', '-t', '2.5', '-ss', '2.0', '-f', 'gif', 'out.gif');

 // Read the result
 const data = ffmpeg.FS('readFile', 'out.gif');

 // Create a URL
 const url = URL.createObjectURL(new Blob([data.buffer], { type: 'image/gif' }));
 setGif(url)
 }

 return ready ? (
 
 <div classname="App">
 { video && 

 }


 <input type="file" />> setVideo(e.target.files?.item(0))} />

 <h3>Result</h3>

 <button>Convert</button>

 { gif && <img src="http://stackoverflow.com/feeds/tag/{gif}" width="250" style='max-width: 300px; max-height: 300px' />}

 </div>
 )
 :
 (
 <p>Loading...</p>
 );
}

export default App;



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 :


import React, { useContext, useState, useEffect } from 'react';
import Context from '../../store/Context';
import Toolbar from '../Toolbar/Toolbar';
import AudioTranscript from './AudioTranscript';

import { createFFmpeg, fetchFile } from '@ffmpeg/ffmpeg';

//Create ffmpeg instance and set 'log' to true so we can see everything
//it does in the console
const ffmpeg = createFFmpeg({ log: true });

const AudioEditor = () => {
 //Setup Global State and get most recent recording
 const { globalState } = useContext(Context);
 const { blobURL } = globalState;

 //ready flag for when ffmpeg is loaded
 const [ready, setReady] = useState(false);

 const [outputFileURL, setOutputFileURL] = useState('');

 //Load FFmpeg asynchronously and set ready when it's ready
 const load = async () => {
 await ffmpeg.load();
 setReady(true);
 }

 //Use UseEffect to run the 'load' function on mount
 useEffect(() => {
 load();
 }, []);

 const ffmpegTest = async () => {
 //must first write file to memory as test.mp3
 ffmpeg.FS('writeFile', 'test.mp3', await fetchFile(blobURL));

 //Run the FFmpeg command
 //in this case, trim file size down to 1.5s and save to memory as output.mp3
 ffmpeg.run('-i', 'test.mp3', '-t', '1.5', 'output.mp3');

 //Read the result from memory
 const data = ffmpeg.FS('readFile', 'output.mp3');

 //Create URL so it can be used in the browser
 const url = URL.createObjectURL(new Blob([data.buffer], { type: 'audio/mp3' }));
 setOutputFileURL(url);
 }

 return ready ? ( 
 <div>
 <audiotranscript></audiotranscript>
 <toolbar></toolbar>
 <button>
 Edit
 </button>
 {outputFileURL && 
 
 }
 </div>
 ) : (
 <div>
 Loading...
 </div>
 )
}

export default AudioEditor;



This code returns the following error when I press the edit button to call the ffmpegTest function :



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


const data = ffmpeg.FS('readFile', 'test.mp3');



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 !


-
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 coffeeI am trying to add text on image using the code below
RNFFmpeg
.execute(
`-y -i ${input} -vf "drawtext=text='Hello World':fontcolor=white:fontsize=75:x=0:y=0" ${output}`
) ;

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


Error :


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


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


index.js:115 Error reinitializing filters !


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


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


Note :


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

It gives me the same error.


How can I fix this issue.