
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (85)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
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" ; -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation"
Sur d’autres sites (10783)
-
Why are rectangular boxes ([]) showing instead of text in burned subtitles when using ffmpeg/MoviePy on Google Colab ?
14 mai, par LavishI'm working on a Python script that adds subtitles to a video using MoviePy and burns/hardcodes them directly onto the video. The subtitles contain Hindi text, and I’ve specified a custom font that supports Devanagari (Hindi) script.


The code works perfectly fine on my local machine, the subtitles appear correctly with Hindi characters. However, when I run the same code on Google Colab, the subtitles display as rectangular boxes (something like this -> [][][]) instead of proper characters.


Things I've tried :


- 

- Ensured the font used supports Hindi (I'm using NotoSansDevanagari-Regular.ttf renamed as font.ttf).
- Uploaded the font to Colab and specified the full path correctly.
- Verified that the text is passed as a proper Unicode string.








Here's the code snippet :


def add_subtitles(video_path, subtitles_path, output_path):
 """Adds subtitles using FFmpeg with proper path escaping."""
 # Convert to absolute paths and normalize
 
 video_path = os.path.abspath(video_path)
 subtitles_path = os.path.abspath(subtitles_path)
 output_path = os.path.abspath(output_path)


 # Subtitle path
 font_path = "input_files/font.ttf"
 font_path = os.path.abspath(font_path).replace("\\", "\\\\")
 subtitles_path_escaped = os.path.abspath(subtitles_path).replace("\\", "\\\\")
 
 # Escape backslashes in paths
 subtitles_path = subtitles_path.replace("\\", "\\\\")
 # Remove all files in final_videos
 [os.remove(os.path.join(base_dir, "final_videos", f)) for f in os.listdir(os.path.join(base_dir, "final_videos")) if os.path.isfile(os.path.join(base_dir, "final_videos", f))]

 os.makedirs(os.path.dirname(output_path), exist_ok=True)
 escaped_path = subtitles_path.replace(':', '\\:').replace('\\', '\\\\')

 cmd = [
 "ffmpeg",
 "-i", video_path,
 "-vf", f"subtitles={escaped_path}:force_style='FontFile={font_path}'",
 "-c:v", "libx264",
 "-c:a", "copy",
 "-preset", "fast",
 "-crf", "22",
 output_path
]


 # Debug: Print the exact command being executed
 print("Executing:", " ".join(cmd))
 try:
 subprocess.run(cmd, check=True, capture_output=True, text=True)
 print(f"✅ Success! Output saved to: {output_path}")
 except subprocess.CalledProcessError as e:
 print(f"❌ FFmpeg failed with error:\n{e.stderr}")




What could be causing this issue on Colab, and how can I get non-English subtitles (like Hindi) to render properly when burning subtitles using MoviePy/ffmpeg in a Colab environment ?


-
Can ffmpeg copy metadata/ID3 from FLAC to MP3 ?
9 avril 2019, par krypterroI have a bit of Python code that loops through audio files, finds .FLAC files, and then uses the Python subcommand to run ffmpeg. It works. The audio is fine, but even though I see the metadata in the shell, it doesn’t transfer the data to the ID3 tags in the MP3, and I am using the example found in the previous post here. Here’s the command :
cmd = 'ffmpeg -y -i "' + src + '" -codec:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 -write_id3v1 1 "' + dst + '"'
Which works out to :
ffmpeg -y -i "source.flac" -codec:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 -write_id3v1 1 "destination.mp3"
And here is the log dump :
/usr/local/bin/python3.7 /home/krypterro/PycharmProjects/mediaman/RipFLAC.py
1 Music Files Found
2019-04-09 14:32:47.758 | INFO | __main__:main:31 - Start of program
2019-04-09 14:32:48.110 | DEBUG | __main__:ripmp3:206 - Running Command: ffmpeg -y -i "/home/krypterro/audio/music_in/Visions/01-grimes-laughing_and_not_being_normal.flac" -acodec libmp3lame -ab 192000 "/home/krypterro/audio/music_out/Visions/01-grimes-laughing_and_not_being_normal.mp3"
ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, flac, from '/home/krypterro/audio/music_in/Visions/01-grimes-laughing_and_not_being_normal.flac':
Metadata:
ARTIST : Grimes
TITLE : Laughing And Not Being Normal
ALBUM : Art Angels
DATE : 2015
track : 1
GENRE : Electronic
disc : 1
TOTALDISCS : 1
TOTALTRACKS : 15
LANGUAGE : English
RIP DATE : 2015-12-12
RETAIL DATE : 2015-00-00
MEDIA : CD
ENCODER : FLAC 1.2.1 -8 -V
RIPPING TOOL : EAC 1.0 Beta 3
RELEASE TYPE : Retail
ORGANIZATION : 4AD
CATALOG : CAD3535CD
Duration: 00:01:47.51, start: 0.000000, bitrate: 743 kb/s
Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
Stream mapping:
Stream #0:0 -> #0:0 (flac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to '/home/krypterro/audio/music_out/Visions/01-grimes-laughing_and_not_being_normal.mp3':
Metadata:
TPE1 : Grimes
TIT2 : Laughing And Not Being Normal
TALB : Art Angels
TDRC : 2015
TRCK : 1
TCON : Electronic
TPOS : 1
TOTALDISCS : 1
TOTALTRACKS : 15
TLAN : English
RIP DATE : 2015-12-12
RETAIL DATE : 2015-00-00
MEDIA : CD
CATALOG : CAD3535CD
RIPPING TOOL : EAC 1.0 Beta 3
RELEASE TYPE : Retail
ORGANIZATION : 4AD
TSSE : Lavf57.83.100
Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, stereo, s16p, 192 kb/s
Metadata:
encoder : Lavc57.107.100 libmp3lame
size= 2522kB time=00:01:47.52 bitrate= 192.1kbits/s speed= 41x
video:0kB audio:2521kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.042501%
2019-04-09 14:32:50.811 | INFO | __main__:main:73 - End of program
Process finished with exit code 0 -
No option name near , Error parsing a filter description around
8 août 2024, par Aqib JavedI am trying to attach the captions files ( srt format ) to a video
if im running the same command on mac or windows, its working with -vf or -filter_complex but on android/IOS, its not working and throwing the same error


i am on Flutter and here is my code :


var tempDir = await getTemporaryDirectory();
var status = await Permission.storage.status;
if (!status.isGranted) {
 await Permission.storage.request();
}

final outputPath = "${tempDir.path}/outputWithCaptions.mp4";


const videoPath = "/storage/emulated/0/Download/english.mp4";
final subtitlePath = deepGramResponse.captionsPath.replaceAll('\'', '\\\'');
String command = "-y -i";
command = "$command '$videoPath'";
command = "$command -vf";
command = '$command "subtitles=\'$subtitlePath\'"';
command = "$command '$outputPath'";
 if (File(videoPath).existsSync() && File(subtitlePath).existsSync()) {
 FFmpegKit.executeAsync(command, (session) async {
 final returnCode = await session.getReturnCode();
 final output = await session.getOutput();
 final error = await session.getFailStackTrace();
 final logs = await session
 .getAllLogs()
 .then((value) => value.map((e) => e.getMessage()).toList());
 log('FFmpeg command executed with return code: $returnCode');
 if (ReturnCode.isSuccess(returnCode)) {
 log('Captions attached successfully');
 deepGramResponse.copyWith(
 videoPath: outputPath,
 );
 Get.to(() => VideoPlayerScreen(videoPath: outputPath));
 } else {
 log('FFmpeg command failed');
 log('Error output: $output');
 log('Error details: $error');
 log('Logs: $logs');
 Fluttertoast.showToast(
 msg: 'Something went wrong, please try again later');
 }
 });
} else {
 log('One or more files do not exist');
 Fluttertoast.showToast(msg: 'Subtitle or video file not found');
 return;
}



and here is the error :


, [AVFilterGraph @ 0x7b8a3dda90] No option name near '/data/user/0/com.example.blink/app_flutter/captions.srt'
 , [AVFilterGraph @ 0x7b8a3dda90] Error parsing a filter description around: 
 , [AVFilterGraph @ 0x7b8a3dda90] Error parsing filterchain 'subtitles='/data/user/0/com.example.blink/app_flutter/captions.srt'' around: 
 , Error reinitializing filters!
 , Failed to inject frame into filter network: Invalid argument
 , Error while processing the decoded data for stream #0:0
 , Conversion failed!