Recherche avancée

Médias (91)

Autres articles (96)

  • Formulaire personnalisable

    21 juin 2013, par

    Cette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
    Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire. (...)

  • Amélioration de la version de base

    13 septembre 2013

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

  • Qu’est ce qu’un masque de formulaire

    13 juin 2013, par

    Un masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
    Chaque formulaire de publication d’objet peut donc être personnalisé.
    Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
    Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...)

Sur d’autres sites (8299)

  • how to improve edge interpolation of rotation in moviepy

    15 juillet 2021, par OneWorld

    I tried changing the interpolation method of rotation from 'bilinear' to 'bicubic' in the below, but it didn't seem to improve the edge interpolation. (it still looks a little bit jagged)

    


    I was wondering what I need to do to improve this ?

    


    import moviepy.editor as mped
import sys
import numpy as np

bgrd_width = 200
bgrd_height = 200
sunset = mped.ImageClip("sunset200x100.jpg", duration=1).set_position((1, 1))
bgrd = mped.ColorClip(size=(bgrd_width, bgrd_height), color=np.array([200, 200, 200]).astype(np.uint8), duration=3).set_position((0, 0))

angle = 56
interpolation = 'bicubic'

rotated_sunset = sunset.add_mask().rotate(angle, unit='deg', expand=True, resample=interpolation).set_duration(3)
stacked_clips = mped.CompositeVideoClip([bgrd, rotated_sunset], size=[bgrd_width, bgrd_height])

stacked_clips.write_videofile(f'sunset_rotated_{angle}_{interpolation}.mp4', fps=5)



    


    See attached comparison image of bilinear and bicubic interpolation.
enter image description here

    


    Adding to this, I have seen now that the inside of the image does improve in quality with cubic, compared with nearest neighbour.

    


    enter image description here

    


    The reason for the smooth inside, and jagged asset edge is because there's no pixel to sample from outside the boundary of the image, when interpolation is applied.

    


    I wrote some moviepy code, which adds a black margin (which actually turns transparent) and mask and then rotates. With bicubic interpolation it creates course, black lines, with a strange blend. However, with bilinear interpolation, the lines are much less apparent.

    


    # Add margin, add mask, rotate with interpolation of transparent 2 pixel border.
original_clip = mped.ImageClip("sunset200x100.jpg")
opaque_color = np.array([255, 255, 255]).astype(np.uint8)
margin_color = np.array([0, 0, 0]).astype(np.uint8)
margin_added_clip = original_clip.margin(2, color=margin_color)  # adds 2 pixel black border.
color_mask = mped.ColorClip(size=(original_clip.size), color=opaque_color).margin(2, color=margin_color)
mask = color_mask.to_mask()  # converts to grayscale with values between 0 and 1
masked_clip = margin_added_clip.set_mask(mask)  # adds the float mask to the clip
rotated_sunset = masked_clip.rotate(56, unit='deg', expand=True, resample="bicubic")
rotated_sunset.save_frame("sunset_rotated_56_degrees_moviepy_with_2px_mask.png")  # uses imageio to save the frame.


    


    enter image description here

    


    However,

    


    If you switch from bicubic to bilinear, it looks a lot better :-

    


    enter image description here

    


  • avutil : add hwcontext_amf.

    15 octobre 2024, par Dmitrii Ovchinnikov
    avutil : add hwcontext_amf.
    

    Adds hwcontext_amf, enabling a shared AMF context for encoders,
    decoders, and AMF-based filters, without copy to the host memory.
    Code also was tested in HandBrake.

    Benefits :
    - Optimizations for direct video memory access from CPU
    - Significant performance boost in full AMF pipelines with filters
    - Integration of GPU filters like VPP, Super Resolution, and
    Compression Artefact Removal(in future plans)
    - VCN power management control for decoders.
    - Ability to specify which VCN instance to use for decoding
    (like for encoder)
    - AMD will soon introduce full AMF API for multimedia accelerator MA35D
    - With AMF API, integration will be much easier :
    GPU and the accelerator will have the same API
    - including encoder, decoder, scaler, color converter,
    Windows and Linux.
    Learn more :
    https://www.amd.com/en/products/accelerators/alveo/ma35d.html

    Changes by versions :
    v2 : Header file cleanup.
    v3 : Removed an unnecessary class.
    v4 : code cleanup and improved error handling
    v5 : Fixes related to HandBrake integration.
    v6 : Sequential filters error and memory leak have been fixed.

    • [DH] libavutil/Makefile
    • [DH] libavutil/hwcontext.c
    • [DH] libavutil/hwcontext.h
    • [DH] libavutil/hwcontext_amf.c
    • [DH] libavutil/hwcontext_amf.h
    • [DH] libavutil/hwcontext_amf_internal.h
    • [DH] libavutil/hwcontext_internal.h
    • [DH] libavutil/pixdesc.c
    • [DH] libavutil/pixfmt.h
  • FPS drop in FFMPEG streaming processes to FB from production server

    30 janvier 2017, par Aakash Gupta

    I have made a rails app that can stream live videos to facebook rtmp server and deployed it on AWS. I have used nginx as web server. The major problem that I am encountering after viewing log files of FFMpeg processes is that sometimes the FPS of FFmpeg process starts to drop. In some cases, it remains stable at 25 FPS but in some cases, it remains at 25 only for sometime, and after that it starts to drop and sometimes it falls to even 3-4 FPS which is unacceptable during live streaming. As FFMpeg process is quite heavy, I would also like to share my CPU info as well.

    CPU information is :

    cat /proc/cpuinfo
    processor   : 0
    vendor_id   : GenuineIntel
    cpu family  : 6
    model       : 63
    model name  : Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz
    stepping    : 2
    microcode   : 0x25
    cpu MHz     : 2400.070
    cache size  : 30720 KB
    physical id : 0
    siblings    : 1
    core id     : 0
    cpu cores   : 1
    apicid      : 0
    initial apicid  : 0
    fpu     : yes
    fpu_exception   : yes
    cpuid level : 13
    wp      : yes
    flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
    bogomips    : 4800.14
    clflush size    : 64
    cache_alignment : 64
    address sizes   : 46 bits physical, 48 bits virtual
    power management:

    FFMPEG log file with unstable fps : https://drive.google.com/open?id=0B1gtp1iXJppkUndFamk4M0lRYzA

    FFMPEG log file with stable fps : https://drive.google.com/open?id=0B1gtp1iXJppkMkVCZEJjYWJrVTA

    When FPS was stable, I also tried to run another parallel FFMpeg process from the same server which resulted in FPS dropping of both the processes to 13-14 FPS.

    I am currently using this FFMPEG command :

    ffmpeg -loop 1 -re -y -f image2 -i "image_path" -i "audio_path.aac" -acodec copy -bsf:a aac_adtstoasc -pix_fmt yuv420p -profile:v high -s 1280x720 -vb 400k -maxrate 400k -minrate 400k -bufsize 600k -deinterlace -vcodec libx264 -preset veryfast -g 30 -r 30 -t 14400 -strict -2 -f flv "rtmp_server_link"

    I never face this problem when I try to stream to FB using app on my localhost.

    So, my questions are :

    1. What can be the reason for this FPS drop ?
    2. Can upscaling production server help me fix this issue ?
    3. Can I run multiple FFMpeg processes for streaming from same server without performance drop ?

    Thanks in advance :)