Recherche avancée

Médias (1)

Mot : - Tags -/ogg

Autres articles (55)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP 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 (6919)

  • ffmpeg-how to add text to video without encoding [on hold]

    27 décembre 2013, par user3139491

    I want to add text to video without encoding.how to do this.
    I create this code

    ffmpeg -i file.mov -vf drawtext="fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf:text='Text to write':fontsize=20:fontcolor=black:x=100:y=100" final.mov

    this code word well but the cpu hit the peak.
    so only want to do this without encoding.
    is -vcodec copy map can be used ????

  • How can I export a video with a widget overlay in a Flutter app ?

    30 juin 2024, par Mohammed Bekele

    I'm developing a Flutter app for a embedding caption on a videos that need to be export as video file after processing it. I'm utilizing the flutter_ffmpeg_kit package. However, I'm having trouble getting the export to work properly.

    


    Here's the code I'm using :

    


    initially this is my stack :

    


                      Expanded(
                    child: Stack(
                      children: [
                        Center(
                          child: _videoPlayerController.value.isInitialized
                              ? AspectRatio(
                                  aspectRatio:
                                      _videoPlayerController.value.aspectRatio,
                                  child: VideoPlayer(_videoPlayerController),
                                )
                              : CircularProgressIndicator(),
                        ),
                        if (_currentCaption.isNotEmpty)
                          Positioned.fill(
                            child: Center(child: _buildCaptionText()),
                          ),
                      ],
                    ),
                  ),


    


    and in export button i executed this function

    


     Future<void> _exportVideo() async {&#xA;    setState(() {&#xA;      _isProcessing = true;&#xA;    });&#xA;&#xA;    try {&#xA;      final directory = await getExternalStorageDirectory();&#xA;      final rootPath = directory?.parent.parent.parent.parent.path;&#xA;      final mobixPath = path.join(rootPath!, &#x27;Mobix App&#x27;);&#xA;      final appPath = path.join(mobixPath, &#x27;Caption&#x27;);&#xA;      final outputPath = path.join(appPath, &#x27;Output&#x27;);&#xA;&#xA;      // Create the directories if they don&#x27;t exist&#xA;      await Directory(outputPath).create(recursive: true);&#xA;&#xA;      final timestamp = DateTime.now().millisecondsSinceEpoch;&#xA;      final outputFilePath = path.join(outputPath, &#x27;output-$timestamp.mp4&#x27;);&#xA;&#xA;&#xA;      // Generate the FFmpeg command&#xA;      final ffmpegCommand = _generateFFmpegCommand(&#xA;        widget.videoPath,&#xA;        outputFilePath,&#xA;        widget.words,&#xA;        _fontSize,&#xA;        _isBold,&#xA;        _isItalic,&#xA;        _fontColor,&#xA;        _backgroundColor,&#xA;      );&#xA;&#xA;      // Execute the FFmpeg command&#xA;      await FFmpegKit.execute(&#xA;        ffmpegCommand,&#xA;      ).then(&#xA;        (session) async {&#xA;          // Update progress if needed&#xA;          final returnCode = await session.getReturnCode();&#xA;          if (ReturnCode.isSuccess(returnCode)) {&#xA;            setState(() {&#xA;              _outputFilePath = outputFilePath;&#xA;            });&#xA;            ScaffoldMessenger.of(context).showSnackBar(&#xA;              SnackBar(content: Text(&#x27;Export successful: $_outputFilePath&#x27;)),&#xA;            );&#xA;          } else {&#xA;            print(&#x27;Export failed with rc: $returnCode&#x27;);&#xA;&#xA;            ScaffoldMessenger.of(context).showSnackBar(&#xA;              SnackBar(content: Text(&#x27;Export failed with rc: $returnCode&#x27;)),&#xA;            );&#xA;          }&#xA;          setState(() {&#xA;            _isProcessing = false;&#xA;          });&#xA;        },&#xA;      );&#xA;    } catch (e) {&#xA;      print(&#x27;Export failed: $e&#x27;);&#xA;      ScaffoldMessenger.of(context).showSnackBar(&#xA;        SnackBar(content: Text(&#x27;Export failed: $e&#x27;)),&#xA;      );&#xA;      setState(() {&#xA;        _isProcessing = false;&#xA;      });&#xA;    }&#xA;  }&#xA;&#xA;  String _generateFFmpegCommand(&#xA;    String inputPath,&#xA;    String outputPath,&#xA;    List<dynamic> words,&#xA;    double fontSize,&#xA;    bool isBold,&#xA;    bool isItalic,&#xA;    Color fontColor,&#xA;    Color backgroundColor,&#xA;  ) {&#xA;    final ffmpegCommand = StringBuffer();&#xA;&#xA;    // Add input file&#xA;    ffmpegCommand.write(&#x27;-i $inputPath &#x27;);&#xA;&#xA;    // Add subtitles filter&#xA;    final subtitleFilter = StringBuffer();&#xA;    for (var word in words) {&#xA;      final startTime = word[&#x27;startTime&#x27;].toDouble();&#xA;      final endTime = word[&#x27;endTime&#x27;].toDouble();&#xA;      final caption = word[&#x27;word&#x27;];&#xA;&#xA;      final fontStyle = isBold &amp;&amp; isItalic&#xA;          ? &#x27;bold italic&#x27;&#xA;          : isBold&#xA;              ? &#x27;bold&#x27;&#xA;              : isItalic&#xA;                  ? &#x27;italic&#x27;&#xA;                  : &#x27;normal&#x27;;&#xA;      final fontColorHex = fontColor.value.toRadixString(16).substring(2);&#xA;      final backgroundColorHex =&#xA;          backgroundColor.value.toRadixString(16).substring(2);&#xA;&#xA;      subtitleFilter.write(&#xA;          "drawtext=text=&#x27;$caption&#x27;:x=(w-tw)/2:y=h-(2*lh):fontcolor=$fontColorHex:fontsize=$fontSize:fontStyle=$fontStyle:box=1:boxcolor=$backgroundColorHex@0.5:boxborderw=5:enable=&#x27;between(t,$startTime,$endTime)&#x27;,");&#xA;    }&#xA;    ffmpegCommand.write(&#x27;-vf "${subtitleFilter.toString()}" &#x27;);&#xA;&#xA;    // Add output file&#xA;    ffmpegCommand.write(&#x27;$outputPath&#x27;);&#xA;&#xA;    return ffmpegCommand.toString();&#xA;  }&#xA;</dynamic></void>

    &#xA;

    When I run this it returns ReturnCode 1. What am i doing wrong ?

    &#xA;

  • Evolution #2842 (Nouveau) : API objet_get_rubrique

    5 septembre 2012, par jluc -

    Un debuging du plugin autorite a mis en évidence le besoin et le manque d’une API sur les "rubriques contenant" d’un objet de type quelconque. Voici un début de code // yeah function objet_get_rubrique ($objet, $id_objet) switch ($objet) case ’article’ : case ’rubrique’ : case ’breve’ : return (...)