
Recherche avancée
Autres articles (38)
-
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 (...) -
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 (...) -
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)
Sur d’autres sites (2697)
-
Revision b98a1a43ce41afe3be303d168e308dacbb8d2d30 : Mais non, là on est revenu à la case départ. La confusion c’était entre ...
15 septembre 2010, par Committo,Ergo:sum — LogMais non, là on est revenu à la case départ. La confusion c’était entre true et continue de l’argument option de sql_getfetsel. Ce coup-ci on a bien à la fois le logout correct, le login automatique à l’install, et l’install forcée en cas de fichier corrompu. git-svn-id : (...)
-
Transcoding & displaying user-uploaded videos for cross-browser/platform compatibility
5 avril 2012, par Jonathan AmendI want to display user-uploaded videos in high quality on different browsers/platforms. I think I have a pretty good start, but there are a few issues. I have at my disposal ffmpeg 0.10 (called from PHP) and jwPlayer 5.8 (licensed).
Ideally I would like to support :
- Browsers with Flash 9+
- Modern Firefox/Chrome/Safari without Flash
- iOS 4.1+
- Android 2.2+
My current transcoding commands are :
$commands = array(
'flv' => "/usr/bin/ffmpeg -y -i {$sourceFile} -b 500k -ar 22050 -ab 64 {$tmpFileName}.flv 2>&1",
'webm' => "/usr/bin/ffmpeg -i {$sourceFile} -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 500k {$tmpFileName}.webm 2>&1",
'mp4' => "/usr/bin/ffmpeg -i {$sourceFile} -acodec libfaac -ab 96k -vcodec libx264 -level 21 -refs 2 -vf 'scale=trunc(ih*a/2)*2:trunc(iw/a/2)*2' -b 500k -bt 1000k -threads 0 -f mp4 {$tmpFileName}.pre.mp4 2>&1",
'jpg' => "/usr/bin/ffmpeg -y -i {$sourceFile} -ss 5 -vcodec mjpeg -vframes 1 -an -f rawvideo {$tmpFileName}.jpg 2>&1"
);
$fastStartCommand = "/usr/bin/qt-faststart {$tmpFileName}.pre.mp4 {$tmpFileName}.mp4");My current display code is this :
<video controls="controls" width="{$width}" height="{$height}" poster="{$fileJPG}" style="width: {$width}px; height: {$height}px;">
<source src="{$fileMP4}" type="video/mp4" data-ext="mp4"></source>
<source src="{$fileWEBM}" type="video/webm" data-ext="webm"></source>
<a href="http://stackoverflow.com/feeds/tag/{$fileMP4}" title="Play Video">
<img border="0" src="http://stackoverflow.com/feeds/tag/{$fileJPG}" width='0' height='0' alt="Play Video" />
</a>
</video>
<code class="echappe-js"><script type="text/javascript"><br />
swfobject.embedSWF(<br />
&#39;/flash/jwPlayer.swf&#39;,<br />
&#39;video&#39;,<br />
{$width},<br />
{$height},<br />
&#39;9.0.0&#39;,<br />
&#39;&#39;,<br />
{<br />
file: &#39;{$fileFLV}&#39;,<br />
width: {$width},<br />
height: {$height},<br />
provider: &#39;video&#39;,<br />
stretching: &#39;uniform&#39;,<br />
smoothing: &#39;true&#39;,<br />
dock: &#39;true&#39;<br />
},<br />
{<br />
menu: &#39;false&#39;,<br />
allowfullscreen: &#39;true&#39;,<br />
allowscriptaccess: &#39;always&#39;,<br />
allownetworking: &#39;always&#39;,<br />
wmode: &#39;transparent&#39;<br />
}<br />
);<br />
</script>The idea is to prefer the Flash player (we have many custom skins that we would like to keep using), then fall back to HTML 5 video, and if that fails, show the JPEG with a link to the mp4 file (that seems to work as a last-ditch effort for iOS 2/3 and old browsers so they can at least play the video by launching QuickTime).
The main issues that I'm not sure how to solve right now are :
- How can I show a higher quality video in Flash ? I tried using the mp4 video instead of the flv but it doesn't work and I only get sound, no video. I think Flash is supposed to support h.264 these days, but how ? And do I have to use a different transcoding method for older and newer versions of Flash ?
- How can I transcode the video with better quality ? Right now I am using the same bitrate for all resolutions. Any chance there is a way for ffmpeg to adjust the bitrate automatically ? Or can I detect and match the resolution of the uploaded video to a list of resolution -> bitrates somehow ?
-
Changing int main() to JNI interface prototype
13 mars 2012, par iSunI changed
ffmpeg.c
according following link :http://www.roman10.net/how-to-port-ffmpeg-the-program-to-androidideas-and-thoughts/
He said the change
main ()
to JNI interface prototype. Well, I'm not familiar with JNI interface prototype, but I read an article about JNI and change it accordingly.Can anyone look at my code to see is this true or not ?
JNIEXPORT jint JNICALL Java_com_ffmpegtest_MainActivity_main(JNIEnv *pEnv, int argc, char **argv) {
int64_t ti;
av_log_set_flags(AV_LOG_SKIP_REPEATED);
if(argc>1 && !strcmp(argv[1], "-d")){
run_as_daemon=1;
verbose=-1;
av_log_set_callback(log_callback_null);
argc--;
argv++;
}
avcodec_register_all();
#if CONFIG_AVDEVICE
avdevice_register_all();
#endif
#if CONFIG_AVFILTER
avfilter_register_all();
#endif
av_register_all();
#if HAVE_ISATTY
if(isatty(STDIN_FILENO))
avio_set_interrupt_cb(decode_interrupt_cb);
#endif
init_opts();
if(verbose>=0)
show_banner();
/* parse options */
parse_options(argc, argv, options, opt_output_file);
if(nb_output_files <= 0 && nb_input_files == 0) {
show_usage();
fprintf(stderr, "Use -h to get full help or, even better, run 'man ffmpeg'\n");
ffmpeg_exit(1);
}
/* file converter / grab */
if (nb_output_files <= 0) {
fprintf(stderr, "At least one output file must be specified\n");
ffmpeg_exit(1);
}
if (nb_input_files == 0) {
fprintf(stderr, "At least one input file must be specified\n");
ffmpeg_exit(1);
}
ti = getutime();
if (transcode(output_files, nb_output_files, input_files, nb_input_files,
stream_maps, nb_stream_maps) < 0)
ffmpeg_exit(1);
ti = getutime() - ti;
if (do_benchmark) {
int maxrss = getmaxrss() / 1024;
printf("bench: utime=%0.3fs maxrss=%ikB\n", ti / 1000000.0, maxrss);
}
return ffmpeg_exit(0);
}