
Recherche avancée
Autres articles (10)
-
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 (...) -
D’autres logiciels intéressants
12 avril 2011, parOn ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
Videopress
Site Internet : (...) -
Sélection de projets utilisant MediaSPIP
29 avril 2011, parLes exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
Ferme MediaSPIP @ Infini
L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)
Sur d’autres sites (3912)
-
How to use the latest version of @ffmpeg/ffmpeg in a React.js project ?
21 janvier, par Muzammil RazaI'm working on a React.js project where I need to process videos in the browser using @ffmpeg/ffmpeg. I noticed that the package has been updated recently, and the API and functions have changed.


In the older version, I used to import the package and functions like this :


import { createFFmpeg, fetchFile } from '@ffmpeg/ffmpeg';



However, in the latest version, I see that the import has changed to :


import { FFmpeg } from '@ffmpeg/ffmpeg';



and all new functions are changed I have checked in by log :


I have check by console ffmpeg, it show :


createDir: path => {…}
deleteDir: path => {…}
deleteFile: path => {…}
exec: ƒ ( /** ffmpeg command line args */ args)
listDir: path => {…}
load: ƒ ()
loaded: true
readFile: ƒ (path)
rename: (oldPath, newPath) => {…}
terminate: () => {…}
writeFile: (path, data) => {…}



I'm not sure about the changes in the API and functions, and I couldn't find any updated documentation or guides on how to use the latest version of @ffmpeg/ffmpeg in a React.js project.


I have task of video processing for streaming and need to add logo in video.


Could someone please provide guidance on how to use the latest version of @ffmpeg/ffmpeg in a React.js project ? Specifically, I'm looking for information on the changes in the API, the new function names, and how to perform video processing tasks with the latest version.


If anyone has experience with the latest version of @ffmpeg/ffmpeg or knows the updated usage, any help or examples would be greatly appreciated. Thank you !


-
Drawtext Effects Clipping with Zoom in and Scale animation When combining with xfade wipe
2 août 2023, par CRAIGThe following ffmpeg drawtext command is meant to manipulate the text with a number of filters. First it adds a wipe, then a "grow" effect and a fade.


The issue is when the wipe AND scale are together the end result is partially clipped and the wipe doesn't seem to fully reveal the text as it should be doing. Almost like the scale or wipe was delayed.


I have two example commands one with an xfade wipe effect and one without below.


The one with xfade wipe clips text and looks like it is messing with the timing in some way as if the scale doesn't have time to finish. If I remove the xfade wipe, the scale animation and fadein are fine.


I have tried to put the xfade at the end, but it has caused me more issues.


Command without xfade : (Final result is not clipped)


ffmpeg -f lavfi -i color=c=black@0.0:s=129x129:r=30:d=0.137,format=rgba -f lavfi -i color=c=black@0.0:s=129x129:r=30:d=0.137,format=rgba -filter_complex "[1:v]drawtext=expansion=none:enable='between(t,0,0.138)':fontsize=97.7886:fontcolor=0xff0000ff:text='Of':shadowcolor=0x00ff3fff:shadowx=5.9:shadowy=5.9:borderw='2.95':bordercolor='0xa200ffff':x=(w-text_w)/2:y=(h-text_h)/2[1v];[0:v]settb=AVTB,format=rgba[0v];[1v]settb=AVTB,format=rgba[1v];[1v]scale='if(between(t,0,0+0.137),0.645+((t-0)*128.355/0.137),if(gte(t,0.137),129,129))':-1:eval=frame,fade=in:st=0:d=0.137[1v];[0v][1v]overlay=x=(W-w)/2:y=(H-h)/2:threads=1" -copyts -c:v prores_ks -profile:v 4 -pix_fmt rgba -movflags faststart -r 30 -t 0.137 -y /home/encodertraffic/subtitles/mymovie.mov


Command with xfade wipe :


