
Recherche avancée
Médias (1)
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (39)
-
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...) -
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...) -
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)
Sur d’autres sites (6039)
-
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";
}
}
} -
Evolution #4148 : Augmenter la largeur de l’espace privé
13 juin 2018, par tcharlss (*´_ゝ`)Super nicod_, merci pour les remarques et le boulot :)
Alors concernant la largeur, 1200px ce serait déjà beaucoup mieux.
Mais pour ma part je pense que du 100% serait toujours la meilleur option. Au début ça fait un peu bizarre je le concède, mais on s’y fait vite et c’est dur de revenir sur une largeur fixe après. Pour les tableaux / listes d’objets par exemple ça devient vite indispensable. Le menu ne me pose pas de problème non plus : on comprend que les items sont alignés à gauche.Il y a bien certains contenus qui doivent être limité en largeur pour avoir 80 caractères par ligne c’est vrai, mais il s’agit de quelques blocs à identifier, et ça reste valable quelque soit la largeur globale de l’interface.
Pour l’instant je ne vois que 2 blocs concernés : le #wysiwyg et les formulaires d’édition.
Donc mon constat c’est : à partir du moment où on limite la largeur de certains blocs qui contiennent du texte afin que ça reste lisible, pourquoi limiter arbitrairement la largeur globale de l’interface ?
Dans le plugin privé fluide, seul le #wysiwyg est ciblé pour l’instant. Attention il reste aussi des petits problèmes à régler dans certains cas, cf. capture d’écran.Pour comparaison, avec RastaPopoulos on avait installé une floppée de CMS pour étudier leurs interfaces au moment où on s’intéressait au sujet, et ils ont tous une largeur 100%.
Je ne dis pas qu’il faut suivre bêtement ce que font les autres, mais ça donne des exemples concrets de choix de layouts qui fonctionnent.Sur la question de rendre cette largeur configurable, je ne suis pas très chaud. C’est exactement pour ça que j’avais fait le plugin privé fluide dans mon coin alors qu’il existe déjà le plugin d’Ybbet : je pense que l’interface doit être d’office adaptée à tous les écrans, sans rien à configurer. Aucune envie d’avoir à configurer ça sur chaque nouvelle instance de SPIP qu’on déploie :p
Du coup on écrivant tout ça, je verrais finalement la chose comme ça :
- Largeur globale 100%
- Supprimer carrément la préférence utilisateur « taille de l’écran »
- Jusqu’à 1200px : 2 colonnes (#navigation + #extra | #contenu)
- Au-delà : 3 colonnes (#navigation | #contenu | #extra)
Du coup en écran large on aurait toujours 3 colonnes et ça équilibre un peu plus.
Et plutôt que du flex, je pense qu’on pourrait partir directement sur du css grid, avec un bête fallback en float pour les vieux navigateurs.
Parceque du coup je ne vois pas comment mettre la colonne #extra soit en dessous de #navigation, soit à droite de #contenu juste avec du flex.