
Recherche avancée
Autres articles (45)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip 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, parFormulaire 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 (...) -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...)
Sur d’autres sites (11782)
-
ffmpeg_kit_flutter operation not permitted for audio operations
25 août 2023, par Black Eyed BeansI'm trying to trim an audio file using
ffmpeg_kit_flutter
but I keep getting the error :

audio/path/output.mp3: Operation not permitted.



This is the ffmpeg command that I'm using :


final cmd="-y -i \"$audioPath\" -ss $audioStartTime -to $audioEndTime -c:a libmp3lame $outPutName";



And I've also tried :


final cmd="-y -i \"$audioPath\" -ss $audioStartTime -to $audioEndTime -c copy $outPutName";



But the error is still the same.
I'm using the
ffmpeg_kit_flutter_full_gpl
package.

-
Combining multiple image files into a video while using filter_complex to apply a watermark
14 décembre 2017, par GeuisI’m trying to combine two ffmpeg operations into a single one.
Currently I have two sets of ffmpeg commands that first generate a video from existing images, then runs that video through ffmpeg again to apply a watermark.
I’d like to see if its possible to combine these into a single operation.
# Create the source video
ffmpeg -y \
-framerate 1/1 \
-i layer-%d.png \
-r 30 -vcodec libx264 -preset ultrafast -crf 23 -pix_fmt yuv420p \
output.mp4
# Apply the watermark and render the final output
ffmpeg -y \
-i output.mp4 \
-i logo.png \
-filter_complex "[1:v][0:v]scale2ref=40:40[a][b];[b][a]overlay=(80):(main_h-200-80)" \
final.mp4 -
How to extract audio from a video in Flutter ?
14 janvier, par Mohammed BekeleI 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 {
 if (_pickedVideo != null) {
 bool? permissionGranted = await _requestStoragePermission();
 if (permissionGranted != true) {
 print("Storage permission denied.");
 return;
 }

 String videoPath = _pickedVideo!.path;
 _outputPath = await getOutputFilePath(); // Get platform-specific path

 try {
 // Ensure the output directory exists
 await Directory(path.dirname(_outputPath)).create(recursive: true);

 await FFmpegKit.execute(
 "-i $videoPath -vn -c:a libmp3lame -q:a 2 $_outputPath"); // FFmpeg command
 print("Video converted to audio successfully!");
 _showSuccessDialog(); // Display success dialog

 try {
 final String fileName = path.basename(_outputPath);
 final transcription =
 await _sendAudioForTranscription(_outputPath, fileName);

 if (transcription != null) {
 setState(() {
 _transcription = transcription;
 });
 } else {
 setState(() {
 _transcription = "Transcription failed";
 });
 }
 } catch (e) {
 print('Error in transcription request: $e');
 setState(() {
 _transcription = "Network request failed";
 });
 }
 } catch (e) {
 print("Error converting video: $e");
 _showErrorDialog(); // Display error dialog
 } finally {
 setState(() {
 _pickedVideo = null; // Clear selected video
 });
 }
 } else {
 print("Please pick a video first.");
 }
 }
</void>


and for getting the path I have this function


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


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.