Recherche avancée

Médias (1)

Mot : - Tags -/école

Autres articles (84)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • 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

Sur d’autres sites (9800)

  • Real-time streaming of rawdata images to Android with FFMPEG

    29 juillet 2015, par Philies

    CONDITIONS

    I have an C++ server (Linux) and want to transmit rawdata images (RGB, 32bit) to an Android device in real-time.
    The server generates the rawdata images (with or without bitmap header) continuously every x miliseconds. Now, I want to put the rawdata images into a stream and transmit them without much delay to the Android client.

    I’ve chosen FFMPEG for this kind of job.

    The input for FFMPEG should be the rawdata images, which are generated just in time. The output should be an rtsp stream (h264 or is another format better ?).
    On client side I will play the stream with the Android MediaPlayer. That works for a RTSP url like rtsp ://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov


    PREVIOUS APPROCH :

    I’ve installed FFMPEG on my server.

    Depending on this question : https://ffmpeg.org/pipermail/ffmpeg-user/2013-April/014617.html ... here is my FFMEG command :

    ffmpeg -an -f rawvideo -vcodec rawvideo -pix_fmt rgb32 -r 10 -i -vcodec libx264 -r 30 -tune zerolatency -preset ultrafast -bsf:v h264_mp4toannexb -f mpegts udp://192.168.1.20:1234

    Explanation of the parameters :

    • -an = ignore audio
    • -report = log file in current directory

    INPUT :

    • -f = rawvideo (video format)
    • -vcodec = rawvideo (video codec)
    • -pix_fmt = rgb32
    • -r = 10 (frame rate)

    OUTPUT :

    • -vcodec = libx264
    • -r = 30 (frame rate)
    • -bsf:v = h264_mp4toannexb
    • -f = mpegts udp ://192.168.1.20:1234

    C++ Server Code Snippet :

    /* -------  Get image rawdata from source ------- */
    ...
    /* -------  Create image header which fits to the image rawdata ------- */
    ...

    /* ------- Store the picture local (not necessary?) ------- */
    FILE *f;
    f = fopen("/home/philies/test.bmp","wb");

    //Write Bitmap Headers
    fwrite(&imageFileHeader,1,sizeof(imageFileHeader),f);
    fwrite(imageInfoHeader,1, imageInfoHeader,f);

    //Write Bitmap Rawdata
    fwrite(lastImage.GetBitmapRawData(),1,imageSize,f);


    —> ffmpeg ???

    PROBLEMS/QUESTIONS :

    1. How can I specify the rawvideo of the ffmpeg command respectively how can I specify my bitmap rawdata (with or without header ?) as the input of the FFMPEG ?

    2. Is the FFMPEG command correct ?

    If I fire the FFMPEG command in the terminal I get this error :

    vcodec : no such file or directory

    EDIT :
    In the first step, I will open the udp stream with the VLC player on my Android device. After that I will set up a FFserver to create a RTSP stream

  • ffmpeg timecode burn isn't correct with 29.97 video

    26 juin 2015, par Austin A.

    I have a 29.97fps video, and I’m trying to burn the timestamp onto the video in the middle of the frame. For debugging, I’m also putting the current frame number. Here’s my current ffmpeg pipeline :

    ffmpeg -i input.mkv -vf "drawtext=fontfile=FreeMono.ttf:
      timecode='00\:00\:00\:00': timecode_rate=2997/100: x=960: y=540:
      fontcolor=white: box=1: boxcolor=0x00000099,drawtext=fontfile=FreeMono.ttf:
      text='Frame %{n}': x=960: y=560: fontcolor=white: box=1:
      boxcolor=0x00000099" -c:v libx264 -crf 15 -preset fast -tune fastdecode
      output.mkv

    It looks like the timestamps burned into the video aren’t quite right, because the playback timer in VLC slowly gets out of sync, about 4 seconds per hour.

    When the playback timer gets to 10 minutes, I expect the frame count to be at 29.97 * 10 * 60 = 17982, and indeed it is. But the timestamp is 9:59 + 11 frames. This makes me think the timecode_rate is being interpreted as 30fps, since after 10 minutes, the difference between 30fps and 29.97fps is the missing 18 frames.

    I’ve tried timecode_rate=2997/100, timecode_rate=30000/1001, timecode_rate=29.97, and they all give the same results. timecode_rate=60 does change the timestamp’s behavior, so I know ffmpeg is listening to this parameter. It just doesn’t seem to want to write 29.97fps timestamps.

    Any ideas ?

  • x264enc plugin settings for VBV buffer

    11 juin 2015, par Dundar

    I am trying to implement VBV buffer in x264enc plugin in gstreamer. What I want to achieve is setting rc.i_vbv_max_bitrate to 10K and rc.i_vbv_buffer_size to 10K.
    However, what I see in the x264enc source code,

    encoder->x264param.rc.i_vbv_max_bitrate = encoder->bitrate;
    encoder->x264param.rc.i_vbv_buffer_size
         = encoder->x264param.rc.i_vbv_max_bitrate
         * encoder->vbv_buf_capacity / 1000;

    Here is my settings :

    g_object_set(G_OBJECT(_videoEncoder),
                    "tune",             (guint)4,
                    "speed-preset",     (guint)1,
                    "byte-stream",      (gboolean)TRUE,
                    "bitrate",          (guint) 10000,
                    "vbv-buf-capacity", (guint) 1000,
                    "intra-refresh",    (gboolean)TRUE,
                    NULL);

    Do you see anything wrong in this ? tune=4 means ultrafast, speed-preset=1 means zerolatency right ?

    Thanks.