Recherche avancée

Médias (91)

Autres articles (106)

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

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

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

  • swscale/input : Remove spec-incompliant ' ;'

    7 septembre 2022, par Andreas Rheinhardt
    swscale/input : Remove spec-incompliant ' ;'
    

    These macros are definitions, not only declarations and therefore
    should not contain a semicolon. Such a semicolon is actually
    spec-incompliant, but compilers happen to accept them.

    Reviewed-by : Philip Langdale <philipl@overt.org>
    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libswscale/input.c
  • 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.

    &#xA;

    Converting given SRT file into ASS subtitle

    &#xA;

    Let me show examples

    &#xA;

    Below is given SRT file - generated with Whisper

    &#xA;

    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;

  • avcodec/dxv : Constify slice threads' ptr to main context

    23 juillet 2022, par Andreas Rheinhardt
    avcodec/dxv : Constify slice threads' ptr to main context
    

    Modifying the main context from a slice thread is (usually)
    a data race, so it must not happen. So only use a pointer to const
    to access the main context.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libavcodec/dxv.c