
Recherche avancée
Médias (1)
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (53)
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans 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, parAfin 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, parTo 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 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.