Recherche avancée

Médias (91)

Autres articles (47)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

Sur d’autres sites (8096)

  • FFmpeg and Android encoding issue

    4 décembre 2012, par brux

    I compiled ffmpeg for Android. The executable works from the device terminal and I can do normal video operations. I am trying to join 2 mpeg files captured using the camera at the command line on the device.

    First I Capture 2 videos using the camera and save to sdcard, one.mpeg and two.mpeg. Then I do :

    ffmpeg -i one.mpeg onenew.mpeg
    ffmpeg -i twompg.mpeg twonew.mpeg

    (if i dont do the above 2 commands then it doesnt work at all)

    cat onenew.mpeg twonew.mpeg > joined.mpeg
    ffmpeg -i joined.mpeg -acodec copy -vcodec copy final.mpeg

    The output (final.mpeg) doesnt play on the device but if i copy to my linux desktop it opens up and plays fine. I tested final.mpeg on a 2.3.3 device and a 2.3.6 device.

    Anyone know why the device would fail to play the video file ?

    UPDATE
    My friend tested the video on a device running 3.0, the default player never played the video however 'moboplayer' did, I need it to play on the default player though.

  • ffmpeg complex filter - multiple crops on black background

    31 octobre 2017, par Kevin O'Hara

    We are attempting to process a video file by cropping it into several pieces and arranging it on a black background which is exactly 1920x1080. The following command runs but it never completes and we have to kill the process.

    Is there something wrong with how we’re trying to do this ?

    ffmpeg -i in.mov -y -filter_complex "\
    color=s=1920x1080:c=black[bg];\
    [0:v]crop=w=1920:h=ih:x=0:y=0[crop1];\
    [0:v]crop=w=iw-1920:h=ih:x=1920:y=0[crop2];\
    [bg][crop1]overlay=x=0:y=0[out1];\
    [out1][crop2]overlay=x=0:y=h[final]" \
    -map [final] out.mov
  • How to extract audio from a video in Flutter ?

    14 janvier, par Mohammed Bekele

    I have an image picker in Flutter to get the video from the device, and then I created a function to extract the audio using ffmpeg_kit_flutter package.

    


     Future<void> _convertVideoToAudio() async {&#xA;    if (_pickedVideo != null) {&#xA;      bool? permissionGranted = await _requestStoragePermission();&#xA;      if (permissionGranted != true) {&#xA;        print("Storage permission denied.");&#xA;        return;&#xA;      }&#xA;&#xA;      String videoPath = _pickedVideo!.path;&#xA;      _outputPath = await getOutputFilePath(); // Get platform-specific path&#xA;&#xA;      try {&#xA;        // Ensure the output directory exists&#xA;        await Directory(path.dirname(_outputPath)).create(recursive: true);&#xA;&#xA;        await FFmpegKit.execute(&#xA;            "-i $videoPath -vn -c:a libmp3lame -q:a 2 $_outputPath"); // FFmpeg command&#xA;        print("Video converted to audio successfully!");&#xA;        _showSuccessDialog(); // Display success dialog&#xA;&#xA;        try {&#xA;          final String fileName = path.basename(_outputPath);&#xA;          final transcription =&#xA;              await _sendAudioForTranscription(_outputPath, fileName);&#xA;&#xA;          if (transcription != null) {&#xA;            setState(() {&#xA;              _transcription = transcription;&#xA;            });&#xA;          } else {&#xA;            setState(() {&#xA;              _transcription = "Transcription failed";&#xA;            });&#xA;          }&#xA;        } catch (e) {&#xA;          print(&#x27;Error in transcription request: $e&#x27;);&#xA;          setState(() {&#xA;            _transcription = "Network request failed";&#xA;          });&#xA;        }&#xA;      } catch (e) {&#xA;        print("Error converting video: $e");&#xA;        _showErrorDialog(); // Display error dialog&#xA;      } finally {&#xA;        setState(() {&#xA;          _pickedVideo = null; // Clear selected video&#xA;        });&#xA;      }&#xA;    } else {&#xA;      print("Please pick a video first.");&#xA;    }&#xA;  }&#xA;</void>

    &#xA;

    and for getting the path I have this function

    &#xA;

     Future<string> getOutputFilePath() async {&#xA;    final directory = await getApplicationDocumentsDirectory();&#xA;    final downloadsDirectory = Directory(&#x27;${directory.path}/downloads&#x27;);&#xA;    if (!(await downloadsDirectory.exists())) {&#xA;      await downloadsDirectory.create(recursive: true);&#xA;    }&#xA;    final String fileName = path&#xA;        .basename(_pickedVideo!.path)&#xA;        .replaceAll(&#x27;.mp4&#x27;, &#x27;.mp3&#x27;); // Replace extension&#xA;    final filePath = &#x27;${downloadsDirectory.path}/$fileName&#x27;;&#xA;    return filePath;&#xA;  }&#xA;</string>

    &#xA;

    but this is not working somehow. Because after I get the audio I'm uploading it to a server with http, then it displays that there is no path where the audio supposed to be.

    &#xA;