Recherche avancée

Médias (1)

Mot : - Tags -/framasoft

Autres articles (69)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Changer son thème graphique

    22 février 2011, par

    Le thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
    Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
    Modifier le thème graphique utilisé
    Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
    Il suffit ensuite de se rendre dans l’espace de configuration du (...)

Sur d’autres sites (11847)

  • avformat/mpegts : parse sections with multiple tables

    9 mai 2018, par Aman Gupta
    avformat/mpegts : parse sections with multiple tables
    

    Fixes PMT parsing in some mpegts streams which contain
    multiple tables within the PMT pid. Previously, the parser
    assumed only one table was present in each packet, and discarded
    the rest of the section data after attempting to parse the first
    table.

    A similar issue was documented in the BeyondTV software[1], which
    helped me diagnose the same bug in the ffmpeg mpegts demuxer. I also
    tried DVBInspector, libdvbpsi's dvbinfo, and tstools' tsinfo to
    help debug. The former two properly read PMTs with multiple tables,
    whereas the last has the same bug as ffmpeg.

    I've created a minimal sample[2] which contains the combined PMT.
    Here's what ffmpeg probe shows before and after this patch :

    Before :

    Input #0, mpegts, from 'combined-pmt-tids.ts' :
    Duration : 00:00:01.08, start : 4932.966167, bitrate : 741 kb/s
    Program 1
    No Program
    Stream #0:0[0xf9d] : Audio : ac3, 48000 Hz, mono, fltp, 96 kb/s
    Stream #0:1[0xf9b] : Audio : mp3, 0 channels, fltp
    Stream #0:2[0xf9c] : Unknown : none

    After :

    Input #0, mpegts, from 'combined-pmt-tids.ts' :
    Duration : 00:00:01.11, start : 4932.966167, bitrate : 718 kb/s
    Program 1
    Stream #0:0[0xf9b] : Video : mpeg2video ([2][0][0][0] / 0x0002), none(tv, top first), 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc
    Stream #0:1[0xf9c](eng) : Audio : ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:2[0xf9d](spa) : Audio : ac3 (AC-3 / 0x332D4341), 48000 Hz, mono, fltp, 96 kb/s

    With the patch, the PMT is parsed correctly so the streams are
    created in the correct order, are associated with "Program 1",
    and their codecs are set correctly.

    [1] http://forums.snapstream.com/vb/showpost.php?p=343816&postcount=201
    [2] https://s3.amazonaws.com/tmm1/combined-pmt-tids.ts

    Signed-off-by : Aman Gupta <aman@tmm1.net>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/mpegts.c
  • ffmpeg avformat_open_input() function causes memory leak when receiving live stream

    12 septembre 2023, par george_d

    I have live streams (can be UDP or HLS, video codec is H264), from which I grab frames for further processing.

    &#xA;

    For this purpose, I use ffmpeg + nvjpeg + cuda libraries.

    &#xA;

    However I noticed memory leak - memory usage periodically (every 10-20 seconds) is increased by 100-400 KB, the amount and period may vary.

    &#xA;

    After disabling pieces of code one by one, I realized that it is avformat_open_input() which causes memory leak.

    &#xA;

    No matter which buffer settings (https://ffmpeg.org/ffmpeg-protocols.html#udp) I choose for UDP, the leak still persists. Same goes for HLS streams.

    &#xA;

    I tried to find anything related to this problem, but all the sources I found claimed that this problem took place in the past and has been fixed.

    &#xA;

    Is there some mysterious setting I am missing, so that memory could be freed properly ?

    &#xA;

    Or is this memory supposed to be freed when processing frames (i.e. using av_read_frame() and av_packet_unref(), etc) ?

    &#xA;

    Minimal example of code to reproduce the problem :

    &#xA;

    avformat_example.cpp

    &#xA;

    #include &#xA;extern "C" {&#xA;    #include <libavformat></libavformat>avformat.h>&#xA;    #include <libavcodec></libavcodec>avcodec.h>&#xA;}&#xA;&#xA;int main(int argc, char *argv[]){&#xA;    if (argc &lt; 2) {&#xA;      return 1;&#xA;    }&#xA;&#xA;    char* inputSource = argv[1];&#xA;    AVFormatContext *ctx = NULL;&#xA;&#xA;    if (avformat_open_input(&amp;ctx, inputSource, NULL, NULL) != 0) {&#xA;        av_log(NULL,&#xA;               AV_LOG_ERROR,&#xA;               "Cannot open &#x27;%s&#x27;",&#xA;               inputSource);&#xA;        return 1;&#xA;    }&#xA;&#xA;    /*&#xA;    This loop is placed here to demonstrate&#xA;    avformat_open_input() causing leak.&#xA;    Actually, instead of noop loop there is logic of getting and processing frames,&#xA;    but it doesn&#x27;t matter now.&#xA;    As loop goes on, the amount of leaked memory increases.&#xA;    */&#xA;    while(true) {&#xA;      sleep(1);&#xA;    }&#xA;&#xA;    return 0;&#xA;}&#xA;

    &#xA;

    Compile with :

    &#xA;

    g&#x2B;&#x2B; avformat_example.cpp -lavcodec -lavutil -lavformat -I/usr/include/ffmpeg-cuda -o avformat_open_input_example&#xA;

    &#xA;

    Run :

    &#xA;

    ./avformat_open_input_example "udp://127.0.0.1:5000?reuse=1&amp;pkt_size=1316&amp;buffer_size=1310720&amp;fifo_size=40000"&#xA;

    &#xA;

    Version of ffmpeg underlying libraries :

    &#xA;

    libavutil      58.  7.100 / 58.  7.100&#xA;libavcodec     60. 11.100 / 60. 11.100&#xA;libavformat    60.  5.100 / 60.  5.100&#xA;libavdevice    60.  2.100 / 60.  2.100&#xA;libavfilter     9.  8.100 /  9.  8.100&#xA;libswscale      7.  2.100 /  7.  2.100&#xA;libswresample   4. 11.100 /  4. 11.100&#xA;

    &#xA;

  • Inconsistent behaviour of ffmpeg -i flag

    19 mai 2021, par zeebrah

    I'm trying to write a Bash script that would download an audio track from youtube and convert it to Apple ringtone format, which is .m4r. The tools I employ are youtube-dl and ffmpeg. The former seems to work fine but I have a strange issue with the latter. When I try to pass the name of the file parametrically, shell prints that file or directory can't be found.enter image description here

    &#xA;

    I use the same method for unwraping user input (or my defaults) for both commands but it only seems to work with youtube-dl.

    &#xA;

    Example of what doesn't work and print the text above. Obviously, all the files are in fact there and accessible

    &#xA;

    youtube-dl -i --extract-audio --audio-format m4a -o $filepath_interim  --audio-quality 0 $video_link&#xA;ffmpeg -i $filepath_interim -acodec copy -f ipod -ss $offset  -t $length $filepath_out&#xA;

    &#xA;

    So, I tried to do it with &#x27;&#x27; strings, $(command) syntax, it all failed. I only found one way to make it work, which is to hard code the values of the paths but this defeats the whole purpose of my script.

    &#xA;

    youtube-dl -i --extract-audio --audio-format m4a -o $filepath_interim  --audio-quality 0 $video_link&#xA;ffmpeg -i ~/Downloads/ringtone.m4a -acodec copy -f ipod -ss $offset  -t $length ~/Downloads/ringtone.m4r&#xA;

    &#xA;

    I want to figure out why this keeps happening, whether it is in any way specific to ffmpeg or am I just missing some piece of knowledge about $ name unwrapping.

    &#xA;

    Minimal Working Example. Run with bash or pack in script and run. If your path to bash is different, please change the shebang :

    &#xA;

    #!/usr/local/bin/bash&#xA;# initialise&#xA;filepath_interim="~/Downloads/ringtone.m4a"&#xA;filepath_out="~/Downloads/ringtone.m4r"&#xA;video_link="https://www.youtube.com/watch?v=dQw4w9WgXcQ"&#xA;offset=0&#xA;length=30&#xA;&#xA;# main part&#xA;youtube-dl -i --extract-audio --audio-format m4a -o $filepath_interim  --audio-quality 0 $video_link&#xA;ffmpeg -i $filepath_interim -acodec copy -f ipod -ss $offset  -t $length $filepath_out&#xA;

    &#xA;