Recherche avancée

Médias (0)

Mot : - Tags -/albums

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

Autres articles (51)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Les statuts des instances de mutualisation

    13 mars 2010, par

    Pour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
    Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...)

Sur d’autres sites (6524)

  • Need to extract text from any audio file

    20 novembre 2018, par mystack flow

    I am trying to extract the text from audio file. I tried with FreeTTS, but i can able to do Text to Speech.

    here is my code,

    package video_audio_text.project;

    import javax.sound.sampled.AudioFileFormat.Type;
    import com.sun.speech.freetts.FreeTTS;
    import com.sun.speech.freetts.Voice;
    import com.sun.speech.freetts.VoiceManager;
    import com.sun.speech.freetts.audio.AudioPlayer;
    import com.sun.speech.freetts.audio.SingleFileAudioPlayer;

    public class AudioToText {

       /**
        * Example of how to list all the known voices.
        */


       public static void main(String[] args) {

          // listAllVoices();
           System.setProperty("freetts.voices", "com.sun.speech.freetts.en.us.cmu_us_kal.KevinVoiceDirectory");

           FreeTTS freetts;
           AudioPlayer audioPlayer = null;
           String voiceName = "kevin16";

           System.out.println();
           System.out.println("Using voice: " + voiceName);

           /* The VoiceManager manages all the voices for FreeTTS.
            */
           VoiceManager voiceManager = VoiceManager.getInstance();
           Voice helloVoice = voiceManager.getVoice(voiceName);

           if (helloVoice == null) {
               System.err.println(
                   "Cannot find a voice named "
                   + voiceName + ".  Please specify a different voice.");
               System.exit(1);
           }

           /* Allocates the resources for the voice.
            */
           helloVoice.allocate();

           /* Synthesize speech.
            */
    //create a audioplayer to dump the output file
          audioPlayer = new SingleFileAudioPlayer("/Users/user/Documents/test",Type.WAVE);
    //attach the audioplayer
          helloVoice.setAudioPlayer(audioPlayer);


           helloVoice.speak("Thank you for giving me a voice. "
                            + "I'm so glad to say hello to this world." +
                           + "here you go good way");



           /* Clean up and leave.
            */
           helloVoice.deallocate();
           audioPlayer.close();
           System.exit(0);
       }

    }

    But i need to give the audio file and extract text from the audio file.

    Please suggest me how can I achieve.

    please suggest which library like FFMPEG or any other library which can help me to achieve this.

  • What video format will allow Android MediaPlayer.seekTo() to reliably provide frame-accurate scrubbing ?

    8 juillet 2015, par Tim Closs

    We have an iOS app that we are currently rebuilding for Android. The app relies on being able to scrub video with frame accuracy. We have 3D animations that are rendered out as single frames ; we build subsets of frames into lots of small (1-2 second) videos ; and the app provides the ability to scrub those videos and see each individual frame.

    The MP4 videos we initially created work fine on iOS. When we tried to get them working on Android (using the MediaPlayer class), we entered a world of pain ! What we need to do is find a video format that will play and allow frame-accurate scrubbing across all Android devices, using MediaPlayer.seekTo(). Initially we are targetting Android 3.0 and above, but we probably want to stretch back to 2.3.3 after our initial release. Here’s what I’ve discovered so far :

    (A) Android claims that H264 "baseline profile" should be supported everywhere : (URL). However, within that, there are dozens of other settings that may or may not be supported. Is there a more fine-grained list anywhere ? Currently we are converting to H264 within an MP4 container.

    (B) I haven’t yet seen an Android device that will accurately scrub H264 files without inserting keyframes ("intra frames"). iOS will happily take H264 files without keyframes and provide accurate scrubbing. It seems that, to allow accurate scrubbing, we need to insert a keyframe for every frame of the video (the relevant ffmpeg setting is "-g 1"). This significantly increases the file size.

    (C) However, inserting a keyframe for every frame results in a video that will not play at all on the Samsung Galaxy Note 3 (Snapdragon chipset I believe). Reducing the keyframes to every second frame or above seems to work (ffmpeg setting "-g 2").

    To summarise :
    MediaPlayer.seekTo() seems very dependent on the video format, and varies across devices. Is this the intention ? Is there a base level of behaviour that seekTo() is supposed to provide, regardless of format ?

    What video format that will allow frame-accurate scrubbing (using MediaPlayer.seekTo()) across all Android devices (at least for 3.0 and above ?)

  • Workflow and data format for sending MediaRecorder output to express server

    30 avril 2021, par Max

    I've been trying to figure this out for a while but got lost between different ways of sending files and different data formats.

    


    I am recording the stream of a canvas animation with MediaRecorder. As far as I understand this returns a blob with the video in binary format. Now I want to send this data to my express server and convert it to an h264 encoded mp4 file. My first impulse was to use ffmpeg on the server. Unfortunately I'm struggling with the details of the implementation. I am unsure on how to best transmit the data and in what format and how to feed it to ffmpeg.

    


    This is what I have on the client side :

    


    // Get stream from element
stream = element.captureStream(30)

// Create media recorder with stream
const recorder = new MediaRecorder(stream)

// Save to file
recorder.ondataavailable = ({ data }) => {
                
    const formData = new FormData()
    formData.append("file", data)

    const options = {
        method: "POST",
        body: formData,
    }

    fetch("http://localhost:3001/api/blob_to_mp4", options).then(
        (res) => {
            console.log(res)
        }
    )
}


    


    And this is what I have on the server side :

    


    "use strict";

const express = require("express");
const cors = require("cors");
const ffmpeg = require("fluent-ffmpeg");
const fs = require("fs");

const port = process.env.PORT || 3001;
const app = express();
var command = ffmpeg();

app.use(cors());
app.use(express.urlencoded({ extended: true }));
app.use(express.json());

app.post("/api/blob_to_mp4", function (req, res) {
  var data = Buffer.from("");

  // Add data
  req.on("data", function (chunk) {
    data = Buffer.concat([data, chunk]);
  });

  // Full data available
  req.on("end", () => {
    req.rawBody = data;
  });

  res.send("hello world");
});

app.listen(port);
console.log(`Server running on port ${port}`);