Recherche avancée

Médias (91)

Autres articles (105)

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

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

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

Sur d’autres sites (11656)

  • Building C library (FFmpeg) with Android NDK r17 : undefined reference to '__mulodi4'

    14 mai 2018, par fpsulli3

    My problem happens to be with FFmpeg but I suspect that this would happen with almost any C library.

    Problem Description

    My app uses FFmpeg that is compiled with NDK r10e. I am trying to update everything to NDK r17, while also switching to clang, since Google prefers us to use that over gcc.

    My first step is to just build FFmpeg.

    To that end, I have used the make_standalone_toolchain.py script to create a stand-alone toolchain for the x86 architecture, like so :

    make_standalone_toolchain.py --arch x86 --api 21 --install-dir ~/Development/ndk-toolchains/x86

    Then I configure the FFmpeg build as follows :

    TOOLCHAIN_DIR=~/Development/ndk-toolchains/x86

    ./configure \
    --prefix=$(pwd)/android/x86 \
    --cross-prefix=$TOOLCHAIN_DIR/bin/i686-linux-android- \
    --target-os=android \
    --arch=x86 \
    --enable-cross-compile \
    --disable-asm \
    --toolchain=clang-usan \
    --disable-stripping \
    --extra-cflags="-m32" \
    --sysroot=$TOOLCHAIN_DIR/sysroot/

    And then I build it as follows :

    make clean
    make -j4
    make install

    Everything seems to compile fine, but I get several linker errors that all say the same thing :

    undefined reference to ’__mulodi4’

    Solutions I’ve tried

    1. Linking against libclang_rt.builtins*

    I found a few places around the Web which suggested that this is caused by the fact that libgcc doesn’t provide __mulodi4. A github user named sitsofe was nice enough to post a work-around here. However, I am sure where to find this libclang_rt.builtins-i686.a library. Here is what I was able to find in my standalone toolchain directory :

    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-x86_64.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-i386.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-aarch64-android.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-mips64-android.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-x86_64-android.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-i686-android.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-arm-android.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-mips-android.a

    The libclang_rt.builtins-i686-android.a library looks close but (I think) no cigar. When I try to link to it, I get the same error :

    undefined reference to ’__mulodi4’

    Here is my new FFmpeg build config command :

    ./configure \
    --prefix=$(pwd)/android/x86 \
    --cross-prefix=$TOOLCHAIN_DIR/bin/i686-linux-android- \
    --target-os=android \
    --arch=x86 \
    --enable-cross-compile \
    --disable-asm \
    --toolchain=clang-usan \
    --disable-stripping \
    --extra-cflags="-m32" \
    --extra-ldflags="-L${TOOLCHAIN_DIR}/lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-i686-android.a" \
    --sysroot=$TOOLCHAIN_DIR/sysroot/

    I checked with -v to make sure that this line was added to the linker flags, and it was. However, I have no idea if this library should even be expected to work, let alone whether I’m adding it to the linker flags correctly. In any case, what I’m doing here doesn’t work.

    2. Switching to a different sanitizer

    Instead of using the undefined sanitizer, I tried switching to the address sanitizer. This is (frankly) a total stab in the dark, based on a vague mention of asan being available in r17 at Google I/O this week.

    In this case, FFmpeg builds just fine !

    However, when I try to pull FFmpeg into my test project (a simple AAR w/ C++ support, that just has one jni method that calls av_gettime(), I get a ton of linker errors :

    Error:error : undefined reference to ’__asan_option_detect_stack_use_after_return’
    Error:error : undefined reference to ’__asan_stack_malloc_0’
    Error:error : undefined reference to ’__asan_report_load4’
    Error:error : undefined reference to ’__asan_report_load4’
    Error:error : undefined reference to ’__asan_shadow_memory_dynamic_address’
    Error:error : undefined reference to ’__asan_option_detect_stack_use_after_return’
    Error:error : undefined reference to ’__asan_stack_malloc_0’
    Error:error : undefined reference to ’__asan_report_load4’
    Error:error : undefined reference to ’__asan_report_load4’
    Error:error : undefined reference to ’__asan_shadow_memory_dynamic_address’
    Error:error : undefined reference to ’__asan_option_detect_stack_use_after_return’
    Error:error : undefined reference to ’__asan_stack_malloc_0’
    Error:error : undefined reference to ’__asan_report_store4’
    Error:error : undefined reference to ’__asan_report_store4’
    Error:error : undefined reference to ’__asan_init’
    Error:error : undefined reference to ’__asan_version_mismatch_check_v9’

    So it seems to find the FFmpeg library just fine, indicating that that part of my CMake file is correct, but it can’t locate any of these asan references.

    This seems to be a common problem that people are running into, but I can’t see to find a work-around that actually works for me.

  • ffmpeg is failing to convert mov files from iPhone 4

    11 octobre 2014, par skat

    I’m having issue with converting mov files from iPhone 4.

    Running this command :

    I, [2014-09-15T03:48:33.245231 #9676]  INFO -- : Running transcoding...
    ffmpeg -y -i /Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video/1410727644xqxzdoxf-IMG_0040_1_.MOV -ss 5 -vframes 1 -f image2 /Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video/1410727644xqxzdoxf-IMG_0040_1_-edited.jpg

    E, [2014-09-15T03:48:33.321367 #9676] ERROR -- : Failed encoding...
    ffmpeg -y -i /Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video  /1410727644xqxzdoxf-IMG_0040_1_.MOV -ss 5 -vframes 1 -f image2 /Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video/1410727644xqxzdoxf-IMG_0040_1_-edited.jpg

    My ffmpeg gives me errors like this :

    FFMPEG::Error: Failed encoding.Errors: no output file created. Full output: ffmpeg version 2.3.1 Copyright (c) 2000-2014 the FFmpeg developers
    built on Aug 20 2014 02:23:29 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/2.3.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libtheora --enable-libvorbis --enable-libvpx
    libavutil      52. 92.100 / 52. 92.100
    libavcodec     55. 69.100 / 55. 69.100
    libavformat    55. 48.100 / 55. 48.100
    libavdevice    55. 13.102 / 55. 13.102
    libavfilter     4. 11.100 /  4. 11.100
    libavresample   1.  3.  0 /  1.  3.  0
    libswscale      2.  6.100 /  2.  6.100
    libswresample   0. 19.100 /  0. 19.100
    libpostproc    52.  3.100 / 52.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video/1410641311nyv99k1j-IMG_0040_1_.MOV':
    Metadata:
     major_brand     : qt
     minor_version   : 0
     compatible_brands: qt
    creation_time   : 2014-07-20 09:47:08
    model           : iPhone 4
    model-rus       : iPhone 4
    encoder         : 7.0.4
    encoder-rus     : 7.0.4
    date            : 2014-07-20T13:47:08+0400
    date-rus        : 2014-07-20T13:47:08+0400
    make            : Apple
    make-rus        : Apple
    Duration: 00:00:01.84, start: 0.000000, bitrate: 827 kb/s
     Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m), 480x360, 742 kb/s, 23.98 fps, 23.98 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
     rotate          : 90
     creation_time   : 2014-07-20 09:47:08
     handler_name    : Core Media Data Handler
     encoder         : H.264
    Side data:
     displaymatrix: rotation of -90.00 degrees
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 63 kb/s (default)
    Metadata:
     creation_time   : 2014-07-20 09:47:08
     handler_name    : Core Media Data Handler
    [swscaler @ 0x7fe1e9800600] deprecated pixel format used, make sure you did set range correctly
    Output #0, image2, to '/Users/lun/client/bookagoo/public/uploads/5405e9b0486f75a36c100000/video/1410641311nyv99k1j-IMG_0040_1_-edited.jpg':
    Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    make-rus        : Apple
    model           : iPhone 4
    model-rus       : iPhone 4
    make            : Apple
    encoder         : Lavf55.48.100
    date            : 2014-07-20T13:47:08+0400
    date-rus        : 2014-07-20T13:47:08+0400
    Stream #0:0(und): Video: mjpeg, yuvj420p, 480x360, q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn, 23.98 tbc (default)
    Metadata:
     rotate          : 90
     creation_time   : 2014-07-20 09:47:08
     handler_name    : Core Media Data Handler
     encoder         : Lavc55.69.100 mjpeg
    Stream mapping:
    Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
    Press [q] to stop, [?] for help
    frame=    0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A
    video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)

    It’s only happening for mov files. There are couple of tricky places it looks like it’s trying to take screenshot from a video.

    Maybe anyone witnessed anything similar and can give me a tip ?

  • Multiple Dialogue lines of an ASS subtitle file is displayed at the same time on the video file

    14 janvier 2024, par Furkan Gözükara

    I am trying to code an ASS subtitle burner.

    


    Converting given SRT file into ASS subtitle

    


    Let me show examples

    


    Below is given SRT file - generated with Whisper

    


    1&#xA;00:00:00,000 --> 00:00:00,080&#xA;<u>American</u> XL Bully Dog&#xA;&#xA;2&#xA;00:00:00,080 --> 00:00:00,640&#xA;American <u>XL</u> Bully Dog&#xA;&#xA;3&#xA;00:00:00,640 --> 00:00:01,140&#xA;American XL <u>Bully</u> Dog&#xA;&#xA;4&#xA;00:00:01,140 --> 00:00:01,280&#xA;American XL Bully <u>Dog</u>&#xA;&#xA;5&#xA;00:00:01,280 --> 00:00:01,520&#xA;<u>is</u> a danger to&#xA;&#xA;6&#xA;00:00:01,520 --> 00:00:01,640&#xA;is <u>a</u> danger to&#xA;&#xA;7&#xA;00:00:01,640 --> 00:00:01,800&#xA;is a <u>danger</u> to&#xA;&#xA;8&#xA;00:00:01,800 --> 00:00:02,220&#xA;is a danger <u>to</u>&#xA;&#xA;9&#xA;00:00:02,220 --> 00:00:02,380&#xA;<u>our</u> communities, particularly our&#xA;&#xA;10&#xA;00:00:02,380 --> 00:00:02,680&#xA;our <u>communities,</u> particularly our&#xA;&#xA;11&#xA;00:00:02,680 --> 00:00:03,360&#xA;our communities, particularly our&#xA;&#xA;12&#xA;00:00:03,360 --> 00:00:03,580&#xA;our communities, <u>particularly</u> our&#xA;&#xA;13&#xA;00:00:03,580 --> 00:00:04,060&#xA;our communities, particularly <u>our</u>&#xA;&#xA;14&#xA;00:00:04,060 --> 00:00:04,280&#xA;<u>children.</u>&#xA;

    &#xA;

    Then this above SRT file is converted into the below ASS subtitle

    &#xA;

    [Script Info]&#xA;ScriptType: v4.00&#x2B;&#xA;PlayResX: 384&#xA;PlayResY: 288&#xA;&#xA;[V4&#x2B; Styles]&#xA;Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding&#xA;Style: Default,Arial,16,&amp;H00FFFFFF,&amp;H0000FF00,&amp;H00000000,&amp;H00000000,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,1&#xA;&#xA;[Events]&#xA;Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text&#xA;Dialogue: 0,00:00:00.000,00:00:00.080,Default,,0,0,0,,{\c&amp;H00FF00&amp;}American{\c&amp;HFFFFFF&amp;} XL Bully Dog&#xA;Dialogue: 0,00:00:00.080,00:00:00.640,Default,,0,0,0,,American {\c&amp;H00FF00&amp;}XL{\c&amp;HFFFFFF&amp;} Bully Dog&#xA;Dialogue: 0,00:00:00.640,00:00:01.140,Default,,0,0,0,,American XL {\c&amp;H00FF00&amp;}Bully{\c&amp;HFFFFFF&amp;} Dog&#xA;Dialogue: 0,00:00:01.140,00:00:01.280,Default,,0,0,0,,American XL Bully {\c&amp;H00FF00&amp;}Dog{\c&amp;HFFFFFF&amp;}&#xA;Dialogue: 0,00:00:01.280,00:00:01.520,Default,,0,0,0,,{\c&amp;H00FF00&amp;}is{\c&amp;HFFFFFF&amp;} a danger to&#xA;Dialogue: 0,00:00:01.520,00:00:01.640,Default,,0,0,0,,is {\c&amp;H00FF00&amp;}a{\c&amp;HFFFFFF&amp;} danger to&#xA;Dialogue: 0,00:00:01.640,00:00:01.800,Default,,0,0,0,,is a {\c&amp;H00FF00&amp;}danger{\c&amp;HFFFFFF&amp;} to&#xA;Dialogue: 0,00:00:01.800,00:00:02.220,Default,,0,0,0,,is a danger {\c&amp;H00FF00&amp;}to{\c&amp;HFFFFFF&amp;}&#xA;Dialogue: 0,00:00:02.220,00:00:02.380,Default,,0,0,0,,{\c&amp;H00FF00&amp;}our{\c&amp;HFFFFFF&amp;} communities, particularly our&#xA;Dialogue: 0,00:00:02.380,00:00:02.680,Default,,0,0,0,,our {\c&amp;H00FF00&amp;}communities,{\c&amp;HFFFFFF&amp;} particularly our&#xA;Dialogue: 0,00:00:02.680,00:00:03.360,Default,,0,0,0,,our communities, particularly our&#xA;Dialogue: 0,00:00:03.360,00:00:03.580,Default,,0,0,0,,our communities, {\c&amp;H00FF00&amp;}particularly{\c&amp;HFFFFFF&amp;} our&#xA;Dialogue: 0,00:00:03.580,00:00:04.060,Default,,0,0,0,,our communities, particularly {\c&amp;H00FF00&amp;}our{\c&amp;HFFFFFF&amp;}&#xA;Dialogue: 0,00:00:04.060,00:00:04.280,Default,,0,0,0,,{\c&amp;H00FF00&amp;}children.{\c&amp;HFFFFFF&amp;}&#xA;

    &#xA;

    Both when playing the subtitle in any video player or burning into video via FFMPEG, what happens is, multiple Dialogue lines are being displayed at the same time on the screen.

    &#xA;

    I am doing a lot of research regarding this but still couldn't find out the issue.

    &#xA;

    Here screenshot of what I mean. So how can I fix this issue ? What is wrong with my ASS file format ?

    &#xA;

    enter image description here

    &#xA;

    Here below the functio that I am use to generate that ASS format

    &#xA;

    def convert_srt_to_ass(srt_content):&#xA;    # ASS header&#xA;    ass_header = (&#xA;        "[Script Info]\n"&#xA;        "ScriptType: v4.00&#x2B;\n"&#xA;        "PlayResX: 384\n"&#xA;        "PlayResY: 288\n\n"&#xA;        "[V4&#x2B; Styles]\n"&#xA;        "Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\n"&#xA;        "Style: Default,Arial,16,&amp;H00FFFFFF,&amp;H0000FF00,&amp;H00000000,&amp;H00000000,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,1\n\n"&#xA;        "[Events]\n"&#xA;        "Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\n"&#xA;    )&#xA;&#xA;    ass_content = ass_header&#xA;    # Adjust regex to properly capture subtitle number, start time, end time, and text&#xA;    matches = list(re.finditer(r&#x27;(\d&#x2B;)\n(\d{2}:\d{2}:\d{2},\d{3}) --> (\d{2}:\d{2}:\d{2},\d{3})\n(.&#x2B;?)\n\n&#x27;, srt_content, re.DOTALL))&#xA;&#xA;    prev_end = None&#xA;    &#xA;    for match in matches:&#xA;        start, end, text = match.group(2), match.group(3), match.group(4)&#xA;        start = start.replace(&#x27;,&#x27;, &#x27;.&#x27;)&#xA;        end = end.replace(&#x27;,&#x27;, &#x27;.&#x27;)&#xA;&#xA;        # Calculate the correct start and end times to ensure no overlap&#xA;        if prev_end and start &lt;= prev_end:&#xA;            # Adjust the previous end time to be a bit before the current start time&#xA;            prev_end_time = datetime.strptime(prev_end, &#x27;%H:%M:%S.%f&#x27;)&#xA;            adjusted_end_time = prev_end_time - timedelta(milliseconds=100)  # Adjust by 100 milliseconds&#xA;            prev_end = adjusted_end_time.strftime(&#x27;%H:%M:%S.%f&#x27;)[:-3]  # Truncate to 3 decimal places&#xA;&#xA;            ass_content = ass_content.rstrip()&#xA;            ass_content = re.sub(r&#x27;(\d{2}:\d{2}:\d{2}\.\d{3}),Default,,$&#x27;, f&#x27;{prev_end},Default,,&#x27;, ass_content, 1)&#xA;            ass_content &#x2B;= &#x27;\n&#x27;&#xA;&#xA;        prev_end = end&#xA;&#xA;        # Formatting the text and adding it to the content&#xA;        text = text.replace(&#x27;<u>&#x27;, &#x27;{\\c&amp;H00FF00&amp;}&#x27;).replace(&#x27;</u>&#x27;, &#x27;{\\c&amp;HFFFFFF&amp;}&#x27;)&#xA;        text = text.replace(&#x27;\n&#x27;, &#x27;\\N&#x27;)  # Convert newlines within text for ASS format&#xA;        ass_content &#x2B;= f"Dialogue: 0,{start},{end},Default,,0,0,0,,{text}\n"&#xA;&#xA;        &#xA;        # Conversion of text and other formatting remains the same&#xA;&#xA;    return ass_content&#xA;

    &#xA;