
Recherche avancée
Autres articles (45)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)
Sur d’autres sites (10080)
-
The Ultimate Guide to HeatMap Software
-
ffmpeg : chroma key (greenscreen filter) a short video continuosly loopling into a live video
13 novembre 2020, par AlfI know how to chroma key / greenscreen filter a background of a video stream and replace it by an image using v4l2loopback. After running


$ sudo modprobe v4l2loopback



my code is as follows :


$ ffmpeg -i background.jpg -f v4l2 -pix_fmt mjpeg \
 -framerate 30 -video_size 1280x720 -i /dev/video0 \
 -filter_complex \
 "[0:v]scale=1280x720[bg]; \
 [1:v]colorkey=0x00b140:0.5:0.0[ckout]; 
 [bg][ckout]overlay" \
 -pix_fmt yuv420p -f v4l2 /dev/video1



Then I can simply choose at whatever video-playing-app I like, the new pseudo webcam as input.


Instead of a still image, I would like to have a short video, looping continuously in the background. I am pretty sure that this is possible, but have no idea how, any hints are greatly appreciated !


Update 1 : As requested, here is the full log of the command as suggested in the response


$ ffmpeg -stream_loop 5 -re -i some_gif.gif \
 -f v4l2 -pix_fmt mjpeg -framerate 30 \
 -video_size 1280x720 -i /dev/video0 \
 -filter_complex \
 "[0:v]scale=1280x720[bg]; \ 
 [1:v]colorkey=0x61A051:0.3:0.0[ckout]; \
 [bg][ckout]overlay" \
 -pix_fmt yuv420p -f v4l2 /dev/video1

ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
 configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
 libavutil 55. 78.100 / 55. 78.100
 libavcodec 57.107.100 / 57.107.100
 libavformat 57. 83.100 / 57. 83.100
 libavdevice 57. 10.100 / 57. 10.100
 libavfilter 6.107.100 / 6.107.100
 libavresample 3. 7. 0 / 3. 7. 0
 libswscale 4. 8.100 / 4. 8.100
 libswresample 2. 9.100 / 2. 9.100
 libpostproc 54. 7.100 / 54. 7.100
Input #0, gif, from 'some_gif.gif':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: gif, bgra, 640x640, 10 fps, 10 tbr, 100 tbn, 100 tbc
Input #1, video4linux2,v4l2, from '/dev/video0':
 Duration: N/A, start: 433330.420280, bitrate: N/A
 Stream #1:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1280x720, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Stream mapping:
 Stream #0:0 (gif) -> scale
 Stream #1:0 (mjpeg) -> colorkey
 overlay -> Stream #0:0 (rawvideo)
Press [q] to stop, [?] for help
[swscaler @ 0x563d17c69e80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x563d17c69e80] No accelerated colorspace conversion found from yuv422p to argb.
Output #0, v4l2, to '/dev/video1':
 Metadata:
 encoder : Lavf57.83.100
 Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, q=2-31, 110592 kb/s, 10 fps, 10 tbn, 10 tbc (default)
 Metadata:
 encoder : Lavc57.107.100 rawvideo
Past duration 0.899986 too largeN/A time=00:00:05.10 bitrate=N/A speed= 1x 
frame= 98 fps= 10 q=-0.0 Lsize=N/A time=00:00:09.80 bitrate=N/A dup=0 drop=20 speed=1.03x 
video:132300kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown



Update 2 : After applying an update via


$ sudo add-apt-repository ppa:jonathonf/ffmpeg-4
$ sudo apt-get update
$ sudo apt-get install ffmpeg



I now have the following version installed


ffmpeg version 4.3.1-0york0~18.04 Copyright (c) 2000-2020 the FFmpeg developers



And now the answer works :)


-
Why does javaFx run converted mp4 but not original ?
20 février 2020, par bratSimply put, I have this issue where I have a mp4 file with a video. If I run it directly in the code posted here, the window opens but its white/blank. No movie showing.
But if I run the original movie through ffmpeg it works.ffmpeg -i original.mp4 -s hd720 converted.mp4
Note that Im converting from mp4 to mp4, I just change the size to hd720.
So, the question is, why do I need to do that ?My code :
package mypack;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
public class MyPlayer extends Application{
public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) throws Exception {
BorderPane content = new BorderPane();
Scene scene = new Scene(content, 540, 209);
primaryStage.setScene(scene);
primaryStage.setScene(scene);
primaryStage.setTitle("Hello Media");
String source;
source = "file:///C:/Users/Noob/Desktop/Movies/original.mp4";
// source = "file:///C:/Users/Noob/Desktop/Movies/converted.mp4";
Media media = new Media(source);
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
MediaView mediaView = new MediaView(mediaPlayer);
((BorderPane) scene.getRoot()).getChildren().add(mediaView);
primaryStage.show();
}
}For those audio/video afficionados/ffmpeg pros out there. This is what gets output from the original.
ffprobe -i original.mp4
ffprobe version 4.2.2 Copyright (c) 2007-2019 the FFmpeg developers
built with gcc 9.2.1 (GCC) 20200122
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000029bc02bc540] st: 0 edit list: 1 Missing key frame while searching for timestamp: 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000029bc02bc540] st: 0 edit list 1 Cannot find an index entry before timestamp: 0.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'original.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2020-02-18T17:09:21.000000Z
Duration: 00:00:22.56, start: 0.000000, bitrate: 1631 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 1624 kb/s, 29.97 fps, 29.97 tbr, 29970 tbn, 59.94 tbc (default)
Metadata:
creation_time : 2020-02-18T17:09:21.000000Z
handler_name : Mainconcept MP4 Video Media Handler
encoder : AVC CodingCould it have to do with size ? To big ? Since it sayes 3840x2160 in the original ? And Im making it smaller with hd720 ?
If so, I would expect at least a corner of the movie showing, instead of a totally blank window.
Im new at this, so if you also give some good link to ffmpeg (excluding official manpages) and/or a good tutorial/info page on video formatting pointed towards beginners it would be much appreciated. My understanding this far is there are containers which hold streams and each stream can have different codecs depending on the container.