ffmpeg -f lavfi -i color=c=black@0.0:s=129x129:r=30:d=0.137,format=rgba -f lavfi -i color=c=black@0.0:s=129x129:r=30:d=0.137,format=rgba -filter_complex "[1:v]drawtext=expansion=none:enable='between(t,0,0.138)':fontsize=97.7886:fontcolor=0xff0000ff:text='Of':shadowcolor=0x00ff3fff:shadowx=5.9:shadowy=5.9:borderw='2.95':bordercolor='0xa200ffff':x=(w-text_w)/2:y=(h-text_h)/2[1v];[0:v]settb=AVTB,format=rgba[0v];[1v]settb=AVTB,format=rgba[1v];[0v][1v]xfade=transition=wiperight:duration=0.137:offset=0,settb=AVTB,setpts=PTS-STARTPTS[1v];[1v]scale='if(between(t,0,0+0.137),0.645+((t-0)*128.355/0.137),if(gte(t,0.137),129,129))':-1:eval=frame,fade=in:st=0:d=0.137[1v];[0v][1v]overlay=x=(W-w)/2:y=(H-h)/2:threads=1" -copyts -c:v prores_ks -profile:v 4 -pix_fmt rgba -movflags faststart -r 30 -t 0.137 -y mymovie2.mov


Here are a couple of screenshots comparing the two at the same timestamp (the very end).


The one on the left is without the wipe, the one on the right at the same timestamp is with the wipe, but you can see the text is partially clipped, it isn't at the same sacale and it isn't at full brightness almost as if the something is delaying all aspects of each filter.




-
How to import FFmpeg into Android project
3 août 2023, par Vyacheslav ParinovI'm trying to convert series of images into video.
For that I'm adding FFmpeg into my Android project.
However it is not adding properly, so I can't import class FFmpeg into the code.
in the statement "int rc = FFmpeg.execute(command) ;" FFmpeg is highlighted in red.


I think something wrong with libraries. Could you please give suggestion how import libraries correctly ?


My Manifest file below


<?xml version="1.0" encoding="utf-8"?>









 
 
 <action></action>

 <category></category>
 
 





My settings.gradle file


pluginManagement {
repositories {
 google()
 mavenCentral()
 gradlePluginPortal()
}





dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
 google()
 mavenCentral()
}




rootProject.name = "TimelapseLite"
include ':app'


My build.gradle file


plugins {
 id 'com.android.application'
}

android {
 namespace 'ae.vpdev.timelapselite'
 compileSdk 33

defaultConfig {
 applicationId "ae.vpdev.timelapselite"
 minSdk 26
 targetSdk 33
 versionCode 1
 versionName "1.0"

 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
 release {
 minifyEnabled false
 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
 }
}
compileOptions {
 sourceCompatibility JavaVersion.VERSION_1_8
 targetCompatibility JavaVersion.VERSION_1_8
}





dependencies


implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'com.arthenica:mobile-ffmpeg-full:4.5.LTS'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'





My code in MainActivity


private void convertImagesToVideo() {
 StringBuilder imageListFileContent = new StringBuilder();
 for (Uri imageUri : selectedImages) {
 imageListFileContent.append("file '").append(imageUri.getPath()).append("'\n");
 }

 try {
 File imageListFile = new File(getCacheDir(), "image_list.txt");
 FileWriter writer = new FileWriter(imageListFile);
 writer.append(imageListFileContent.toString());
 writer.flush();
 writer.close();

 File outputFile = new File(getExternalFilesDir(null), "output_video.mp4");
 String outputFilePath = outputFile.getAbsolutePath();

 String command = "-f concat -safe 0 -i " + imageListFile.getAbsolutePath() +
 " -vf \"scale=-2:720\" -r 30 -c:v libx264 -pix_fmt yuv420p " + outputFilePath;

 int rc = FFmpeg.execute(command);

 if (rc == RETURN_CODE_SUCCESS) {
 Log.d("FFmpeg", "Video conversion completed successfully");
 // Now you can use the outputFilePath to play or share the video
 } else {
 Log.d("FFmpeg", "Video conversion failed");
 }
 } catch (IOException e) {
 e.printStackTrace();
 }
}