Recherche avancée

Médias (2)

Mot : - Tags -/plugins

Autres articles (85)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie 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, par

    Ce 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, par

    La 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 Lavish

    I'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 krypterro

    I 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 Javed

    I 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!