
Recherche avancée
Autres articles (23)
-
MediaSPIP Init et Diogène : types de publications de MediaSPIP
11 novembre 2010, parÀ l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...) -
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users. -
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 (6079)
-
Try to concatenate videos using FFmpeg Package. My videos concatenate correctly but those that i record from fornt camera rotate 90' in concatenate
24 avril 2024, par Ahmad AkramHere is my code where I pass a list of image paths that concatenate. I am facing an issue with the front camera video. When concatenated completely some videos rotate 90 degrees.


Future<void> mergeVideos(List<string> videoPaths) async {
 VideoHelper.showInSnackBar('Videos merged Start', context);
 String outputPath = await VideoHelper.generateOutputPath();
 FlutterFFmpeg flutterFFmpeg = FlutterFFmpeg();

 // Create a text file containing the paths of the videos to concatenate
 String fileListPath =
 '${(await getTemporaryDirectory()).path}/fileList.txt';
 File fileList = File(fileListPath);
 await fileList
 .writeAsString(videoPaths.map((path) => 'file \'$path\'').join('\n'));

 // Run FFmpeg command to concatenate videos
 // String command = '-f concat -safe 0 -i $fileListPath -c copy $outputPath';

 String command =
 '-f concat -safe 0 -i $fileListPath -vf "transpose=1" -c:a copy $outputPath';

 VideoHelper.showInSnackBar('command Start', context);
 await flutterFFmpeg.execute(command).then((value) {
 if (value == 0) {
 print("Output Path : $outputPath");
 VideoHelper.showInSnackBar('Videos merged successfully', context);
 Navigator.push(
 context,
 MaterialPageRoute(
 builder: (context) => VideoPlayerScreen(
 videoFile: XFile(outputPath),
 )));
 } else {
 VideoHelper.showInSnackBar(
 'Error merging videos ::::: returnCode=== $value ', context);
 }
 });
 }
</string></void>


-
Is there a way to horizontal flip video captured from flutter front camera
5 mai 2024, par JoyJoyBasically, I'm trying to flip video horizontally after capturing it from flutter front camera. So I start recording, stop recording, flip the video and pass it to another page. I'm fairly new and would appreciate any assistance as my code isn't working


I've tried doing so using the new ffmpeg_kit flutter


Future<void> flipVideo(String inputPath, String outputPath) async{
final ffmpegCommand = "-i $inputPath -vf hflip $outputPath";
final session = FFmpegKit.executeAsync(ffmpegCommand);
await session.then((session) async {
 final returnCode = await session.getReturnCode();
 if (ReturnCode.isSuccess(returnCode)) {
 print('Video flipping successful');
 } else {
 print('Video flipping failed: ${session.getAllLogs()}');
 }
});}

void stopVideoRecording() async {
XFile videopath = await cameraController.stopVideoRecording();

try {
 final Directory appDocDir = await 
 getApplicationDocumentsDirectory();
 final String outputDirectory = appDocDir.path;
 final String timeStamp = DateTime.now().millisecondsSinceEpoch.toString();
 final String outputPath = '$outputDirectory/flipped_video_$timeStamp.mp4';

 await flipVideo(videopath.path, outputPath);

 // Once completed,
 Navigator.push(
 context,
 MaterialPageRoute(
 builder: (builder) => VideoViewPage(
 path: File(outputPath),
 fromFrontCamera: iscamerafront,
 flash: flash,
 )));
 print('Video flipping completed');
} catch (e) {
 print('Error flipping video: $e');
}
</void>


}


-
FFmpeg to RTMP - no audio on output [closed]
25 mars 2022, par John Mergene ArellanoFrom my client side, I am sending a stream using the Socket.IO library. I captured the video and audio using getUserMedia API.


navigator.mediaDevices.getUserMedia(constraints).then((stream) => {
 window.videoStream = video.srcObject = stream;
 let mediaRecorder = new MediaRecorder(stream, {
 videoBitsPerSecond : 3 * 1024 * 1024
 });
 mediaRecorder.addEventListener('dataavailable', (e) => {
 let data = e.data;
 socket.emit('live', data);
 });
 mediaRecorder.start(1000);
});



Then my server will receive the stream and write it to FFmpeg.


client.on('live', (stream)=>{
 if(ffmpeg)
 ffmpeg.stdin.write(stream);
});



I tried watching the live video in VLC media player. There is a 5 seconds delay and no audio output.


Please see below for FFmpeg options I used :


ffmpeg = this.CHILD_PROCESS.spawn("ffmpeg", [
 '-f',
 'lavfi',
 '-i', 'anullsrc',
 '-i','-',
 '-c:v', 'libx264', '-preset', 'veryfast', '-tune', 'zerolatency',
 '-c:a', 'aac', '-ar', '44100', '-b:a', '64k',
 '-y', //force to overwrite
 '-use_wallclock_as_timestamps', '1', // used for audio sync
 '-async', '1', // used for audio sync
 '-bufsize', '1000',
 '-f',
 'flv',
 `rtmp://127.0.0.1:1935/live/stream` ]);



What is wrong with my setup ?


I tried removing some of the options but failed. I am expecting to have an output of video and audio from the getUserMedia API.