
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (35)
-
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 -
Contribute to a better visual interface
13 avril 2011MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community. -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (5420)
-
Compiling FFMPEG on CentOS DigitalOcean
29 juillet 2015, par coder_ukI set up a DigitalOcean instance running CentOS 6.5 and successfully followed the guide to compile FFMPEG (https://trac.ffmpeg.org/wiki/CompilationGuide/Centos). Hurrah !
But of course I realised that by default, DigitalOcean creates a root user and so ffmpeg now lives in /root/bin/ffmpeg. Which isn’t ideal because when I want to exec the ffmpeg bin from nginx, I would have to run nginx as root for it to have permission.
Questions ...
1) Long-shot, but presumably if I change the owner of the ffmpeg binary to nginx, it still won’t work, because nginx won’t be able to access the /root folder it is in. Correct ?
2) I could run nginx as root (’user root’). But this seems like a very bad idea. Correct ?
3) Which leaves me with the option of creating a new user, and then compiling ffmpeg into its home folder. But : which user ? EC2 creates ’ec2-user’, so should I make my own equivalent for DO ? But then won’t I have to run nginx as that user, else I’ll run into the same problem ?
Or should I compile ffmpeg into the ’nginx’ home folder, if indeed it has one ? Is that how it is supposed to be done ?
Since compiling ffmpeg takes ages, I don’t want to keep doing it, and the static files all seem very out of date. Thanks
-
SWAY at RFWS using Coviu
26 août, par silviaA SWAY session by Joanne of Royal Far West School. http://sway.org.au/ via https://coviu.com/ SWAY is an oral language and literacy program based on Aboriginal knowledge, culture and stories. It has been developed by Educators, Aboriginal Education Officers and Speech Pathologists at the Royal Far West School in Manly, NSW.
Category : Array
Uploaded by : Silvia Pfeiffer
Hosted : youtubeThe post SWAY at RFWS using Coviu first appeared on ginger’s thoughts.
-
Flutter video_compress and then ffmpeg trim video to 30s fails with endless logs
7 mars 2021, par Charles BassI am trying to make a simple app in Flutter. A user can either take or pick a video and then upload it. However, I wanted to compress the video for storage purposes on firebase storage, and also trim it to only get the first 30 seconds.


I am facing a very puzzling problem. I am able to compress the video, but with the resultant file, FFmpeg fails to trim it and I get endless logs which result in me having to stop the app and re-run. Alternatively, I am able to trim the video, but with the resultant file, I am unable to compress it getting the error :
Failed to open file '/data/user/0/live.roots.roots/app_flutter/TRIMMED.mp4'. (No such file or directory) PlatformException(error, java.io.IOException: Failed to instantiate extractor., null, java.lang.RuntimeException: java.io.IOException: Failed to instantiate extractor.


This is my code below :




//! function that controls file compression and trimming
static Future<file> compressFile(File file) async {
 print('[COMPRESSING FILE]');

 String mimeStr = lookupMimeType(file.path);
 var fileType = mimeStr.split('/');

 if (fileType.contains("image")) {
 print('[COMPRESSING FILE] - file is image');
 String tempPath = (await getTemporaryDirectory()).path;
 String targetPath = '$tempPath/${DateTime.now().toIso8601String()}.jpg';
 return await compressImageAndGetFile(file, targetPath);
 } else {
 print('[COMPRESSING FILE] - file is video');

 final compressedVideoFile = await compressVideoAndGetFile(file);
 print('[VIDEO FILE COMPRESSED]');
 return await trimVideoGetFile(compressedVideoFile);
 }
 }
 
 
//! function to compress video
static Future<file> compressVideoAndGetFile(File file) async {
 print('[COMPRESSING VIDEO]');

 var result = await VideoCompress.compressVideo(
 file.absolute.path,
 quality: VideoQuality.DefaultQuality,
 deleteOrigin: true,
 );

 print('[COMPRESSED VIDEO TO]: ${result.file.path}');

 return result.file;
 }
 
//! function to trim video
static Future<file> trimVideoGetFile(File file) async {
 print('[TRIMMING VIDEO]');

 Directory appDocumentDir = await getApplicationDocumentsDirectory();
 String rawDocumentPath = appDocumentDir.path;
 String outputPath = rawDocumentPath + "/TRIMMED.mp4";

 final newFile = File(outputPath);

 if (await newFile.exists()) {
 await newFile.delete();
 }

 _flutterFFmpeg
 .execute(
 "-ss 00:00:00 -i ${file.path} -to 00:00:30 -c copy $outputPath")
 .then((rt) async {
 print('[TRIMMED VIDEO RESULT] : $rt');
 if (rt == -1) {
 throw Exception("Something went wrong when trimming the video");
 }
 });

 return File(outputPath);
 }</file></file></file>







Thank you in advance