
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (12)
-
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 -
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
Sur d’autres sites (4430)
-
fate : add scale filters for big-endian architectures.
14 septembre 2020, par Nicolas Georgefate : add scale filters for big-endian architectures.
Filters mostly work in native endianness, but they must output
a specified endianness, usually little : that requires a final
conversion for big endian.I do not know what's the deal with gif-deal : inserting explicitly
the filters that are implicitly inserted result in less frames in
output. Probably a strange problem of duration.- [DH] tests/fate/bmp.mak
- [DH] tests/fate/dnxhd.mak
- [DH] tests/fate/filter-video.mak
- [DH] tests/fate/fits.mak
- [DH] tests/fate/gif.mak
- [DH] tests/fate/h264.mak
- [DH] tests/fate/hevc.mak
- [DH] tests/fate/image.mak
- [DH] tests/fate/microsoft.mak
- [DH] tests/fate/pixlet.mak
- [DH] tests/fate/prores.mak
- [DH] tests/fate/video.mak
- [DH] tests/fate/vpx.mak
-
How to export a video with a widget overlay in a Flutter app ?
30 juin 2024, par Mohammed BekeleI'm developing a Flutter app for a caption embeding on a video that needs to export a video file after processing it. I'm using the flutter_ffmpeg_kit package. However, I'm having trouble getting the export to work correctly.


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 {
 setState(() {
 _isProcessing = true;
 });

 try {
 final directory = await getExternalStorageDirectory();
 final rootPath = directory?.parent.parent.parent.parent.path;
 final mobixPath = path.join(rootPath!, 'Mobix App');
 final appPath = path.join(mobixPath, 'Caption');
 final outputPath = path.join(appPath, 'Output');

 // Create the directories if they don't exist
 await Directory(outputPath).create(recursive: true);

 final timestamp = DateTime.now().millisecondsSinceEpoch;
 final outputFilePath = path.join(outputPath, 'output-$timestamp.mp4');


 // Generate the FFmpeg command
 final ffmpegCommand = _generateFFmpegCommand(
 widget.videoPath,
 outputFilePath,
 widget.words,
 _fontSize,
 _isBold,
 _isItalic,
 _fontColor,
 _backgroundColor,
 );

 // Execute the FFmpeg command
 await FFmpegKit.execute(
 ffmpegCommand,
 ).then(
 (session) async {
 // Update progress if needed
 final returnCode = await session.getReturnCode();
 if (ReturnCode.isSuccess(returnCode)) {
 setState(() {
 _outputFilePath = outputFilePath;
 });
 ScaffoldMessenger.of(context).showSnackBar(
 SnackBar(content: Text('Export successful: $_outputFilePath')),
 );
 } else {
 print('Export failed with rc: $returnCode');

 ScaffoldMessenger.of(context).showSnackBar(
 SnackBar(content: Text('Export failed with rc: $returnCode')),
 );
 }
 setState(() {
 _isProcessing = false;
 });
 },
 );
 } catch (e) {
 print('Export failed: $e');
 ScaffoldMessenger.of(context).showSnackBar(
 SnackBar(content: Text('Export failed: $e')),
 );
 setState(() {
 _isProcessing = false;
 });
 }
 }

 String _generateFFmpegCommand(
 String inputPath,
 String outputPath,
 List<dynamic> words,
 double fontSize,
 bool isBold,
 bool isItalic,
 Color fontColor,
 Color backgroundColor,
 ) {
 final ffmpegCommand = StringBuffer();

 // Add input file
 ffmpegCommand.write('-i $inputPath ');

 // Add subtitles filter
 final subtitleFilter = StringBuffer();
 for (var word in words) {
 final startTime = word['startTime'].toDouble();
 final endTime = word['endTime'].toDouble();
 final caption = word['word'];

 final fontStyle = isBold && isItalic
 ? 'bold italic'
 : isBold
 ? 'bold'
 : isItalic
 ? 'italic'
 : 'normal';
 final fontColorHex = fontColor.value.toRadixString(16).substring(2);
 final backgroundColorHex =
 backgroundColor.value.toRadixString(16).substring(2);

 subtitleFilter.write(
 "drawtext=text='$caption':x=(w-tw)/2:y=h-(2*lh):fontcolor=$fontColorHex:fontsize=$fontSize:fontStyle=$fontStyle:box=1:boxcolor=$backgroundColorHex@0.5:boxborderw=5:enable='between(t,$startTime,$endTime)',");
 }
 ffmpegCommand.write('-vf "${subtitleFilter.toString()}" ');

 // Add output file
 ffmpegCommand.write('$outputPath');

 return ffmpegCommand.toString();
 }
