Recherche avancée

Médias (1)

Mot : - Tags -/censure

Autres articles (94)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 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 (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

Sur d’autres sites (9760)

  • FFMPEG and JNI - pass AVFrame data to Java and Back

    17 octobre 2015, par tishu

    I have some C code that decodes a video frame by frame. I get to a point where i have an AVFrame in BGR32 and would like to send it back to Java for editing.

    I have a ByteBuffer object in my C code that was created in Java using AllocateDirect but i struggle to write the content of the AVFrame->data[0] (of uint8_t type) to it and read it back. I have tried memcpy with no luck. Does anyone have an idea how to achieve this ?

    UPDATE
    Followed Will’s comment below and wrote this in C

    char *buf = (*pEnv)->GetDirectBufferAddress(pEnv, byteBuffer);
    memcpy(buf, rgb_frame->data[0], output_width*output_height*4);

    The buffer does contain some data in Java but doing the following returns a null bitmap

    BufferedImage frame = ImageIO.read(bitmapStream);

    Where bitmapStream is a ByteBufferInputStream defined here :
    https://code.google.com/p/kryo/source/browse/trunk/src/com/esotericsoftware/kryo/io/ByteBufferInputStream.java?r=205

    Not sure if I am not writing things correctly in this buffer

    UPDATE 2

    Got pretty close now thanks to the latest snippet. I am using BGR32 format in my C code ie 4 bytes per pixel. So I modified things a bit in Java :

    final byte[] dataArray = new byte[width*height*4];
    imageData.get(dataArray);
    final BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
    final DataBuffer buffer = new DataBufferByte(dataArray, dataArray.length);
    Raster raster = Raster.createRaster(sampleModel, buffer, null);
    image.setData(raster);

    I get the image correctly but there seems to be an issue with color channels
    Example

    Tried different formats with no luck

  • Create video with size based on image and place a video somewhere with an offset

    10 mars 2024, par NoKey

    I am trying out FFMPEG and I am unsure how hard it is to do what I want. I have some device frames and I want to play a video inside the frame. For example, this is a device frame :

    


    enter image description here

    


    Now I want to play a video within the screen of the iPhone. I already got the exact X and Y offset where the video must be placed to show it correctly. I have the following challenges to make it work, and I want to make sure FFMPEG can do it before I spend to much time reinventing the wheel :

    


      

    • The output of the video must be as big as the PNG. This is already a
confusing part for me. I have the width and height already available,
but the things I saw is that FFMPEG will take over the input of the
video as final size. The final output of the video should of course
be the length of the input video.

      


    • 


    • The background must be transparant (so no black background, I want to
play the video on top of a website so it's nice if it's transparant and the corners are not black).

      


    • 


    • The ability to place a video somewhere with a specified X and Y
offset inside the device frame.

      


    • 


    • Not sure if it's possible in the same command, but maybe the video
needs to be resized to make it fit. I got the exact dimensions for
the video.

      


    • 


    


    The things I struggle most is point 1 where the output video must have a transparant background and where the device frame is placed in. Does anybody got tips ?

    


  • MP4 to HLS conversion error after resizing video using FFmpeg

    26 juillet 2023, par ITeptIcklyTa

    When trying to create HLS stream from original video, FFmpeg creates HLS stream without errors.

    


    ~ $ ffmpeg -i test.mp4 -f hls -hls_time 3 -hls_segment_filename seg%02d.ts stream.m3u8


    


    But when I resize video using this command, I get a timestamps warning :

    


    ~ $ ffmpeg -i test.mp4 -vf scale=426:240 test_240p.mp4
[mp4 @ 0xb400007429e52d00] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[mp4 @ 0xb400007429e52d00] Encoder did not produce proper pts, making some up.


    


    And when creating HLS stream from resized video, I'm getting an error :

    


    ~ $ ffmpeg -i test_240p.mp4 -f hls -hls_time 3 -hls_segment_filename seg%02d.ts stream.m3u8                     ffmpeg version N-111626-g0ba719f726 Copyright (c) 2000-2023 the FFmpeg developers
  built with clang version 16.0.6
  configuration: --arch=aarch64 --as=aarch64-linux-android-clang --cc=aarch64-linux-android-clang --cxx=aarch64-linux-android-clang++ --nm=llvm-nm --pkg-config=/data/data/com.termux/files/usr/bin/pkg-config --strip=llvm-strip --cross-prefix=aarch64-linux-android- --disable-indevs --disable-outdevs --enable-indev=lavfi --disable-static --disable-symver --enable-cross-compile --enable-gnutls --enable-gpl --enable-jni --enable-lcms2 --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgme --enable-libmp3lame --enable-libopus --enable-librav1e --enable-libsoxr --enable-libsrt --enable-libssh --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-mediacodec --enable-opencl --enable-shared --prefix=/data/data/com.termux/files/usr --target-os=android --extra-libs=-landroid-glob --disable-vulkan --enable-neon --disable-libfdk-aac                                                      libavutil      58. 14.100 / 58. 14.100                  libavcodec     60. 22.100 / 60. 22.100
  libavformat    60. 10.100 / 60. 10.100                  libavdevice    60.  2.101 / 60.  2.101
  libavfilter     9. 10.100 /  9. 10.100
  libswscale      7.  3.100 /  7.  3.100
  libswresample   4. 11.100 /  4. 11.100
  libpostproc    57.  2.100 / 57.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test_240p.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf60.10.100
  Duration: 00:00:10.01, start: 0.000000, bitrate: 178 kb/s
  Stream #0:0[0x1](und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/smpte170m, progressive), 426x240, 44 kb/s, SAR 640:639 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
    Metadata:
      handler_name    : ISO Media file produced by Google Inc. Created on: 02/24/2023.
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.22.100 h264_mediacodec
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      handler_name    : ISO Media file produced by Google Inc. Created on: 02/24/2023.
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_mediacodec))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[h264_mediacodec @ 0xb400007da1f2ac00] Use 1 as the default MediaFormat i-frame-interval, please set gop_size properly (>= fps)
[h264_mediacodec @ 0xb400007da1f2ac00] Mediacodec encoder doesn't support AV_CODEC_FLAG_GLOBAL_HEADER. Use extract_extradata bsf when necessary.
Output #0, hls, to 'stream.m3u8':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf60.10.100
  Stream #0:0(und): Video: h264, yuv420p(tv, bt709/bt709/smpte170m, progressive), 426x240 [SAR 640:639 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 90k tbn (default)
    Metadata:
      handler_name    : ISO Media file produced by Google Inc. Created on: 02/24/2023.
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.22.100 h264_mediacodec
  Stream #0:1(und): Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : ISO Media file produced by Google Inc. Created on: 02/24/2023.
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.22.100 aac
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.25 bitr[hls @ 0xb400007da1f27d00] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[hls @ 0xb400007da1f27d00] Encoder did not produce proper pts, making some up.
[mpegts @ 0xb400007da1f29100] H.264 bitstream error, startcode missing, size 0
[hls @ 0xb400007da1f27d00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 3600 >= 3600
[vost#0:0/h264_mediacodec @ 0xb400007da200a000] Error submitting a packet to the muxer: Invalid argument
[out#0/hls @ 0xb400007da1eaa6c0] Error muxing a packet
[hls @ 0xb400007da1f27d00] Opening 'seg00.ts' for writing
[hls @ 0xb400007da1f27d00] Opening 'stream.m3u8.tmp' for writing
[out#0/hls @ 0xb400007da1eaa6c0] video:2kB audio:5kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
frame=    3 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.41 bitrate=N/A speed=3.39x
[aac @ 0xb400007da2051400] Qavg: 32468.840
Conversion failed!
~ $


    


    I tried to build FFmpeg from GitHub and install FFmpeg from repositories, and I'm still getting this error.