
Recherche avancée
Autres articles (107)
-
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Librairies et logiciels spécifiques aux médias
10 décembre 2010, parPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)
Sur d’autres sites (8805)
-
Is it possible to convert all video files in subdirectories on google drive using ffmpeg & rclone ?
24 avril 2020, par rmsCurrently 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 burakkiymazShaka 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 SilkinI 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'\t<p>{break_until_start}{text}<break time="{value["></break></p>\n')



Code writing the SSML :


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


text = text.replace("&", "&amp;").replace('"', "&quot;").replace("'", "&apos;").replace("<", "&lt;").replace(
 ">", "&gt;")

 break_until_start = f'<break time="{gap_to_fill}ms"></break>' if gap_to_fill > 0 else ''

 f.write(f'\t<p>{break_until_start}{text}<break time="{value["></break></p>\n')

 f.write('\n')