Recherche avancée

Médias (1)

Mot : - Tags -/berlin

Autres articles (34)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

Sur d’autres sites (7817)

  • FFmpeg problems with playing a stream

    13 avril 2021, par Niko

    I want to play a stream over network. While my server works I can't get it working receiving audio on client. It's router with openwrt installed and usb soundcard.

    


    When i run
ffmpeg -i "udp://@:5555" -f alsa hw:0 i get a following error

    


    [NULL @ 0x76b2b390] Requested output format 'alsa' is not a suitable output format
hw:0: Invalid argument


    


    What's wrong with my command ?
On router there is limited space. I hardly handled to install ffmpeg.

    


    There is complete log :

    


    root@LEDE:/proc/asound# ffmpeg -i "udp://@:5555" -f alsa hw:0
ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.4.0 (LEDE GCC 5.4.0 r3101-bce140e)
  configuration: --enable-cross-compile --cross-prefix=mips-openwrt-linux-musl- --arch=mips --target-os=linux --prefix=/usr --pkg-config=pkg-config --enable-shared --enable-static --enable-small --enable-pthreads --enable-zlib --disable-doc --disable-debug --enable-gpl --enable-version3 --disable-dxva2 --disable-lzma --disable-vaapi --disable-vda --disable-vdpau --disable-outdevs --disable-altivec --disable-vsx --disable-power8 --disable-amd3dnow --disable-amd3dnowext --disable-mmx --disable-mmxext --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-avx --disable-xop --disable-fma3 --disable-fma4 --disable-avx2 --disable-aesni --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-inline-asm --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-msa --disable-mmi --disable-fast-unaligned --disable-runtime-cpudetect --disable-yasm --enable-libopus --enable-decoder=libopus --enable-libx264 --enable-libmp3lame
  libavutil      55. 34.100 / 55. 34.100
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.100 / 57. 56.100
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
Input #0, mpegts, from 'udp://@:5555':
  Duration: N/A, start: 1.400000, bitrate: 384 kb/s
  Program 1 
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Audio: mp2 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, s16p, 384 kb/s
[NULL @ 0x76b2b390] Requested output format 'alsa' is not a suitable output format
hw:0: Invalid argument


    


  • Why does the official LibAV 12 video example not work properly ?

    11 avril 2021, par TheNeuronalCoder

    I would say the title is quite self-explanatory, but I nearly completely copied the example given by LibAV right here and yet the output video it produced was not playable. Why is it not playable ? Am I using the wrong file extension ? I do not understand what I could have possibly done wrong here and there's little to no documentation I could find for how to encode mp4 video in C++.

    


    #include &#xA;#include &#xA;#include &#xA;#include "libavcodec/avcodec.h"&#xA;#include "libavutil/frame.h"&#xA;#include "libavutil/imgutils.h"&#xA;&#xA;static void encode(AVCodecContext *enc_ctx, AVFrame *frame, AVPacket *pkt, FILE *outfile) {&#xA;    int ret;&#xA;    ret = avcodec_send_frame(enc_ctx, frame);&#xA;    if (ret &lt; 0) {&#xA;        fprintf(stderr, "error sending a frame for encoding\n");&#xA;        exit(1);&#xA;    }&#xA;    while (ret >= 0) {&#xA;        ret = avcodec_receive_packet(enc_ctx, pkt);&#xA;        if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)&#xA;            return;&#xA;        else if (ret &lt; 0) {&#xA;            fprintf(stderr, "error during encoding\n");&#xA;            exit(1);&#xA;        }&#xA;        printf("encoded frame %3"PRId64" (size=%5d)\n", pkt->pts, pkt->size);&#xA;        fwrite(pkt->data, 1, pkt->size, outfile);&#xA;        av_packet_unref(pkt);&#xA;    }&#xA;}&#xA;&#xA;int main() {&#xA;    const char *filename = "animation.mp4";&#xA;    const AVCodec *codec;&#xA;    AVCodecContext *c = NULL;&#xA;    int i, ret, x, y;&#xA;    FILE *f;&#xA;    AVFrame *picture;&#xA;    AVPacket *pkt;&#xA;    uint8_t endcode[] = { 0, 0, 1, 0xb7 };&#xA;    if (argc &lt;= 1) {&#xA;        fprintf(stderr, "Usage: %s <output file="file">\n", argv[0]);&#xA;        exit(0);&#xA;    }&#xA;    avcodec_register_all();&#xA;    codec = avcodec_find_encoder(AV_CODEC_ID_MPEG1VIDEO);&#xA;    if (!codec) {&#xA;        fprintf(stderr, "codec not found\n");&#xA;        exit(1);&#xA;    }&#xA;    c = avcodec_alloc_context3(codec);&#xA;    picture = av_frame_alloc();&#xA;    pkt = av_packet_alloc();&#xA;    if (!pkt)&#xA;        exit(1);&#xA;    c->bit_rate = 400000;&#xA;    c->width = 352;&#xA;    c->height = 288;&#xA;    c->time_base = (AVRational){1, 25};&#xA;    c->framerate = (AVRational){25, 1};&#xA;    c->gop_size = 10;&#xA;    c->max_b_frames=1;&#xA;    c->pix_fmt = AV_PIX_FMT_YUV420P;&#xA;    if (avcodec_open2(c, codec, NULL) &lt; 0) {&#xA;        fprintf(stderr, "could not open codec\n");&#xA;        exit(1);&#xA;    }&#xA;    f = fopen(filename, "wb");&#xA;    if (!f) {&#xA;        fprintf(stderr, "could not open %s\n", filename);&#xA;        exit(1);&#xA;    }&#xA;    picture->format = c->pix_fmt;&#xA;    picture->width  = c->width;&#xA;    picture->height = c->height;&#xA;    ret = av_frame_get_buffer(picture, 32);&#xA;    if (ret &lt; 0) {&#xA;        fprintf(stderr, "could not alloc the frame data\n");&#xA;        exit(1);&#xA;    }&#xA;&#xA;    for(i=0;i&lt;25;i&#x2B;&#x2B;) {&#xA;        fflush(stdout);&#xA;        ret = av_frame_make_writable(picture);&#xA;        if (ret &lt; 0)&#xA;            exit(1);&#xA;&#xA;        for(y=0;yheight;y&#x2B;&#x2B;) {&#xA;            for(x=0;xwidth;x&#x2B;&#x2B;) {&#xA;                picture->data[0][y * picture->linesize[0] &#x2B; x] = x &#x2B; y &#x2B; i * 3;&#xA;            }&#xA;        }&#xA;&#xA;        for(y=0;yheight/2;y&#x2B;&#x2B;) {&#xA;            for(x=0;xwidth/2;x&#x2B;&#x2B;) {&#xA;                picture->data[1][y * picture->linesize[1] &#x2B; x] = 128 &#x2B; y &#x2B; i * 2;&#xA;                picture->data[2][y * picture->linesize[2] &#x2B; x] = 64 &#x2B; x &#x2B; i * 5;&#xA;            }&#xA;        }&#xA;&#xA;        picture->pts = i;&#xA;        encode(c, picture, pkt, f);&#xA;    }&#xA;&#xA;    encode(c, NULL, pkt, f);&#xA;&#xA;    fwrite(endcode, 1, sizeof(endcode), f);&#xA;    fclose(f);&#xA;    avcodec_free_context(&amp;c);&#xA;    av_frame_free(&amp;picture);&#xA;    av_packet_free(&amp;pkt);&#xA;    return 0;&#xA;}&#xA;</output>

    &#xA;

  • FPS from RTSP stream info does not match actual framerate

    17 mai 2021, par Krapow

    I have a 25FPS RTSP stream coming from an IP-camera. I can successfully display the video stream. But when analyzing the stream with ffmpeg (ffprobe actually), I observe fewer frames per second rate :

    &#xA;

    $ ffprobe -rtsp_transport tcp -i rtsp://camera_ip:554/stream -select_streams v:0 -show_frames -show_entries frame=coded_picture_number,pkt_pts_time -of csv=p=0&#xA;Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 640x480, 25 fps, 25 tbr, 90k tbn, 50 tbc&#xA;0.400000,0&#xA;0.080000,1&#xA;0.120000,2&#xA;0.200000,3&#xA;0.240000,4&#xA;0.320000,5&#xA;0.360000,6&#xA;0.440000,7&#xA;0.480000,8&#xA;0.560000,9&#xA;0.600000,10&#xA;0.680000,11&#xA;0.720000,12&#xA;0.800000,13&#xA;0.840000,14&#xA;0.920000,15&#xA;0.960000,16&#xA;1.040000,17&#xA;1.080000,18&#xA;1.160000,19&#xA;1.200000,20&#xA;1.280000,21&#xA;1.320000,22&#xA;1.400000,23&#xA;1.440000,24&#xA;1.520000,25&#xA;1.560000,26&#xA;1.640000,27&#xA;1.680000,28&#xA;1.760000,29&#xA;1.800000,30&#xA;1.880000,31&#xA;1.920000,32&#xA;2.000000,33&#xA;

    &#xA;

    We can clearly see the 80ms gap between some of the frames, resulting in a 16fps stream.

    &#xA;

    I have observed the same framerate issue with GStreamer (printing information in the rtpjitterbuffer indicates the frame gap is sometimes 80ms and sometimes 40ms). But the weird thing is, I encountered the same issue with an HDMI-RJ45 decoder, and I doubt the same issue comes from 2 different devices.&#xA;I didn't get much more informations using -loglevel debug or trace.&#xA;Does anybody have an idea about what is going wrong in the stream ?

    &#xA;

    (I used ffprobe 4.2.3 and the last "2021-05-09-git-8649f5dca6-full_build-www.gyan.dev" with the same results, and GStreamer 1.16.2 with a pipeline like "urisourcebin ! h264depay ! h264parse ! fakesink")

    &#xA;

    EDIT : The camera skipping of frames was caused by the activation of a third stream in the options. I find it really weird that it skips exactly the same frames every seconds. However, I still haven't found the cause of the downrate on my RTSP encoder.&#xA;Anyway, this was actually hardware related and not software related.

    &#xA;