</dynamic></void>


when i run this it returns ReturnCode 1. what am i doing wrong ?


-
FFmpeg Throwing Up Error After Concat Attempt [closed]
8 mai 2021, par OrdinaryCarrot16I am trying to convert my DVDs using FFmpeg, while doing additional filtering and concatenation. The script I am making is very WIP, but it isn't working at the moment. It throws up the error : "No such filter : ''
Error initializing complex filters.
Invalid argument"


Am I using the correct syntax ?


:: Generate dummy file with blank video & audio streams (for spacing out portions when concating)
ffmpeg -y -f lavfi -i color=size=720x480:color=black:rate=30 -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -c:a aac -c:v libx264 -t 1 spacer_1_tmp.mkv
ffmpeg -y -f lavfi -i color=size=720x480:color=black:rate=30 -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -c:a aac -c:v libx264 -t 2 spacer_2_tmp.mkv

:: Extract intro
ffmpeg -y -avoid_negative_ts make_non_negative -ss 00:00:01 -to 00:00:24.900 -i "ADVENTURE TIME SEASON 1 DISC 1_t00.mkv" -c:v libx264 -crf 8 -preset veryfast -c:a aac -b:a 192k intro_tmp.mkv

:: Extract title card, episode, and credits
ffmpeg -y -avoid_negative_ts make_non_negative -ss 00:00:25.850 -to 00:00:32.500 -i "ADVENTURE TIME SEASON 1 DISC 1_t00.mkv" -c:v libx264 -crf 8 -preset veryfast -c:a aac -b:a 192k title_card_tmp.mkv
ffmpeg -avoid_negative_ts make_non_negative -ss 00:00:32.900 -to 00:11:16.950 -i "ADVENTURE TIME SEASON 1 DISC 1_t00.mkv" -c:v libx264 -crf 8 -preset veryfast -c:a aac -b:a 192k episode_tmp.mkv
ffmpeg -y -avoid_negative_ts make_non_negative -ss 00:11:17.950 -to 00:11:50.900 -i "ADVENTURE TIME SEASON 1 DISC 1_t00.mkv" -c:v libx264 -crf 8 -preset veryfast -c:a aac -b:a 192k credits_tmp.mkv

:: Merge all extracted components and encode into final video
ffmpeg -i spacer_1_tmp.mkv -i intro_tmp.mkv -i spacer_2_tmp.mkv -i title_card_tmp.mkv -i spacer_2_tmp.mkv -i episode_tmp.mkv -i spacer_2_tmp.mkv -i credits_tmp.mkv -i spacer_1_tmp.mkv -filter_complex "[0:0]setsar=1[v1];[0:1][a1];[1:0]setsar=1[v2];[1:1][a2];[2:0]setsar=1[v3];[2:1][a3];[3:0]setsar=1[v4];[3:1][a4];[4:0]setsar=1[v5];[4:1][a5];[5:0]setsar=1[v6];[5:1][a6];[6:0]setsar=1[v7];[6:1][a7];[7:0]setsar=1[v8];[7:1][a8];[8:0]setsar=1[v9];[8:1][a9];[v1][v2][v3][v4][v5][v6][v7][v8][v9][a1][a2][a3][a4][a5][a6][a7][a8][a9]concat=n=9:v=1:a=1[fv][fa]" -map "[fv]" -map "[fa]" -c:v libx264 -crf 20 -c:a aac -b:a 160k "Slumber Party Panic (S01E02).mp4"

pause