Recherche avancée

Médias (1)

Mot : - Tags -/graphisme

Autres articles (72)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

Sur d’autres sites (8013)

  • Black overlay appears when merging a transparent video to another video

    13 juin 2012, par RakeshS

    This is what I have done so far :

    Command to create a transparent PNG image :

    convert -size 640x480 -background transparent -fill blue \
    -gravity South label:ROCK image1-0.png

    Command to create a transparent video :

    ffmpeg -loop 1 -f image2 -i image1-0.png -r 20 -vframes 100 \
    -vcodec png -pix_fmt bgra mov-1.mov

    (as per this post) - I expect this video to be a transparent video.

    Command to overlay a video with another :

    ffmpeg -i final-video.mov -sameq -ar 44100 \
    -vf "movie=mov-1.mov [logo];[in][logo] overlay=0:0 [out]" \
    -strict experimental final-video.mov

    Above commands works perfect and I have not faced any problem, but I don't get what I expect which is kinda watermarking effect, I want mov-1.mov to be transparent with final-video.mov.

    Questions :

    1. Is there any way to verify if the generated video is transparent ? other than merging ?
    2. Not sure why the above mov-1.mov is not transparent when it is merged with final-video.mov, any info to solve this problem would be great.

    Please help.

  • Humble Video take snapshot of given time

    23 mai 2021, par Boldbayar
      

    1. Hello, I'm using https://github.com/artclarke/humble-video to take a thumbnail from a video.
So far I have successfully managed to take a snapshot from a video at start with following method.

      


      private static Path generateThumbnail(final Path videoFile)
     throws InterruptedException, IOException {

 final Demuxer demuxer = Demuxer.make();
 demuxer.open(videoFile.toString(), null, false, true, null, null);

 int streamIndex = -1;
 Decoder videoDecoder = null;
 String rotate = null;
 final int numStreams = demuxer.getNumStreams();
 for (int i = 0; i < numStreams; ++i) {
     final DemuxerStream stream = demuxer.getStream(i);
     final KeyValueBag metaData = stream.getMetaData();
     final Decoder decoder = stream.getDecoder();
     if (decoder != null
             && decoder.getCodecType() == MediaDescriptor.Type.MEDIA_VIDEO) {
         videoDecoder = decoder;
         streamIndex = i;
         rotate = metaData.getValue("rotate", KeyValueBag.Flags.KVB_NONE);
         break;
     }
 }

 if (videoDecoder == null) {
     throw new IOException("Not a valid video file");
 }
 videoDecoder.open(null, null);

 final MediaPicture picture = MediaPicture.make(videoDecoder.getWidth(),
         videoDecoder.getHeight(), videoDecoder.getPixelFormat());

 final MediaPictureConverter converter = MediaPictureConverterFactory
         .createConverter(MediaPictureConverterFactory.HUMBLE_BGR_24, picture);

 final MediaPacket packet = MediaPacket.make();
 BufferedImage image = null;
 MUX : while (demuxer.read(packet) >= 0) {
     if (packet.getStreamIndex() != streamIndex) {
         continue;
     }
     int offset = 0;
     int bytesRead = 0;
     videoDecoder.decodeVideo(picture, packet, offset);
     do {
         bytesRead += videoDecoder.decode(picture, packet, offset);
         if (picture.isComplete()) {
             image = converter.toImage(null, picture);
             break MUX;
         }
         offset += bytesRead;

     } while (offset < packet.getSize());
 }
 if (image == null) {
     throw new IOException("Unable to find a complete video frame");
 }
 if (rotate != null) {
     final AffineTransform transform = new AffineTransform();
     transform.translate(0.5 * image.getHeight(), 0.5 * image.getWidth());
     transform.rotate(Math.toRadians(Double.parseDouble(rotate)));
     transform.translate(-0.5 * image.getWidth(), -0.5 * image.getHeight());
     final AffineTransformOp op = new AffineTransformOp(transform,
             AffineTransformOp.TYPE_BILINEAR);
     image = op.filter(image, null);
 }

 final Path target = videoFile.getParent()
         .resolve(videoFile.getFileName() + ".thumb.jpg");

 final double mul;
 if (image.getWidth() > image.getHeight()) {
     mul = 216 / (double) image.getWidth();
 } else {
     mul = 216 / (double) image.getHeight();
 }

 final int newW = (int) (image.getWidth() * mul);
 final int newH = (int) (image.getHeight() * mul);
 final Image thumbnailImage = image.getScaledInstance(newW, newH,
         Image.SCALE_SMOOTH);
 image = new BufferedImage(newW, newH, BufferedImage.TYPE_INT_BGR);

 final Graphics2D g2d = image.createGraphics();
 g2d.drawImage(thumbnailImage, 0, 0, null);
 g2d.dispose();

 ImageIO.write(image, "jpeg", target.toFile());
 return target.toAbsolutePath(); }


      


    2. 


    3. Now, what I want to do is take a snapshot after 2 seconds after the video starts, is it possible ? I
have tried using the "Demuxer" -s seek method but no luck.

      


    4. 


    


  • How can I play audio file(.mp3, .flac, .wav) and then loop over it (mix every few seconds) another audio file(wav) using ffmpeg

    11 mars 2019, par lukistar

    I got two different commands.

    ffmpeg -i input.mp3 -i second.mp3 -filter_complex "[0:a]atrim=end=10,asetpts=N/SR/TB[begin];[0:a]atrim=start=10,asetpts=N/SR/TB[end];[begin][1:a][end]concat=n=3:v=0:a=1[a]" -map "[a]" output

    This command inserts second.mp3 into input.mp3. It seems to always keep the parameters of input.mp3. It inserts it in exact 10 seconds of input.mp3.

    Here is the second command :

    ffmpeg -i input.mp3 -i second.mp3 -filter_complex "[1:a]adelay=10000|10000[1a];[0:a][1a]amix=duration:first" output

    This command is closer to my final goal. It plays input.mp3 and in exact 10 seconds it plays along second.mp3 without stopping input.mp3’s sound.(I think that’s called mixing ?)

    My final goal is to create final.mp3.

    Its duration must always equal input.mp3 duration. It must keep the samplerate, the count of channels, etc of input.mp3

    When playing final.mp3, it must play the whole input.mp3.
    But each 10-15 seconds, it must play second.mp3 without stopping input.mp3.(mix)
    It could be said that I must use "Second command" but in a loop.
    It would be great if there is one-line command for that in ffmpeg.
    I am working with flac, mp3 and wav and both of the commands were suitable for that.

    For example :

    input.mp3 could be 40 seconds long.

    second.mp3 could be 2 seconds long.

    When I play final.mp3 it will be 40 seconds long, but each 10-15 seconds(on random) it will play second.mp3 at the same time as input.mp3.

    Sadly I have no experience with ffmpeg, both of the commands I got are answers to questions here in stackoverflow. Hope somebody can help me. Thank you !