Recherche avancée

Médias (0)

Mot : - Tags -/content

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (80)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (9809)

  • How can I stream raw video frames AND audio to FFMPEG with Python 2.7 ?

    18 novembre 2017, par Just Askin

    I am streaming raw video frames from Pygame to FFMPEG, then sending to a rtmp stream, but for the life of me, I can’t figure out how to send live audio using the same Python module. It does not need to be the Pygame mixer, but I am not opposed to using it if that is where the best answer lies. I’m pretty sure it’s not though.

    My question is this : What is the best strategy to send live audio output from a program to FFMPEG along with raw video frames simultaneously from the same Python module ?

    My program is large, and eventually I would like to build options to switch audio inputs from a queue of music, a microphone, or any other random sounds from any program I want to use. But for the time being, I just want something to work. I am starting off with a simple Espeak command.

    Here is my Python commands :

    command = ['ffmpeg', '-re', '-framerate', '22', '-s', '1280x720', '-pix_fmt', 'rgba', '-f', 'rawvideo', '-i', '-', '-f', 's16le', '-ar', '22500', '-i', '/tmp/audio', '-preset', ultrafast', '-pix_fmt', 'rgba', '-b:v', '2500', '-s', 'hd720', '-r', '25', '-g', '50', '-crf', '20', '-f', 'flv', 'rtmp://xxx' ]

    pipe = sp.Popen(command, stdin=sp.PIPE)

    Then I send my frames to stdin from within my main while True: loop.

    The problem I run into with this strategy is I can’t figure out how to shove audio into FFMPEG from within Python without blocking the pipe. After hours of research, I am pretty confident I can’t use the pipe to send the audio along with the frames. I thought the named pipe was my solution (which works running Espeak outside of Python), but it blocks Python until the Espeak is done... so no good.

    I assume I need threading for multiprocessing, but I cannot figure out from the official documentation or any other resources as to how I can solve my problem with it.

    The ['-f', 's16le', '-ar', '22500', '-i', '/tmp/audio'] are settings that work if I run espeak from a separate terminal with espeak 'some text' --stdout > /tmp/audio.

    I am using Centos 7, Python 2.7, pygame, the latest build of FFMPEG,

  • OpenCV Alpha Channel support

    14 février 2014, par adriagil

    I've tried many different solutions but I'm stuck at this point.

    I have a sequence of .png files with alpha channel.
    If I pick one of the files for splitting the channels I got the expected result in an array[4] having the alpha channel

    Mat check = imread("1.png");

    printf("channels = %d", check.channels()); //got 'channels = 4'

    Then I expected to get the same results for a movie file.

    With FFMPEG I've just converted the .png sequence to a .mov file with "qtrle" codec that I'm sure that support alpha channel.

    ffmpeg -pix_fmt argb -i sequence_%d.png -vcodec qtrle output.mov

    Then the I process the video file frames with OpenCV

    Mat frame;
    VideoCapture cap ("output.mov");
    if (cap.grab())
       cap.retrieve(frame);
    printf("channels = %d", frame.channels()); // got 'channels = 3'

    I've checked the ffmpeg generated output and seems to be encoded right and have the alpha channel stored.

    Does OpenCV does not support Alpha Channel in movie files ?
    If so, anyone knows an alternative to do it with C++ or other libraries ?
    Can this be done with DirectX in some way (only using OpenCV for reading video) ?

    In the official docs I've found that cv::VideocCapture.retrieve() has a second argument for the 'channel' but I've tried to do the following with the same results (no alpha channel) :

    cap.retrieve(frame, 4);
    cap.retrieve(frame, -1);

    As far as cv::VideoCapture supports loading image sequences I've tried to load the PNG sequence but I got the following warning so I could not play the movie file :

    VideoCapture cap("sequence_%d.png");
    warning: Could not find codec parameters (../../modules/highgui/src/cap_ffmpeg_impl.hpp)

    Why I got that result if I can read the same PNG with imread("") ?

    Also I've tried to encode the .png sequence again with ffmpeg :

    ffmpeg -pix_fmt rgba -i sequence_%d.png -vcodec png output.mov

    But got exactly the same warning as before.

    Any suggestion would be much appreciated !

    Note : I'm using OpenCV 2.4.2 right now...maybe updating to 2.4.8 may solve the problem ?

  • The question about ffmpeg drawtext filter [closed]

    5 mai 2024, par B1GGersnow

    I tried to use rockchip(aarch64) hardware acceleration and add a drawtext filter to add watermarks. However, squares appear when multiple Chinese fonts are added.

    


    This is my compilation parameter.

    


    ./configure --prefix=/usr --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga --enable-filter=drawtext --enable-libharfbuzz --enable-libfreetype --enable-libfontconfig --enable-libfreetype --enable-libfribidi


    


      

    1. ffmpeg -hwaccel rkmpp -hwaccel_output_format drm_prime -i 1.mp4 -vf scale_rkrga=w=1920:h=1080,hwdownload,format=nv12,drawtext=text='中文':fontfile=msyh.ttc:fontsize=200 -c:v h264_rkmpp -y -t 10  output.mp4
img1

      


    2. 


    3. ffmpeg -hwaccel rkmpp -hwaccel_output_format drm_prime -i 1.mp4 -vf "scale_rkrga=w=1920:h=1080,hwdownload,format=nv12,drawtext=text='中文字幕测试':fontfile=msyh.ttc:fontsize=200" -c:v h264_rkmpp -y -t 10  output.mp4
img2

      


    4. 


    


    But I try to use apt install ffmpeg to install ffmpeg which is officially maintained by Ubuntu. I got the right result. So I think it's the library, and I'm trying to compile using the official library.

    


    ./configure --prefix=/usr --enable-gpl --enable-version3 --enable-filter=drawtext --enable-libharfbuzz --enable-libfreetype --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libx264


    


    I still get garbled results.

    


    Is this because there is something wrong with my compilation dependent library ?

    


    When I compiled it with the same parameters on wsl, there was no garbled code.