Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (99)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (7302)

  • FFmpeg Android concat. "–safe 0" is an invalid argument

    18 avril 2020, par AK. Bab

    I am trying to append two .mp4 videos on Android. Following an unsafe file name error with command :

    



    String[] complexCommand = {"ffmpeg", "-f", "concat", "-i", list, "-c", "copy", outputFilePath};


    



    I added the string "–safe 0" as recommended on FFmpeg documentation :

    



    String[] complexCommand = {"ffmpeg", "-f", "concat","–safe 0", "-i", list, "-c", "copy", outputFilePath};


    



    However, FFmpeg does not recognise the command, giving this error message :

    



    Failure with output
 ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
   built with gcc 4.8 (GCC)
   configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
   libavutil      55. 17.103 / 55. 17.103
   libavcodec     57. 24.102 / 57. 24.102
   libavformat    57. 25.100 / 57. 25.100
   libavdevice    57.  0.101 / 57.  0.101
   libavfilter     6. 31.100 /  6. 31.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 Unrecognized option ‘–safe 0'.
Error splitting the argument list: Option not found


    



    I have tried various permutations with the type of dash (–) and (-), used, but still get an error. Sometimes, using a certain dash or no dash at all returns a slightly different error message :

    



    Failure with output
I/System.out: ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
I/System.out:   built with gcc 4.8 (GCC)
I/System.out:   configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
I/System.out:   libavutil      55. 17.103 / 55. 17.103
   libavcodec     57. 24.102 / 57. 24.102
   libavformat    57. 25.100 / 57. 25.100
   libavdevice    57.  0.101 / 57.  0.101
   libavfilter     6. 31.100 /  6. 31.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, tty, from '/data/user/0/com.example.cameraapp2/cache/ffmpeg-list1251307830.txt':

Duration: 00:00:00.04, bitrate: 28 kb/s
     Stream #0:0: Video: ansi, pal8, 640x400, 25 fps, 25 tbr, 25 tbn, 25 tbc
 [NULL @ 0xed834600] Unable to find a suitable output format for 'ffmpeg'
 ffmpeg: Invalid argument


    



    However, amendments I make there (such as removing "ffmpeg") haven't resolved the issue.

    



    String list is the absolute path of a textfile, generated with code I have copied written by user Marc Plano-Lesay :

    



    private static String generateList(String[] inputs) {
    File list;
    Writer writer = null;
    try {
        list = File.createTempFile("ffmpeg-list", ".txt");
        writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(list)));
        for (String input: inputs) {
            writer.write("file '" + input + "'\n");
        }
    } catch (IOException e) {
        e.printStackTrace();
        return "/";
    } finally {
        try {
            if (writer != null)
                writer.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }


    



    and here are relevant code snippets that refers to it :

    



    inputFilePath1 = "/storage/emulated/0/Pictures/MyCameraApp/VID_20200416_162058.mp4";
inputFilePath2 = "/storage/emulated/0/Pictures/MyCameraApp/VID_20200418_104909.mp4";


    



    String list = generateList(new String[] {inputFilePath1, inputFilePath2});

    



    Android can usually find the input files just fine, so I'm not sure what's left to try. The error messages above confirm my assumption that I'm running FFmpeg 0.3.1 which should be recent enough.

    



    Thank you for any help.

    


  • Error in Splitting Educational Videos into Segments Using Python (ffmpeg issue) [closed]

    28 décembre 2024, par Yahia Mohamed Hanbal

    I created a Python project to split long educational videos into smaller segments, each focused on a single question. The program uses OCR to detect text on video frames, identifies the word "Question," extracts the number following it, and splits the video whenever the number increases.

    


    here is the video i am tring to split ((video))

    


    Here’s an example of the program’s output :

    


    Video loaded: 14071 frames at 60 FPS, duration: 234.52s  
Frame 480, Time 8.00s, Question: 6  
...  
Frame 12360, Time 206.00s, Question: 7  
Creating segment 1: 8.00s to 206.00s  
Error: module 'ffmpeg' has no attribute 'Error'


    


    I’ve shared the full code in a GitHub repository for reference : Automated Video Scene Cutting.

    


    What the Program Does

    


      

    • Input : A long educational video.
    • 


    • Processing :

        

      • Detects text in each frame using OCR.
      • 


      • Searches for the word "Question" followed by a number.
      • 


      • Monitors when the number increases to identify segment boundaries.
      • 


      


    • 


    • Output : Creates video segments corresponding to individual questions.
    • 


    


    The Problem

    


    The program detects the questions and timestamps correctly, but when it tries to create the segments, I encounter the following error :

    


    Error: module 'ffmpeg' has no attribute 'Error'


    


    What I’ve Tried

    


      

    • Verified the ffmpeg-python library is installed (pip show ffmpeg-python confirms the installation).
    • 


    • Ensured the ffmpeg binary is accessible from the command line.
    • 


    • Reviewed the library documentation to ensure the correct usage of ffmpeg.
    • 


    • Tested with different video files to rule out input-specific issues.
    • 


    


    Environment Details

    


      

    • OS : Windows 11
    • 


    • Python Version : 3.9.13
    • 


    • Key Libraries : ffmpeg-python
    • 


    


    If anyone has insights into resolving this issue or suggestions for alternative approaches to handle this use case, I’d greatly appreciate your help.

    


    Thank you !

    


  • Small discord bot with a set of working music commands, about 6 days ago the play function completely stopped functioning (more below)

    24 février 2021, par TheColoradoKid

    It is a small discord python bot for my server with various features, which had included music commands until they stopped out of the blue without showing any error for the problem.
It uses FFMpeg, and youtubeDl along with pytube to gather the song and store it locally to play it, I have pip updated all of these and they are definitely on the current versions as I have made sure of this online.
Any help or insight anyone could provide would be greatly appreciated. I'm sorry if the code is convoluted in the way it's written I'm still pretty new to coding and this is one of my first proper larger projects.

    


    If you need any information I'm happy to give what I can to help.

    


    Here is the code for the play command :

    


    @client.command()
async def play(ctx, *args):
    global queu
    #global autom
    if not args:
        voice = get(client.voice_clients, guild=ctx.guild)
        if not voice.is_playing():
            server = ctx.message.guild
            voice_channel = server.voice_client
            if queu:
                async with ctx.typing():
                    player = await YTDLSource.from_url(queu[0], loop=client.loop)
                    voice_channel.play(player, after=lambda e: print('Player error: %s' % e) if e else None)

                await ctx.send('**Now playing:** {}'.format(player.title))
                del(queu[0])
                # while autom == True:
                #     try:
                #         a = client.get_command('auto')
                #         await ctx.invoke(a)
                #     except:
                #         print('')
            elif not queu:
                await ctx.send("You can't play if there isn't anything in the queue\nIf auto mode was on it has now been disabled, to use it gain please add to the queue and run ``;auto on``")
                autom = False
    if args:
        global gueu
        search_keywords = ""
        print(args)
        for word in args:
            search_keywords += word
            search_keywords += '+'
        link = "https://www.youtube.com/results?search_query="
        link += search_keywords
        #print(link)
        html = urllib.request.urlopen(link)
        video_ids = re.findall(r"watch\?v=(\S{11})", html.read().decode())
        url = ("https://www.youtube.com/watch?v=" + video_ids[0])
        #print(url)
        queu.append(url)
        #print(queu)
        await ctx.send("``{}`` added to queue!\n If the song doesn't start please either let the current song end and run ``;play``/``;next`` again or run ``;next`` to play now".format(url))
        try:
            p = client.get_command('play')
            await ctx.invoke(p)
        except:
            print('failed')