
Recherche avancée
Autres articles (108)
-
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 (...) -
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 (11805)
-
How to decode h264 video encoded from yuv444p frames ?
22 octobre 2015, par Bing LiuI had an h264 video stream encoded from yuv444p frames, it was played well using vlc or mpv player.
But when I tried to decode it using libavcodec, it just looked like this.
The source frame is an upsize down vlc-player logo.
Here is the intialization of the decoder :
AVCodec *codec = avcodec_find_decoder(AV_CODEC_ID_H264);
AVCodecContext *codecCtx = avcodec_alloc_context3(codec);
avcodec_open2(codecCtx, codec, NULL);The decoder worked well when decoding packets encoded from yuv420p.
Did I miss anything when decoding those packets encoded from yuv444p frames ?Update:I converted the yuv444p output into BGRA with sws_scale(), then I make a transforment with the follow codes ;
int offset_out = 0, offset_tmp = 0;
uint32_t *tmp = (uint32_t *)malloc(width * height * 4);
for (int i = 0; i < width * height; i++) {
if ((i + width + 9) % (width + 9) > width) {
out[offset_out++] = in[i];
} else {
tmp[offset_tmp++] = in[i];
}
}
memcpy(out + offset_out, tmp, offset_tmp);
free(tmp);Then the picture looked all right.
There is a number
9
ini + width + 9
. I guessed that cause I knew the width and height of the source picture. But what if the width or height was changed to some value else,9
didn’t work.I want to know what’s wrong with the decoder.
-
How does Rust work with process arguments ?
1er octobre 2022, par SoptikHaI'm really confused about Rust processes. I'm trying to call something like this :



ffmpeg -i path/to/test-video.webm -ab 160k -ac 2 -vn -f mp3 -




This should extract sound out of video and send it to stdout. So I've done this :



let sound: std::process::Output = Command::new("ffmpeg")
 .arg(format!("-i {}", args.input.to_str().unwrap()))
 .arg("-ab 160k")
 .arg("-ac 2")
 .arg("-vn")
 .arg("-f mp3")
 .arg("-")
 .stdout(Stdio::piped())
 .stdin(Stdio::inherit())
 .stderr(Stdio::inherit())
 .output()
 .unwrap();




But for some reason, this doesn't work. It prints this to stderr :



Unrecognized option 'i path/to/test-video.webm'.
Error splitting the argument list: Option not found




When I remove the slashes from args (so it looks like
.arg(format!("i {}", ...)).arg("ab 160k")...
, I get this :


Output file #0 does not contain any stream




I think I misunderstood how this works, but I tested it on other applications and it seemed to work the way I'm doing it now. What did I miss, how does Rust work with these arguments ?



And just to be clear, I know about the ffmpeg crates, but they don't work for me for some reason, I can't even compile them.


-
libavdevice.so.57 : failed to map segment from shared object : Permission denied"
10 septembre 2016, par user3579130I have successfully installed ffmpeg ver. 4.4.7 on centos, with shared enabled as such :
[root@localhost ~]# ffmpeg
ffmpeg version N-81555-g496d97f Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17)
configuration: --prefix=/usr/local/ffmpeg_build --extra-cflags=-I/usr/local/ffmpeg_build/include --extra-ldflags=-L/usr/local/ffmpeg_build/lib --bindir=/usr/local/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-shared
libavutil 55. 29.100 / 55. 29.100
libavcodec 57. 54.102 / 57. 54.102
libavformat 57. 48.102 / 57. 48.102
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 60.100 / 6. 60.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...However, when I run in php, through exec I get
"/usr/local/bin/ffmpeg : error while loading shared libraries :
libavdevice.so.57 : failed to map segment from shared object :
Permission denied"I know the web server executes the command as user ’apache’ and not root, but I installed ffmpeg in /usr/local/ffmpeg_build for that specific reason, so that the regular users can use ffmpeg.
What did I miss ? What does this error mean ?