Recherche avancée

Médias (2)

Mot : - Tags -/media

Autres articles (103)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

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

  • How to match precompiled static library's debugging symbols to source code with Xcode 5 ?

    21 septembre 2013, par Chris Ballinger

    I have to compile FFmpeg for iOS using an external build script, but when I am debugging I see assembler if I delve too deep into libavformat library functions :

    0x109a73:  cmpl   $0, 1192(%ebp)
    0x109a7a:  jns    0x109a86                  ; mov_write_header + 198 at movenc.c:3539
    0x109a7c:  movl   $1, 1192(%ebp)
    0x109a86:  movl   16(%ebp), %eax
    0x109a89:  cmpl   $0, 84(%eax)
    0x109a8d:  movl   %edx, %ecx
    0x109a8f:  jne    0x109ad9                  ; mov_write_header + 281 at movenc.c:3548
    0x109a91:  testb  $2, 48(%ecx)
    0x109a95:  jne    0x109ac1                  ; mov_write_header + 257 at movenc.c:3541

    There are clear debugging symbols left behind which would lead me to believe that there should be some way to tell Xcode the location of this source code to allow easier debugging.

    Is this even possible ?

    edit : I found a related question here No symbols/source for external library in Xcode 4

    So when I run xcrun dwarfdump libavformat.a | grep "\.c" I get a bunch of results like this :

    AT_decl_file( "libavformat/movenc.c" )

    So I tried putting the relevant source files in folders relative to both the .a file and my .xcodeproj file, but neither of those methods worked. Full source code is available here : https://github.com/openwatch/livestreamer-ios

    edit2 : I found another question about how to set the source mapping for lldb but I'm not quite sure what to do... LLDB equivalent of gdb "directory" command for specifying source search path ?

    It seems like I might need to do

    (lldb) settings set target.source-map libavformat/movenc.c /path/to/libavformat/movenc.c

    for every file I need ?

  • Next pts does not match previous pts plus duration when transcoding an AAC audio with ffmpeg

    17 septembre 2021, par b1sub

    In my understanding, the following statement must hold :

    


    next pts = previous pts + duration


    


    But, I got this list of PTSes from ffprobe that looks odd to me :

    


    <packet pts="63000" duration="2089">&#xA;<packet pts="65070" duration="2089">&#xA;<packet pts="67140" duration="2089">&#xA;<packet pts="69300" duration="2089">&#xA;<packet pts="71370" duration="2089">&#xA;<packet pts="73440" duration="2089">&#xA;<packet pts="75510" duration="2089">&#xA;<packet pts="77670" duration="2089">&#xA;</packet></packet></packet></packet></packet></packet></packet></packet>

    &#xA;

    The corresponding PTS gaps are as follows. You can see none of the below gaps matches 2089 :

    &#xA;

    63000 &lt;> 65070: 2070&#xA;65070 &lt;> 67140: 2070&#xA;67140 &lt;> 69300: 2160&#xA;69300 &lt;> 71370: 2070&#xA;71370 &lt;> 73440: 2070&#xA;73440 &lt;> 75510: 2070&#xA;75510 &lt;> 77670: 2160&#xA;

    &#xA;

    I have no deep understanding of AAC or transcoding, so I talked with some random guy on #ffmpeg. As per what he said, the gap should be a fixed value :

    &#xA;

    20:01 -!- Icedream [~icedream@hzn-b.serverkomplex.de] has quit [Quit: A lol made me boom.]&#xA;20:02 &lt; DeHackEd> I would expect them to increment at a constant rate, since AAC (which is probably what you&#x27;re using) uses fixed size&#xA;                  audio chunks. But that&#x27;s very inconsistent&#xA;20:03 &lt; DeHackEd> (&#x2B;/- 1 pts number would be acceptable)&#xA;

    &#xA;

    To tell you the truth, this is a problematic video, but not in a way you would expect. I'm getting intermittent audio clipping sound, if two or more audio packets are crammed into a single PES packet. What's special about this configuration is that, the player must guess PTSes for the trailing audio packets except the first one. Since the PTS gaps are not consistent, the player must have used wrong PTSes for the trailing ones, and this looks to me like the cause.

    &#xA;

    But, what could be the trigger ? Here are some contexts you can kindly refer to :

    &#xA;

      &#xA;
    • the original video has no surprising PTS gap. This is the result from my custom-made script to extract all unique gaps :
    • &#xA;

    &#xA;

    $ ./foo.sh ./original.flv&#xA;diff 296448 occurs at 296448 // just a first packet (=has no previous packet)&#xA;diff 24 occurs at 296472&#xA;diff 23 occurs at 296495&#xA;

    &#xA;

      &#xA;
    • this is the command I used for transcoding :
    • &#xA;

    &#xA;

    $FFMPEG -hide_banner -loglevel info -nostats \&#xA;    -i $input \&#xA;    -map "[out1]" -c:v libx264 -r 30 -force_key_frames "expr:gte(t, n_forced*$keyFrameInterval)" -preset veryfast -vprofile high -minrate 4.5M -maxrate 6M -bufsize 6M \&#xA;    -map 0:a -c:a aac -b:a:1 128K -af "aformat=sample_rates=44100|48000:channel_layouts=stereo" \&#xA;    -map 0:a -c:a aac -b:a:2 32K -af "aformat=sample_rates=44100|48000:channel_layouts=stereo" \&#xA;    -f mpegts -tune zerolatency pipe:1 > \&#xA;        >($FFMPEG -hide_banner -loglevel info -nostats \&#xA;            -i - \&#xA;            -map 0:v -c:v copy -map 0:1 -c:a copy -bsf:a aac_adtstoasc -tune zerolatency -f flv -max_muxing_queue_size 1024 ${output}_1080 \&#xA;            -map 0:v -s $(width 1280 720 $orientation)x$(height 1280 720 $orientation) -c:v libx264 -r 30 -force_key_frames "expr:gte(t, n_forced*$keyFrameInterval)" -preset veryfast -vprofile high -minrate 3M -maxrate 4M -bufsize 4M -map 0:1 -c:a copy -bsf:a aac_adtstoasc -f flv -tune zerolatency -max_muxing_queue_size 1024 ${output}_720 \&#xA;            ...&#xA;

    &#xA;

  • ffmpeg : Time information does not match video duration

    8 novembre 2017, par Harry Developer

    I’m using tvheadend to record broadcasts to disc (running ubuntu). Later, I’m playing the files using players like MX Videoplayer or IJK player. Sometimes, the time information of the media files is weired. E.g., using

    ffprobe -i some-file.ts

    shows a lenght of 10 hours or even 20 hours, although the recording is only 2 hours long. Is this a ffmpeg bug ? What can be done to get the correct media length ?

    Here is the ffprobe output of the original file after recording it on disc :

    ffprobe version N-85175-ga434657 Copyright (c) 2007-2017 the FFmpeg developers
     built with gcc 4.9.2 (Raspbian 4.9.2-10)
     configuration:
     libavutil      55. 59.100 / 55. 59.100
     libavcodec     57. 90.100 / 57. 90.100
     libavformat    57. 72.100 / 57. 72.100
     libavdevice    57.  7.100 / 57.  7.100
     libavfilter     6. 83.100 /  6. 83.100
     libswscale      4.  7.100 /  4.  7.100
     libswresample   2.  8.100 /  2.  8.100
    [mp3 @ 0x24caef0] Header missing
    [mpeg2video @ 0x24817b0] Invalid frame dimensions 0x0.
    [mp3 @ 0x24caef0] Header missing
       Last message repeated 1 times
    [mpeg2video @ 0x24817b0] Invalid frame dimensions 0x0.
       Last message repeated 3 times
    [mp3 @ 0x24caef0] Header missing
       Last message repeated 1 times
    [mpeg2video @ 0x24817b0] Invalid frame dimensions 0x0.
       Last message repeated 1 times
    [mp3 @ 0x24caef0] Header missing
       Last message repeated 1 times
    [mpeg2video @ 0x24817b0] Invalid frame dimensions 0x0.
       Last message repeated 1 times
    [mp3 @ 0x24caef0] Header missing
       Last message repeated 1 times
    [mpeg2video @ 0x24817b0] Invalid frame dimensions 0x0.
    [mp3 @ 0x24caef0] Header missing
       Last message repeated 9 times
    [mpeg2video @ 0x24817b0] Invalid frame dimensions 0x0.
       Last message repeated 1 times
    [mp3 @ 0x24caef0] Header missing
       Last message repeated 1 times
    [mpeg2video @ 0x24817b0] Invalid frame dimensions 0x0.
    [mp3 @ 0x24caef0] Header missing
       Last message repeated 11 times
    [mpeg2video @ 0x24817b0] Invalid frame dimensions 0x0.
    [mp3 @ 0x24caef0] Header missing
       Last message repeated 318 times
    [mpegts @ 0x247cd40] decoding for stream 4 failed
    [mpegts @ 0x247cd40] start time for stream 3 is not set in estimate_timings_from_pts
    [mpegts @ 0x247cd40] PES packet size mismatch
       Last message repeated 2 times
    [mpegts @ 0x247cd40] Could not find codec parameters for stream 4 (Audio: mp3, 0 channels, s16p): unspecified frame size
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    Input #0, mpegts, from '30d0b11f21ce831b56cc306d9c4a18c0.backup':
     Duration: 10:03:33.54, start: 60774.296367, bitrate: 1883 kb/s
     Program 12101
       Metadata:
         service_name    : ?RTL Television
         service_provider: ?Unitymedia
       Stream #0:0[0x20b]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x20c](ger): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:2[0x20d](ger): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 384 kb/s
    Stream #0:3[0x60f](ger): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
     No Program
    Stream #0:4[0x210]: Audio: mp3, 0 channels, s16p

    Here is the output of ffprobe somefile -show_entries stream=index,start_time,duration -of compact -v 0 :

    program|stream|index=0|start_time=88858.718567|duration=8129.120000
    stream|index=1|start_time=88858.104267|duration=8129.496000
    stream|index=2|start_time=88858.104289|duration=8129.498833
    stream|index=3|start_time=60774.296367|duration=36213.542200

    stream|index=0|start_time=88858.718567|duration=8129.120000
    stream|index=1|start_time=88858.104267|duration=8129.496000
    stream|index=2|start_time=88858.104289|duration=8129.498833
    stream|index=3|start_time=60774.296367|duration=36213.542200
    stream|index=4|start_time=60774.296367|duration=8129.520000