
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (76)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Possibilité de déploiement en ferme
12 avril 2011, parMediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...) -
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.
Sur d’autres sites (4862)
-
Anomalie #2794 : Affichage bandeau
11 août 2012, par b bLe z-index de l’élément markitup est à 10 alors que celui des éléments du menu est à 1. J’ai aussi rencontré le problème avec des éléments ajoutés par des libs dans gis par exemple. À mon avis on devrait coller un z-index à 1000 (ou plus) pour les éléments du menu afin d’être vraiment certain que notre menu (...)
-
Simply beyond ridiculous
For the past few years, various improvements on H.264 have been periodically proposed, ranging from larger transforms to better intra prediction. These finally came together in the JCT-VC meeting this past April, where over two dozen proposals were made for a next-generation video coding standard. Of course, all of these were in very rough-draft form ; it will likely take years to filter it down into a usable standard. In the process, they’ll pick the most useful features (hopefully) from each proposal and combine them into something a bit more sane. But, of course, it all has to start somewhere.
A number of features were common : larger block sizes, larger transform sizes, fancier interpolation filters, improved intra prediction schemes, improved motion vector prediction, increased internal bit depth, new entropy coding schemes, and so forth. A lot of these are potentially quite promising and resolve a lot of complaints I’ve had about H.264, so I decided to try out the proposal that appeared the most interesting : the Samsung+BBC proposal (A124), which claims compression improvements of around 40%.
The proposal combines a bouillabaisse of new features, ranging from a 12-tap interpolation filter to 12thpel motion compensation and transforms as large as 64×64. Overall, I would say it’s a good proposal and I don’t doubt their results given the sheer volume of useful features they’ve dumped into it. I was a bit worried about complexity, however, as 12-tap interpolation filters don’t exactly scream “fast”.
I prepared myself for the slowness of an unoptimized encoder implementation, compiled their tool, and started a test encode with their recommended settings.
I waited. The first frame, an I-frame, completed.
I took a nap.
I waited. The second frame, a P-frame, was done.
I played a game of Settlers.
I waited. The third frame, a B-frame, was done.
I worked on a term paper.
I waited. The fourth frame, a B-frame, was done.
After a full 6 hours, 8 frames had encoded. Yes, at this rate, it would take a full two weeks to encode 10 seconds of HD video. On a Core i7. This is not merely slow ; this is over 1000 times slower than x264 on “placebo” mode. This is so slow that it is not merely impractical ; it is impossible to even test. This encoder is apparently designed for some sort of hypothetical future computer from space. And word from other developers is that the Intel proposal is even slower.
This has led me to suspect that there is a great deal of cheating going on in the H.265 proposals. The goal of the proposals, of course, is to pick the best feature set for the next generation video compression standard. But there is an extra motivation : organizations whose features get accepted get patents on the resulting standard, and thus income. With such large sums of money in the picture, dishonesty becomes all the more profitable.
There is a set of rules, of course, to limit how the proposals can optimize their encoders. If different encoders use different optimization techniques, the results will no longer be comparable — remember, they are trying to compare compression features, not methods of optimizing encoder-side decisions. Thus all encoders are required to use a constant quantizer, specified frame types, and so forth. But there are no limits on how slow an encoder can be or what algorithms it can use.
It would be one thing if the proposed encoder was a mere 10 times slower than the current reference ; that would be reasonable, given the low level of optimization and higher complexity of the new standard. But this is beyond ridiculous. With the prize given to whoever can eke out the most PSNR at a given quantizer at the lowest bitrate (with no limits on speed), we’re just going to get an arms race of slow encoders, with every company trying to use the most ridiculous optimizations possible, even if they involve encoding the frame 100,000 times over to choose the optimal parameters. And the end result will be as I encountered here : encoders so slow that they are simply impossible to even test.
Such an arms race certainly does little good in optimizing for reality where we don’t have 30 years to encode an HD movie : a feature that gives great compression improvements is useless if it’s impossible to optimize for in a reasonable amount of time. Certainly once the standard is finalized practical encoders will be written — but it makes no sense to optimize the standard for a use-case that doesn’t exist. And even attempting to “optimize” anything is difficult when encoding a few seconds of video takes weeks.
Update : The people involved have contacted me and insist that there was in fact no cheating going on. This is probably correct ; the problem appears to be that the rules that were set out were simply not strict enough, making many changes that I would intuitively consider “cheating” to be perfectly allowed, and thus everyone can do it.
I would like to apologize if I implied that the results weren’t valid ; they are — the Samsung-BBC proposal is definitely one of the best, which is why I picked it to test with. It’s just that I think any situation in which it’s impossible to test your own software is unreasonable, and thus the entire situation is an inherently broken one, given the lax rules, slow baseline encoder, and no restrictions on compute time.
-
How can I use FFMpeg to convert videos saved in gallery to mp4 no matter what extension is chose ?
7 juin 2014, par user3587194Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
intent.setType("video/*");
startActivityForResult(intent, VIDEO_SELECTED_GALLERY);
}
}, expires);
}
});
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" +Environment.getExternalStorageDirectory())));Here is my OnActivityResults this is after the Intent happens when i choose a video from the selected gallery. Im trying to implement in FFMpeg command during the onActivityResult so i can be able to convert all video files to mp4 when choosing a video from the gallery
else if (requestCode == VIDEO_SELECTED_GALLERY) {
if (resultCode == RESULT_OK) {
try {
selectedVideo = intent.getData();
if (selectedVideo != null) {
try {
String[] filePathColumn = {
MediaStore.Video.VideoColumns.DATA,
MediaStore.Video.VideoColumns.SIZE,
MediaStore.Video.VideoColumns.DURATION,
MediaStore.Video.VideoColumns.MIME_TYPE
};
Cursor cursor = getContentResolver().query(selectedVideo, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex0 = cursor.getColumnIndex(filePathColumn[0]);
int columnIndex1 = cursor.getColumnIndex(filePathColumn[1]);
int columnIndex2 = cursor.getColumnIndex(filePathColumn[2]);
int columnIndex3 = cursor.getColumnIndex(filePathColumn[3]);
if (cursor.getString(columnIndex3) != null && cursor.getString(columnIndex3).compareTo("")!=0 && cursor.getString(columnIndex3).contains("wmv")) {
displayErrorAlert("Upload Alert", "You cannot upload .wmv format videos. Sorry, that file format is not supported at this time");
}
else {
float lduration = 0.0f;
String lpath = "";
if(cursor.getString(columnIndex1) != null && cursor.getString(columnIndex1).compareTo("")!=0) {
lsize = Long.parseLong(cursor.getString(columnIndex1));
size_of_file = lsize;
}
if (cursor.getString(columnIndex2) != null && cursor.getString(columnIndex2).compareTo("")!=0) {
lduration = Float.parseFloat(cursor.getString(columnIndex2));
}
if(cursor.getString(columnIndex0) != null && cursor.getString(columnIndex0).compareTo("")!= 0) {
lpath = cursor.getString(columnIndex0);
lduration = lduration / 1000;
if (lduration > 31.00) {
displayErrorAlert("Time Limit", "Duration of video is more than 30 seconds");
}
else {
path = lpath;
getVideoFileSize();
if (lsize > 26214400 && lsize < FILE_SIZE) {
AlertDialog.Builder confirm = new AlertDialog.Builder(this);
confirm.setTitle("Warning: Long Upload Time");
confirm.setMessage("This video is larger than 25MB. Uploading may take more than 5 minutes, depending on your internet speed.");
confirm.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick (DialogInterface dialog, int which) {
if (mConnectionDetector.isConnectedToInternet()) {
// TODO Auto-generated method
new S3PutObjectTask(VideoPlay.this, s3Client, code, path, size_of_file, securityCode).execute();
}
else {
mTosty.showToast(getResources().getString(R.string.internetIssue));
}
}
});
confirm.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick (DialogInterface dialog, int which) {
dialog.dismiss();
}
});
confirm.show().show();
}
else {
if (mConnectionDetector.isConnectedToInternet()) {
new S3PutObjectTask(VideoPlay.this, s3Client, code, path, size_of_file, securityCode).execute();
}
else {
mTosty.showToast(getResources().getString(R.string.internetIssue));
}
}
}
}
else {
if (lsize > FILE_SIZE) {
displayErrorAlert("File Size Too Big", "You can not download greater than 50mb.");
}
else if (lsize > 26214400 && lsize < FILE_SIZE) {
AlertDialog.Builder confirm = new AlertDialog.Builder(this);
confirm.setTitle("Warning: Long Download Time");
confirm.setMessage("This video is larger than 25MB. Downloading may take more than 5 minutes, depending on your internet speed.");
confirm.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
VideoDownloaderTaskForAlbum mTask =new VideoDownloaderTaskForAlbum(VideoPlay.this,VideoPlay.this,lsize,selectedVideo);
mTask.execute(selectedVideo);
dialog.dismiss();
}
});
confirm.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
confirm.show().show();
}
else {
VideoDownloaderTaskForAlbum mTask =new VideoDownloaderTaskForAlbum(VideoPlay.this,VideoPlay.this,lsize,selectedVideo);
mTask.execute(selectedVideo);
}
}
}
}
catch(Exception e) {
e.printStackTrace();
}
}
else {
displayErrorAlert("Wrong File", "Wrong file Path");
}
}
catch (Exception e) {
Log.i("tag", e.getMessage());
}
} else if (resultCode == RESULT_CANCELED) {
mTosty.showToast("Result Canceled");
}
}
}