Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (69)

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

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (10177)

  • How to embed subtitles into an mp4 file using gstreamer

    27 août 2021, par Stephen

    My Goal

    


    I'm trying to embed subtitles into an mp4 file using the mp4mux gstreamer element.

    


    What I've tried

    


    The pipeline I would like to use is :

    


    GST_DEBUG=3 gst-launch-1.0 filesrc location=sample-nosub-avc.mp4 ! qtdemux ! queue ! video/x-h264 ! mp4mux name=mux reserved-moov-update-period=1000 ! filesink location=output.mp4 filesrc location=english.srt ! subparse ! queue ! text/x-raw,format=utf8 ! mux.subtitle_0


    


    It just demuxes a sample mp4 file for the h.264 stream and then muxes it together with an srt subtitle file.

    


    The error I get is :

    


    Setting pipeline to PAUSED ...&#xA;0:00:00.009958915 1324869 0x5624a8c7a0a0 WARN                 basesrc gstbasesrc.c:3600:gst_base_src_start_complete:<filesrc0> pad not activated yet&#xA;Pipeline is PREROLLING ...&#xA;0:00:00.010128080 1324869 0x5624a8c53de0 WARN                 basesrc gstbasesrc.c:3072:gst_base_src_loop:<filesrc1> error: Internal data stream error.&#xA;0:00:00.010129102 1324869 0x5624a8c53e40 WARN                 qtdemux qtdemux_types.c:239:qtdemux_type_get: unknown QuickTime node type pasp&#xA;0:00:00.010140810 1324869 0x5624a8c53de0 WARN                 basesrc gstbasesrc.c:3072:gst_base_src_loop:<filesrc1> error: streaming stopped, reason not-negotiated (-4)&#xA;0:00:00.010172990 1324869 0x5624a8c53e40 WARN                 qtdemux qtdemux.c:3237:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1&#xA;ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc1: Internal data stream error.&#xA;Additional debug info:&#xA;gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc1:&#xA;streaming stopped, reason not-negotiated (-4)&#xA;ERROR: pipeline doesn&#x27;t want to preroll.&#xA;Setting pipeline to NULL ...&#xA;Freeing pipeline ...&#xA;</qtdemux0></filesrc1></filesrc1></filesrc0>

    &#xA;

    My Thoughts

    &#xA;

    I believe the issue is not related to the above warning but rather mp4mux's incompatibility with srt subtitles.

    &#xA;

    The reason I belive this is because, other debug logs hint at it, but also stealing the subititles from another mp4 file and muxing it back together does work.

    &#xA;

    gst-launch-1.0  filesrc location=sample-nosub-avc.mp4 ! qtdemux ! mp4mux name=mux ! filesink location=output.mp4 filesrc location=sample-with-subs.mp4 ! qtdemux name=demux demux.subtitle_1 ! text/x-raw,format=utf8 ! queue ! mux.subtitle_0&#xA;

    &#xA;

    A major catch 22 I am having is that mp4 files don't typically support srt subtitles, but gstreamer's subparse element doesn't support parsing mp4 subtitle formats (tx3g, ttxt, etc.) so I'm not sure how I'm meant to put it all together.

    &#xA;

    I'm very sorry for the lengthy question but I've tried many things so it was difficult to condense it. Any hints or help is appreciated. Thank you.

    &#xA;

  • How to encode multi audio streams with different options at the same time using ffmpeg

    20 mars 2012, par Luca Borrione

    I'm trying to encode a dvd using ffmpeg.

    $ffmpeg -i VTS_01_1.VOB
    Input #0, mpeg, from &#39;VTS_01_1.VOB&#39;:
    Duration: 00:38:06.52, start: 0.287267, bitrate: 3756 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 9800 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s
    Stream #0:2[0x81]: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s
    Stream #0:3[0x82]: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s
    Stream #0:4[0x83]: Audio: ac3, 48000 Hz, mono, s16, 96 kb/s
    Stream #0:5[0x28]: Subtitle: dvd_subtitle
    Stream #0:6[0x29]: Subtitle: dvd_subtitle
    Stream #0:7[0x23]: Subtitle: dvd_subtitle
    Stream #0:8[0x24]: Subtitle: dvd_subtitle
    Stream #0:9[0x26]: Subtitle: dvd_subtitle
    Stream #0:10[0x27]: Subtitle: dvd_subtitle

    From the above streams I'm interested in keeping two audio streams : number 1 and 4.
    As you can see the number 4 is already 96kbps so I tried to execute a command which could treat the two streams in a different way :

    cat VTS_01_1.VOB | nice ffmpeg -i - -s 640x368 -vcodec libtheora -r 25 -b:v 1200k -an -metadata title="My Title" -pass 1 -passlogfile "/media/data/outputlog" -f ogg -y /dev/null

    cat VTS_01_1.VOB | nice ffmpeg -i - -map 0:0 -s 640x368 -vcodec libtheora -r 25 -b:v 1200k -async 1 -metadata title="My Title" -map 0:1 -acodec libvorbis -ac 6 -ar 48000 -b:a 192k -metadata title="english" -map 0:4 -acodec libvorbis -ac 2 -ar 48000 -b:a 96k -metadata title="commented" -pass 2 -passlogfile "/media/data/outputlog" "/media/data/output.ogv"

    What I would like to obtain is :

    Input #0, ogg, from &#39;output.ogv&#39;:
    Duration: 00:38:07.20, start: 0.000000, bitrate: 1360 kb/s
    Stream #0:0: Video: theora, yuv420p, 640x368 [SAR 46:45 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
    Stream #0:1: Audio: vorbis, 48000 Hz, stereo, s16, 192 kb/s
    Stream #0:2: Audio: vorbis, 48000 Hz, stereo, s16, 96 kb/s

    Instead with the above command I obtain :

    Input #0, ogg, from &#39;output.ogv&#39;:
    Duration: 00:38:07.20, start: 0.000000, bitrate: 1360 kb/s
    Stream #0:0: Video: theora, yuv420p, 640x368 [SAR 46:45 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
    Stream #0:1: Audio: vorbis, 48000 Hz, stereo, s16, 96 kb/s
    Stream #0:2: Audio: vorbis, 48000 Hz, stereo, s16, 96 kb/s

    So how can I specify different params for multiple audio streams ?

    BTW : I'm on lubuntu oneiric with the latest ffmpeg from git

    ffmpeg version git-2012-03-05-1007a80 Copyright (c) 2000-2012 the FFmpeg developers
    built on Mar  5 2012 09:40:09 with gcc 4.6.1
    configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-x11grab --enable-libxvid --enable-libvpx
    libavutil      51. 41.100 / 51. 41.100
    libavcodec     54.  8.100 / 54.  8.100
    libavformat    54.  2.100 / 54.  2.100
    libavdevice    53.  4.100 / 53.  4.100
    libavfilter     2. 63.100 /  2. 63.100
    libswscale      2.  1.100 /  2.  1.100
    libswresample   0.  7.100 /  0.  7.100
    libpostproc    52.  0.100 / 52.  0.100

    Therefore the newaudio option is no more recognized

  • android ffmpeg error fatal signal 11

    10 décembre 2014, par AKUMA

    I’m using ffmpeg on Android. and Use RTSP webcam.

    I refer here.

    I get good video.

    But I receive error when I ended the video.

    Fatal signal 11 (SIGSEGV) at 0x8a7c0d04 (code=1), thread 2537 (Thread-13225)

    So I found the error using the log. But I don’t know why the error occurred.

    The code below is the location of the error.

    void closeMovie(){
     av_read_pause(gFormatCtx);
     if (gVideoBuffer != NULL) {
       free(gVideoBuffer);
       gVideoBuffer = NULL;
     }
     if (gFrame != NULL)
         av_free(gFrame);
     if (gFrameRGB != NULL)
         av_free(gFrameRGB);
     if (gVideoCodecCtx != NULL) {
         avcodec_close(gVideoCodecCtx);
         av_free(gVideoCodecCtx);
         gVideoCodecCtx = NULL;
     }
     if (gFormatCtx != NULL) {
         **av_close_input_file(gFormatCtx);** //here
         gFormatCtx = NULL;
     }
    }

    and

    void av_close_input_file(AVFormatContext *s)
    {
     AVIOContext *pb = (s->iformat->flags &amp; AVFMT_NOFILE) || (s->flags &amp; AVFMT_FLAG_CUSTOM_IO) ?
                      NULL : s->pb;
     **av_close_input_stream(s);**// here
     if (pb)
       avio_close(pb);
    }

    and

    void av_close_input_stream(AVFormatContext *s)
    {
       flush_packet_queue(s);
       if (s->iformat->read_close)
          **s->iformat->read_close(s);** //here
       avformat_free_context(s);
    }

    if //s->iformat->read_close(s); not crash

    But I can not open the video once more. Again to open the video I have to quit the app.

    Sorry, I can’t speak English very well.
    Thanks for reading.

    ps1. LogCat

    12-10 10:08:02.991: D/TAG(21770): TAG - closeMovie1 - in
    12-10 10:08:02.991: D/TAG(21770): TAG - avcodec_close - in
    12-10 10:08:02.991: D/TAG(21770): av_opt_free - on
    12-10 10:08:02.991: D/TAG(21770): av_opt_free - out
    12-10 10:08:02.991: D/TAG(21770): TAG - avcodec_close - out
    12-10 10:08:02.991: D/TAG(21770): TAG - av_close_input_file - in
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_close_input - in
    12-10 10:08:02.991: D/TAG(21770): TAG - flush_packet_queue -
    12-10 10:08:02.991: D/TAG(21770): flush_packet_queue - on
    12-10 10:08:02.991: D/TAG(21770): flush_packet_queue - out
    12-10 10:08:02.991: D/TAG(21770): TAG - s->iformat->read_close : 0
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_free_context
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_free_context - in
    12-10 10:08:02.991: D/TAG(21770): av_opt_free - on
    12-10 10:08:02.991: D/TAG(21770): av_opt_free - out
    12-10 10:08:02.991: D/TAG(21770): av_opt_free - on
    12-10 10:08:02.991: D/TAG(21770): av_opt_free - out
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_for_length s->nb_streams - 3
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_for_nb_streams - in
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_for_ nb_streams - out
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_for_nb_streams - in
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_for_ nb_streams - out
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_for_nb_streams - in
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_for_ nb_streams - out
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_for_length s->nb_programs-1 - -1
    12-10 10:08:02.991: D/TAG(21770): TAG - freep 1
    12-10 10:08:02.991: D/TAG(21770): TAG - freep 2
    12-10 10:08:02.991: D/TAG(21770): TAG - while
    12-10 10:08:02.991: D/TAG(21770): TAG - freep 3
    12-10 10:08:02.991: D/TAG(21770): TAG - dict_free 1
    12-10 10:08:02.991: D/TAG(21770): TAG - freep 4
    12-10 10:08:02.991: D/TAG(21770): TAG - freep 3
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_free_context - out
    12-10 10:08:02.991: D/TAG(21770): TAG - avio_close - in
    12-10 10:08:02.991: D/TAG(21770): TAG - avio_close - 1
    12-10 10:08:02.991: D/TAG(21770): TAG - avio_close - 2
    12-10 10:08:02.991: D/TAG(21770): TAG - avio_close - out
    12-10 10:08:02.991: D/TAG(21770): TAG - avio_close(pb) : 0
    12-10 10:08:02.991: D/TAG(21770): TAG - avio_close - in
    12-10 10:08:02.991: D/TAG(21770): TAG - avio_close - 1
    12-10 10:08:02.991: D/TAG(21770): TAG - avio_close - 2
    12-10 10:08:02.991: D/TAG(21770): TAG - avio_close - out
    12-10 10:08:02.991: D/TAG(21770): TAG - avformat_close_input - out
    12-10 10:08:02.991: D/TAG(21770): TAG - av_close_input_file - out
    12-10 10:08:02.991: D/TAG(21770): TAG - closeMovie1 - out
    12-10 10:08:03.151: D/AbsListView(21770): onVisibilityChanged() is called, visibility : 0
    12-10 10:08:03.151: D/AbsListView(21770): unregisterIRListener() is called
    12-10 10:08:03.201: D/AbsListView(21770): unregisterIRListener() is called
    12-10 10:08:03.221: D/AbsListView(21770): unregisterIRListener() is called
    12-10 10:08:03.241: A/libc(21770): Fatal signal 11 (SIGSEGV) at 0x8bb85698 (code=1), thread 21938 (Thread-23561)

    ps2.The order of the log.

    (BasicPlayer.c) closeMovie in->
    (utils.c) avcodec_close ->
    (utils.c) av_close_input_file ->
    (utils.c) avformat_close_input ->
    (utils.c) flush_packet_queue ->
    (utils.c) **s->iformat->read_close(s)** ->
    (utils.c) avformat_free_context ->
    (utils.c) avio_close(pb) ->
    (BasicPlayer.c) closeMovie out