Recherche avancée

Médias (91)

Autres articles (56)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • 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.

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (9927)

  • Can't open encoder when use libavcodec

    1er novembre 2013, par liuyanghejerry

    I'm using libavcodec, version 9.7, to write a simple demo, almost exactly like example in official example.

    However, I can't open encoder. Also, av_opt_set(context->priv_data, "preset", "slow", 0) always leads to crush.

    This is my code :

    // other code...
    int ret = 0;
    avcodec_register_all();
    AVCodec* codec = NULL;
    AVCodecContext* context = NULL;
    AVFrame* frame = NULL;
    uint8_t endcode[] = { 0, 0, 1, 0xb7 };
    codec = avcodec_find_encoder(AV_CODEC_ID_H264);
    if(!codec){
       qDebug()<<"cannot find encoder";
       return;
    }
    qDebug()<<"encoder found";

    context = avcodec_alloc_context3(codec);
    if(!context){
       qDebug()<<"cannot alloc context";
       return;
    }
    qDebug()<<"context allocted";

    context->bit_rate = 400000;
    /* resolution must be a multiple of two */
    context->width = 352;
    context->height = 288;
    /* frames per second */
    context->time_base= (AVRational){1,25};
    context->gop_size = 10; /* emit one intra frame every ten frames */
    context->max_b_frames=1;
    context->pix_fmt = AV_PIX_FMT_YUV420P;
    qDebug()<<"context init";

    // av_opt_set(context->priv_data, "preset", "slow", 0); // this will crush
    AVDictionary *d = NULL;
    av_dict_set(&d, "preset", "ultrafast",0); // this won't

    ret = avcodec_open2(context, codec, &d);
    if ( ret < 0) {
       qDebug()<<"cannot open codec"</ other code...

    This outputs :

    encoder found

    context allocted

    context init

    cannot open codec -22

    [libx264 @ 0340B340] [IMGUTILS @ 0028FC34] Picture size 0x10 is invalid

    [libx264 @ 0340B340] ignoring invalid width/height values

    [libx264 @ 0340B340] Specified pix_fmt is not supported

    I don't think the width/height is invalid and format there either. I have no idea what's wrong here.

    Any help. plz ?

  • Convert live stream of Rgba32 images and stream over RTP as H264 video stream

    7 juillet 2017, par Michael B

    Please bear with me as I’m relatively new to camera network streaming and ffmpeg.

    I’m currently receiving live IP camera stream as h264 over rtp via ffmpeg.autogen api code.

    We decode the live stream of frames as rgb24bpp and convert to writablebitmaps which we then apply some frame diagnostic markup consisting of text and rectangle filled background, and this is currently network streamed as encode jpegs from our server. Our client uses the Accord.Net framework receive a MJPEGstream to pull out the images and bind them as bitmaps to image source control in WPF front end to mimick a streaming video. This works well, but sending data over network like this is large.

    We’ve decided to look at moving away from mjpeg and instead use a higher compression format of h264.

    My aim is to compress and stream the marked up writable bitmaps over the network as compressed h264 video, as a live stream.

    Having done much research it seems it might be achievable my taking the source data of the writablebitmaps, which is RGBA32 raw data, convert this YUV and encode the yuv frames to h264 video. Below is a link that seems to demonstrate this conversion.

    https://github.com/codefromabove/FFmpegRGBAToYUV/blob/master/FFmpegRGBAToYUV/ConvertRGBA.cpp

    This example I think is what I need, but it is writing out to a video file, what I would like is to change the out of this example, so that it outputs as a video stream over network

    Is this achievable as a live stream ?

    Thanks

  • the ffmpeg library cannot open camera on android

    27 septembre 2013, par GilGaMesh

    I have successfully ported ffmpeg 2.0.1 lib to android. The code to open camera is very simple :

    AVFormatContext *fmt_ctx = NULL;
    AVInputFormat *input_fmt;

    input_fmt = av_find_input_format("video4linux2");
    if (input_fmt == NULL)
       return -1;

    char f_name[] = "/dev/video0";
    if ((ret = avformat_open_input(&fmt_ctx, f_name, input_fmt, NULL)) < 0)        // stuck here
    {
       LOG_D("can not open camera, ret = %d", ret);
       return ret;
    }

    the strange thing is the ret value is always negative with the following logcat output by av_log :

    09-26 15:27:48.901: E/Codec-FFMpeg(17716): ioctl(VIDIOC_G_PARM): Invalid argument

    I change the f_name to /dev/video1 and /dev/video2 (these files indeed exist on my tablet, and my tablet has 2 cameras) and the problems remains.
    Do i forget anything before calling avformat_open_input() ? Thank you !