Recherche avancée

Médias (0)

Mot : - Tags -/interaction

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

Autres articles (94)

  • 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

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

Sur d’autres sites (7322)

  • How to convert a Video to a Slideshow with synced audio ? [closed]

    25 mai 2013, par Henry Mazza

    I want a simple way to convert a Ted Talk Presentation to a SlideShow + (synced)Audio format so I can listen to it in my car. I don't want to lose most of the visuals as it does in the audio format and also want to reduce the storage/cell data needs of the video format.

    So far I already extracted the key scenes with timing and the audio, now I must glue this together in a synced fashion.

    Possible ways I found but couldn't make work :

    • MP4Box to make a .m4b (audiobook/enhanced podcast) with mp4chap to set each image as a chapter image (but I could find proper documentation on how to do this)
    • FFMPEG to make a flat movie with the images (but I couldn't make each image stay for a random period of time)

    Ultimately I will automate this process in my VPS and make my private podcast server, so no fancy tools that don't work in Linux, please.

    EDIT : actually the Podcast is a lousy idea, the artwork must be in a square aspect ratio and has great compatibility problems with varius players. Still studing the Book format.

  • ffmpeg API h264 encoded video does not play on all platforms

    19 juillet 2012, par TheSHEEEP

    Edit : In the previous version I used a very old ffmpeg API. I now use the newest libraries. The problem has only changed slightly, from "Main" to "High".

    I am using the ffmpeg C API to create a mp4 video in C++.

    I want the resulting video to be of the profile "Constrained Baseline", so that the resulting video can be played on as much platforms as possible, especially mobile, but I get "High" profile every time, even though I hard coded the codec profile to be FF_PROFILE_H264_CONSTRAINED_BASELINE. As a result, the video does not play on all our testing platforms.

    This is what "ffprobe video.mp4 -show_streams" tells about my video streams :

     Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 1970-01-01 00:00:00
    encoder         : Lavf53.5.0
     Duration: 00:00:13.20, start: 0.000000, bitrate: 553 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 320x180,
    424 kb/s, 15 fps, 15 tbr, 15 tbn, 30 tbc
    Metadata:
     creation_time   : 1970-01-01 00:00:00
     handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 12
    kb/s
    Metadata:
     creation_time   : 1970-01-01 00:00:00
     handler_name    : SoundHandler
    -------VIDEO STREAM--------
    [STREAM]
    index=0
    codec_name=h264
    codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10

    profile=High <-- This should be "Constrained Baseline"

    codec_type=video
    codec_time_base=1/30
    codec_tag_string=avc1
    codec_tag=0x31637661
    width=320
    height=180
    has_b_frames=0
    sample_aspect_ratio=N/A
    display_aspect_ratio=N/A
    pix_fmt=yuv420p
    level=30
    timecode=N/A
    is_avc=1
    nal_length_size=4
    id=N/A
    r_frame_rate=15/1
    avg_frame_rate=15/1
    time_base=1/15
    start_time=0.000000
    duration=13.200000
    bit_rate=424252
    nb_frames=198
    nb_read_frames=N/A
    nb_read_packets=N/A
    TAG:creation_time=1970-01-01 00:00:00
    TAG:language=und
    TAG:handler_name=VideoHandler
    [/STREAM]
    -------AUDIO STREAM--------
    [STREAM]
    index=1
    codec_name=aac
    codec_long_name=Advanced Audio Coding
    profile=unknown
    codec_type=audio
    codec_time_base=1/44100
    codec_tag_string=mp4a
    codec_tag=0x6134706d
    sample_fmt=s16
    sample_rate=44100
    channels=2
    bits_per_sample=0
    id=N/A
    r_frame_rate=0/0
    avg_frame_rate=0/0
    time_base=1/44100
    start_time=0.000000
    duration=13.165714
    bit_rate=125301
    nb_frames=567
    nb_read_frames=N/A
    nb_read_packets=N/A
    TAG:creation_time=1970-01-01 00:00:00
    TAG:language=und
    TAG:handler_name=SoundHandler
    [/STREAM]

    This is the function I use to add a video stream. All the values that come from ptr-> are defined from outside, do those values have to be specific values to get the correct profile ? :

    static AVStream *add_video_stream( Cffmpeg_dll * ptr, AVFormatContext *oc, enum   CodecID codec_id )
    {
    AVCodecContext *c;
    AVStream *st;  
    AVCodec* codec;

    // Get correct codec
    codec = avcodec_find_encoder(codec_id);
    if (!codec) {
       av_log(NULL, AV_LOG_ERROR, "%s","Video codec not found\n");
       exit(1);
    }

    // Create stream
    st = avformat_new_stream(oc, codec);
    if (!st) {
       av_log(NULL, AV_LOG_ERROR, "%s","Could not alloc stream\n");
       exit(1);
    }

    c = st->codec;

    /* Get default values */
    codec = avcodec_find_encoder(codec_id);
    if (!codec) {
       av_log(NULL, AV_LOG_ERROR, "%s","Video codec not found (default values)\n");
       exit(1);
    }
    avcodec_get_context_defaults3(c, codec);

    c->codec_id = codec_id;
    c->codec_type = AVMEDIA_TYPE_VIDEO;

    c->bit_rate = ptr->video_bit_rate;
    av_log(NULL, AV_LOG_ERROR, " Bit rate: %i", c->bit_rate);

       c->qmin = ptr->qmin;
       c->qmax = ptr->qmax;
       c->me_method = ptr->me_method;
       c->me_subpel_quality = ptr->me_subpel_quality;
       c->i_quant_factor = ptr->i_quant_factor;
       c->qcompress = ptr->qcompress;
       c->max_qdiff = ptr->max_qdiff;

       // We need to set the level and profile to get videos that play (hopefully) on all platforms
       c->level = 30;
       c->profile = FF_PROFILE_H264_CONSTRAINED_BASELINE;

    c->width = ptr->dstWidth;
    c->height = ptr->dstHeight;

    c->time_base.den = ptr->fps;
    c->time_base.num = 1;
    c->gop_size = ptr->fps;
    c->pix_fmt = STREAM_PIX_FMT;
    c->max_b_frames = 0;

    // some formats want stream headers to be separate
    if(oc->oformat->flags & AVFMT_GLOBALHEADER)
       c->flags |= CODEC_FLAG_GLOBAL_HEADER;

    return st;
    }

    Additional info :

    As a reference video, I use the gizmo.mp4 that Mozilla serves as an example that plays on every platform/browser. It definitely has the "Constrained Baseline" profile, and definitely works on all our testing smartphones. You can download it here. Our self-created video doesn't work on all platforms and I'm convinced this is because of the profile.

    I am also using qt-faststart.exe to move the headers to the start of the file after creating the mp4, as this cannot be done in a good way in C++ directly. Could that be the problem ?

    Obviously, I am doing something wrong, but I don't know what it could be. I'd be thankful for every hint ;)

  • Open .avi with OpenCV 2.4 & Ubuntu 11.04

    25 juin 2012, par CTZStef

    I try to open and read video files in .avi format using OpenCV. Here is my code :

    void MainWindow::on_actionOuvrir_fichier_triggered()
    140    +   {
    141    +    //mettre a -1 streamId
    142    +    streamId = -1;
    143    +    //ouvrir fenetre navigation fichiers pour recuperer path vers .avi
    144    +    QString fileName = QFileDialog::getOpenFileName(this,tr("Ouvrir fichier video"),"/home",
    145    +    tr("Videos (*.avi)"));
    146    +    std::string utf8_text = fileName.toUtf8().constData();
    147    +    //ouvrir .avi
    148    +    capture = new VideoCapture(utf8_text);
    149    +    //check ouverture
    150    +    if(!capture->isOpened())
    151    +    cout << "probleme ouverture fichier video" << endl;
    152    +    //calculer delay between each frame in ms
    153    +    rate = capture->get(CV_CAP_PROP_FPS);
    154    +    delay = 1000 / rate;
    155    +    //demarrer timer recordId
    156    +    recordId = startTimer(delay);
    157    +    //capture premiere frame
    158    +    if(!capture->read(in))
    159    +    cout << "probleme lecture frame fichier video" << endl;
    160    +   }

    I get no problem at compilation time, but I can't open a video file. While in debug mode I saw that string utf8_text had the good absolute path to my video, so obviously the problem comes from the constructor of the VideoCapture object. Then, I tried to install every codec pack I could or thought was relevant. But the problem is still there, capture->isOpened() still returns false, and in debug mode I can see that capture contains nothing.

    I am lost here, don't know what to try next. Any idea ??

    Thanks !!!

    [EDIT]
    Just in case, here is the output of ffmpeg -i myFile.avi

    faraday@faraday-Compaq-Evo-D510-e-pc:~/QtProjects/visionDev$ ffmpeg -i 1.avi
    FFmpeg version 0.6.6-4:0.6.6-0ubuntu0.11.04.1, Copyright (c) 2000-2010 the Libav developers
     built on Jun 12 2012 16:28:21 with gcc 4.5.2
     configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
     WARNING: library configuration mismatch
     libavutil   configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavcodec  configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavformat configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavdevice configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavfilter configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libswscale  configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libpostproc configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavutil     50.15. 1 / 50.15. 1
     libavcodec    52.72. 2 / 52.72. 2
     libavformat   52.64. 2 / 52.64. 2
     libavdevice   52. 2. 0 / 52. 2. 0
     libavfilter    1.19. 0 /  1.19. 0
     libswscale     0.11. 0 /  0.11. 0
     libpostproc   51. 2. 0 / 51. 2. 0
    Input #0, avi, from '1.avi':
     Duration: 00:02:35.39, start: 0.000000, bitrate: 110595 kb/s
       Stream #0.0: Video: rawvideo, bgr24, 640x480, 15 tbr, 15 tbn, 15 tbc
    At least one output file must be specified

    I do not see anything wrong here, but I thought maybe someone will.

    I really need this to work soon, and right now it's a dead end...

    thanks

    [EDIT 2]

    I have just read this in the book OpenCV 2 Computer Vision Application Programming Cookbook by R. Laganiere :

    It is important to note that in order to open the specified video
    file, your computer must have the corresponding codec installed,
    otherwise cv::VideoCapture will not be able to understand the input
    file. Normally, if you are able to open your video file with a video
    player on your machine (such as the Windows Media Player), then OpenCV
    should also be able to read this file.

    Well, on my machine it is not that easy mister Laganiere... I hate this book.