
Recherche avancée
Médias (91)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
-
Stereo master soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (103)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (10378)
-
Evolution #4158 (En cours) : Permettre de faire une mise à jour de spip qui posséde le même numéro...
7 juillet 2018, par Franck DHello :-)
Spip_loader permet de mettre à jour quand il y a un up de version concernant le "x,y ou z" !
C’est très bien car il est super simple d’utilisation !Il permet également de faire une installation "neuve" en ayant la "dev" d’une branche en particulier en changeant :
https://zone.spip.org/trac/spip-zone/browser/spip-zone/_outils_/spip_loader/trunk/spip_loader.php#L54
’zip’ => ’spip/dev/SPIP-branche-3.1.zip’,https://zone.spip.org/trac/spip-zone/browser/spip-zone/_outils_/spip_loader/trunk/spip_loader.php#L50
par : ’zip’ => ’spip/dev/SPIP-branche-3.2.zip’,Par contre, ce que le loader ne permet pas (bug ?) !
C’est de faire un passage d’une version "stable" à la version "dev" d’une même branche !
Exemple, en ce moment, spip 3.1.8 [23955] est "stable" mais il n’est pas possible de faire un passage en spip 3.1.8 [24020] !
Par contre, comme j’ai modifier le loader pour récupérer les branches "dev" comme dit plus haut, je peux faire un passage en 3.2.1 [24018] à la place de spip 3.2.1 [23954]Donc, en faite, le loader, Ne regarde que le numéro "x.y.z" pour proposer de faire un "up" de version, alors qu’il faudrait qu’il regarde aussi le numéro de révision :-(
-
how can I get the length of an video in order to validate django form before upload can begin ?
20 juin 2018, par GetItDoneI have an app running on heroku that allows users to upload videos, then I use ffmpeg to preform 3 tasks using celery and redis-to-go :
1) Check the format and if it isn't already mp4, convert it to mp4.
2) Extract a 3 minute clip, in mp4 format
3) Grab an image from the videoThe problem is that I want to verify the video length before the video is uploaded and the three tasks are run since I want to make sure all videos are at least 15 minutes, and if not I want to raise a ValidationError. So when validating the form, I want to do something like this :
def clean(self, *args, **kwargs):
data = super(ContentTypeRestrictedVideoField, self).clean(*args, **kwargs)
file = data.file
try:
content_type = file.content_type
main, extension = content_type.split('/')
if content_type in self.content_types:
if file._size > self.max_upload_size:
raise forms.ValidationError(_('Please keep filesize under %s. Current filesize %s') % (filesizeformat(self.max_upload_size), filesizeformat(file._size)))
if VIDEO_LENGTH < MINIMUM_LENGTH:
raise forms.ValidationError(_('Please make sure video file is at least %s. Current video length %s') % (MINIMUM_LENGTH, VIDEO_LENGTH)
else:
raise forms.ValidationError(_('File type is not supported. File must be mov, flv, avi, mpeg, wmv, or mp4.'))
except AttributeError:
pass
return dataWhat could I do for VIDEO_LENGTH and MINIMUM_LENGTH ? I read that ffprobe could be used for getting the duration, but it isn’t available with the buildpack I am using and I am very inexperienced. I can’t just validate file size because it can vary greatly depending on numerous factors. Anyone have any solution as to what I could try ? Thanks
-
FFmpeg audio video merge command
12 juin 2018, par djacCan you let me know , whether the below command is the correct
one for video audio merge ?vabsolutePath= video file absolute path (only video),
aabsolutePath= audio file absolute path (only audio)String ccommand[] = {"-i",vabsolutePath,"-i",aabsolutePath, "-c:v", "copy", "-c:a", "aac","-shortest", dabsolutePath};
The below code is used in android for merging.
Here the issue is the code is executing, but the output merge file "result.mp4" is not playable/not produced.
Could you please help to find out the issue in code/ command ?public class Mrge extends AppCompatActivity {
private Button var_button_save,var_button_send;
Uri vuri=null;
public String vabsolutePath=null, aabsolutePath=null, dabsolutePath=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.message_layout);
OutputStream out;
try {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
InputStream ins = getResources().openRawResource(
getResources().getIdentifier("anvkl",
"raw", getPackageName()));
byte[] buf = new byte[1024];
int n;
while (-1 != (n = ins.read(buf)))
stream.write(buf, 0, n);
byte[] bytes = stream.toByteArray();
String root = Environment.getExternalStorageDirectory().getAbsolutePath() + "/";
File createDir = new File(root + "master" + File.separator);
createDir.mkdir();
File file = new File(root + "master" + File.separator + "master.mp4");
file.createNewFile();
out = new FileOutputStream(file);
out.write(bytes);
out.close();
vabsolutePath = file.getAbsolutePath();
//-------------------------------------------------------------------
ins = getResources().openRawResource(
getResources().getIdentifier("audio",
"raw", getPackageName()));
while (-1 != (n = ins.read(buf)))
stream.write(buf, 0, n);
bytes = stream.toByteArray();
root = Environment.getExternalStorageDirectory().getAbsolutePath() + "/";
createDir = new File(root + "audio" + File.separator);
createDir.mkdir();
file = new File(root + "audio" + File.separator + "audio.aac");
file.createNewFile();
out = new FileOutputStream(file);
out.write(bytes);
out.close();
aabsolutePath = file.getAbsolutePath();
root = Environment.getExternalStorageDirectory().getAbsolutePath() + "/";
createDir = new File(root + "result" + File.separator);
createDir.mkdir();
file = new File(root + "result" + File.separator + "result.mp4");
file.createNewFile();
dabsolutePath = file.getAbsolutePath();
//------------------------------------------------------------------------
} catch (IOException e) {
e.printStackTrace();
}
String ccommand[] = {"-y", "-i",vabsolutePath,"-i",aabsolutePath, "-c:v", "copy", "-c:a", "aac","-shortest", dabsolutePath};
loadFFMpegBinary();
execFFmpegBinary(ccommand);
}
FFmpeg ffmpeg;
private void loadFFMpegBinary() {
try {
if (ffmpeg == null) {
ffmpeg = FFmpeg.getInstance(this);
}
ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
@Override
public void onFailure() {
//showUnsupportedExceptionDialog();
}
@Override
public void onSuccess() {
}
});
} catch (FFmpegNotSupportedException e) {
//showUnsupportedExceptionDialog();
} catch (Exception e) {
}
}
private void execFFmpegBinary(final String[] command) {
try {
ffmpeg.execute(command, new ExecuteBinaryResponseHandler()
{
@Override
public void onFailure(String s) {
}
@Override
public void onSuccess(String s) {
}
@Override
public void onProgress(String s) {
}
@Override
public void onStart() {
}
@Override
public void onFinish() {
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
String m="hi";
}
}
}