Recherche avancée

Médias (3)

Mot : - Tags -/pdf

Autres articles (111)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • Utilisation et configuration du script

    19 janvier 2011, par

    Informations spécifiques à la distribution Debian
    Si vous utilisez cette distribution, vous devrez activer les dépôts "debian-multimedia" comme expliqué ici :
    Depuis la version 0.3.1 du script, le dépôt peut être automatiquement activé à la suite d’une question.
    Récupération du script
    Le script d’installation peut être récupéré de deux manières différentes.
    Via svn en utilisant la commande pour récupérer le code source à jour :
    svn co (...)

Sur d’autres sites (11566)

  • Is it possible to convert all video files in subdirectories on google drive using ffmpeg & rclone ?

    24 avril 2020, par rms

    Currently I'm using this code whereby rclone fetches 1 file from my google drive, converts it using ffpmeg on a server and moves the converted files to the same folder. It's shown as below.
Step 1 is generating a list over which rclone can iterate over and the conversion process begins with the second script in step 2

    



    step 1

    



    rclone lsf "gdrive:/folder" --files-only > list.txt


    



    step 2

    



    while read file; do
    rclone copy "gdrive:/folder/""$file" . -P
    ffmpeg -i "$file" -vf scale=-1:540 -vcodec libx265 -crf 26 "${file%.*}.mkv" null
    rm -f "$file"
    rclone move . "gdrive:/folder/" --exclude list.txt -P
done code>

    



    However, some sub directories have nested videos to convert which would rather take a long time if I'm to do it for every folder. This brought me to my question whether it's possible to modify the above process to work with subdirectories.

    



    I've tried rclone lsf to generate the list recursively using the -R flag but ffmpeg doesn't seem to read the file from the list to make it work. Is there a way to make this work with some tweaking possibly ?

    


  • Google - Shaka | Deleting SegmentTimeline in manifest.mpd after restart container

    27 juin 2022, par burakkiymaz

    Shaka is running inside docker container. When I restarted container, SegmentTimeline part in manifest.mpd file deleting. Is possible appending old SegmentTimeline to new manifest.mpd file or recover it when I restarted ?

    


    Operating System :

    


    NAME="CentOS Linux"
VERSION="7 (Core)"


    


    Shaka Packager Version :

    


    google/shaka-packager:v2.5.1


    


    You can find out my configuration file below :

    


    CH_PATH=/some/path/$CH_NAME

/usr/bin/packager \
        'in=udp://127.0.0.1:'$PORT',stream=audio,init_segment='$CH_PATH'/audio_init.m4s,segment_template='$CH_PATH'/audio_$Time$.m4s' \
        'in=udp://127.0.0.1:'$PORT',stream=video,init_segment='$CH_PATH'/h264_360p_init.m4s,segment_template='$CH_PATH'/h264_360p_$Time$.m4s' \
        'in=udp://127.0.0.1:'$(($PORT + 1))',stream=video,init_segment='$CH_PATH'/h264_540p_init.m4s,segment_template='$CH_PATH'/h264_540p_$Time$.m4s' \
        'in=udp://127.0.0.1:'$(($PORT + 2))',stream=video,init_segment='$CH_PATH'/h264_720p_init.m4s,segment_template='$CH_PATH'/h264_720p_$Time$.m4s' \
        'in=udp://127.0.0.1:'$(($PORT + 3))',stream=video,init_segment='$CH_PATH'/h264_1080p_init.m4s,segment_template='$CH_PATH'/h264_1080p_$Time$.m4s' \
        --enable_widevine_encryption \
        --key_server_url ************ \
        --content_id ********** \
        --signer ********** \
        --aes_signing_key ************ \
        --aes_signing_iv ************* \
        --mpd_output $CH_PATH/manifest.mpd \
        --hls_playlist_type LIVE \
        --hls_master_playlist_output $CH_PATH/mn.m3u8 \
        --time_shift_buffer_depth 43200 \
        --preserved_segments_outside_live_window 43200


    


  • How to Adjust Google TTS SSML to Match Original SRT Timing ?

    2 avril, par Alexandre Silkin

    I have an .srt file where each speech segment is supposed to last a specific duration (e.g., 4 seconds). However, when I generate the speech using Google Text-to-Speech (TTS) with SSML, the resulting audio plays the same segment in a shorter time (e.g., 3 seconds).

    


    I want to adjust the speech rate dynamically in SSML so that each segment matches its original timing. My idea is to use ffmpeg to extract the actual duration of each generated speech segment, then calculate the speech rate percentage as :
generated duration
speech rate = --------------------
original duration

    


    This percentage would then be applied in SSML using the tag, like :
Text to be spoken

    


    How can I accurately measure the duration of each segment using ffmpeg, and what is the best way to apply the correct speech rate in SSML to match the original .srt timing ?

    


    I tried duration and my SSML should look like this :

    


            f.write(f&#x27;\t<p>{break_until_start}{text}<break time="{value["></break></p>\n&#x27;)&#xA;

    &#xA;

    Code writing the SSML :

    &#xA;

    text = value['text']&#xA;start_time_ms = int(value['start_ms']) # Start time in milliseconds&#xA;previous_end_ms = int(subsDict.get(str(int(key) - 1), {}).get('end_ms', 0)) # Get the previous end time&#xA;gap_to_fill = max(0, start_time_ms - previous_end_ms)

    &#xA;

            text = text.replace("&amp;", "&amp;amp;").replace(&#x27;"&#x27;, "&amp;quot;").replace("&#x27;", "&amp;apos;").replace("&lt;", "&amp;lt;").replace(&#xA;            ">", "&amp;gt;")&#xA;&#xA;        break_until_start = f&#x27;<break time="{gap_to_fill}ms"></break>&#x27; if gap_to_fill > 0 else &#x27;&#x27;&#xA;&#xA;        f.write(f&#x27;\t<p>{break_until_start}{text}<break time="{value["></break></p>\n&#x27;)&#xA;&#xA;    f.write(&#x27;\n&#x27;)&#xA;

    &#xA;