Recherche avancée

Médias (0)

Mot : - Tags -/gis

Aucun média correspondant à vos critères n’est disponible sur le site.

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 (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

Sur d’autres sites (14486)

  • c++ avformat_open_input returns empty codec, width and height

    27 février 2019, par Victor Akhlynin

    I haven’t ever used ffmpeg on my own laptop. All’s ok at work, but here I met an ugly problem : library works but helpless :)
    Ubuntu 18.04, ffmpeg 4.1 (downloaded sources, ./configure, make, sudo make install), it seems to be ok.

    Application returns :
    File /home/ahlininv/Desktop/video_example.mp4 is encodec with ’’ codec, w = 0, h = 0

    I ran it under debugger. If I set format to zero, pointer changes after calling avformat_open_input(&format, file, 0, &dict), so it works and maybe works correct.

    Maybe it plays any role that compiler says that av_register_all, avcodec_register_all are deprecated, but I thought it’s not significant problem.

    I tried to change version of ffmpeg (tried to install it with apt-get, version 3.somenumber is available), nothing changed.

    I tried to run another video file (.avi), nothing changed, too.

    Guys, help=) How to this file’s info correctly ?

    main.cpp :

    #include "filereader.h"

    int main(int argc, char** argv) {

       std::string filename = "/home/ahlininv/Desktop/video_example.mp4";

       std::string codec;
       int w, h;
       bool open_ok = get_file_info(filename.c_str(), codec, w, h);
       if (!open_ok) {
           std::cout << "Failed to open file" << "\n";
           return 1;
       }

       std::cout << "File " << filename << " is encoded with '" << codec << "' codec, w = " << w << ", h = " << h << "\n";

       return 0;
    }

    filereader.h :

    #ifndef FILEREADER_H
    #define FILEREADER_H

    #include <string>
    #include <iostream>

    extern "C" {
    #ifndef __STDC_CONSTANT_MACROS
    #define __STDC_CONSTANT_MACROS
    #endif
    #include "libavcodec/avcodec.h"
    #include <libavformat></libavformat>avformat.h>
    #include <libavutil></libavutil>avutil.h>
    }

    bool get_file_info(const char* file, std::string&amp; codec, int&amp; w, int&amp; h);

    #endif // FILEREADER_H
    </iostream></string>

    filereader.cpp

    #include "filereader.h"


    bool get_file_info(const char* file, std::string&amp; codec, int&amp; w, int&amp; h)
    {
       codec = "";
       w = h = 0;

       av_register_all();
       avcodec_register_all();

       AVDictionary* dict = 0;
       AVFormatContext* format = avformat_alloc_context();

       char errbuf[256];
       int r = avformat_open_input(&amp;format, file, 0, &amp;dict);
       if (r!=0){
           av_strerror(r, errbuf, sizeof(errbuf));
           std::cout &lt;&lt; "avformat_open_input error: " &lt;&lt; errbuf &lt;&lt; "\n";
       }

       if (r == AVERROR(EIO) || r == AVERROR(ENOEXEC) || !format)
           return false;

       for (size_t c = 0; c &lt; format->nb_streams; ++c)
       {
           if (format->streams[c]->codecpar &amp;&amp; format->streams[c]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO)
           {
               if (format->streams[c]->codecpar->codec_id != AV_CODEC_ID_NONE &amp;&amp;
                       format->streams[c]->codecpar->codec_id != AV_CODEC_ID_RAWVIDEO)
               {
                   w = format->streams[c]->codecpar->width;
                   h = format->streams[c]->codecpar->height;
                   codec = avcodec_get_name(format->streams[c]->codecpar->codec_id);
               }
           }
       }
       avformat_close_input(&amp;format);
       return true;
    }

    Compile :

    g++ -o filereader main.cpp filereader.cpp -lavutil -lavformat -lavcodec -lavdevice -lz -lm -pthread -lswresample -lm -lz -I /usr/local/include/ -Wl,-rpath /usr/lib/x86_64-linux-gnu/
  • Youtube Dlp returns with error code of 400 [closed]

    10 mars 2024, par nikita goncharov

    I have a python discord bot that can play music and uses discord.py https://discordpy.readthedocs.io/en/stable/. To play get the music I use yt_dlp or youtube_dl. But when requesting a video it returns with a 400 error code.

    &#xA;

    This is the error with yt_dlp :

    &#xA;

    WARNING: [youtube] YouTube said: ERROR - Precondition check failed.

    &#xA;

    WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (1/3)...

    &#xA;

    WARNING: [youtube] YouTube said: ERROR - Precondition check failed.

    &#xA;

    WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (2/3)...

    &#xA;

    WARNING: [youtube] YouTube said: ERROR - Precondition check failed.

    &#xA;

    WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (3/3)...

    &#xA;

    WARNING: [youtube] YouTube said: ERROR - Precondition check failed.

    &#xA;

    WARNING: [youtube] Unable to download API page: HTTP Error 400: Bad Request (caused by <httperror>)</httperror>

    &#xA;

    I will leave some of the code that I use for my bot... The youtube setup settings :

    &#xA;

    import youtube_dl

    &#xA;

    or

    &#xA;

    import yt_dlp as youtube_dl

    &#xA;

    youtube_dl.utils.bug_reports_message = lambda: &#x27;&#x27;&#xA;&#xA;&#xA;ytdl_format_options = {&#xA;    &#x27;format&#x27;: &#x27;bestaudio/best&#x27;,&#xA;    &#x27;outtmpl&#x27;: &#x27;%(extractor)s-%(id)s-%(title)s.%(ext)s&#x27;,&#xA;    &#x27;restrictfilenames&#x27;: True,&#xA;    &#x27;noplaylist&#x27;: True,&#xA;    &#x27;nocheckcertificate&#x27;: True,&#xA;    &#x27;ignoreerrors&#x27;: False,&#xA;    &#x27;logtostderr&#x27;: False,&#xA;    &#x27;quiet&#x27;: True,&#xA;    &#x27;no_warnings&#x27;: True,&#xA;    &#x27;default_search&#x27;: &#x27;auto&#x27;,&#xA;    &#x27;source_address&#x27;: &#x27;0.0.0.0&#x27;,  # bind to ipv4 since ipv6 addresses cause issues sometimes&#xA;}&#xA;&#xA;ffmpeg_options = {&#xA;    &#x27;options&#x27;: &#x27;-vn&#x27;,&#xA;}&#xA;&#xA;ytdl = youtube_dl.YoutubeDL(ytdl_format_options)&#xA;&#xA;&#xA;class YTDLSource(discord.PCMVolumeTransformer):&#xA;    def __init__(self, source, *, data, volume=0.5):&#xA;        super().__init__(source, volume)&#xA;&#xA;        self.data = data&#xA;&#xA;        self.title = data.get(&#x27;title&#x27;)&#xA;        self.url = data.get(&#x27;url&#x27;)&#xA;        self.duration = data.get(&#x27;duration&#x27;)&#xA;        self.image = data.get("thumbnails")[0]["url"]&#xA;    @classmethod&#xA;    async def from_url(cls, url, *, loop=None, stream=False):&#xA;        loop = loop or asyncio.get_event_loop()&#xA;        data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=not stream))&#xA;        #print(data)&#xA;&#xA;        if &#x27;entries&#x27; in data:&#xA;            # take first item from a playlist&#xA;            data = data[&#x27;entries&#x27;][0]&#xA;        #print(data["thumbnails"][0]["url"])&#xA;        #print(data["duration"])&#xA;        filename = data[&#x27;url&#x27;] if stream else ytdl.prepare_filename(data)&#xA;        return cls(discord.FFmpegPCMAudio(filename, **ffmpeg_options), data=data)&#xA;

    &#xA;

    Approximately the command to run the audio (from my bot) :

    &#xA;

    sessionChanel = message.author.voice.channel await sessionChannel.connect() url = matched.group(1) player = await YTDLSource.from_url(url, loop=client.loop, stream=True) sessionChannel.guild.voice_client.play(player, after=lambda e: print(                                        f&#x27;Player error: {e}&#x27;) if e else None) &#xA;

    &#xA;

    I searched for posts with the same error and they where either old or didn't solve my problem.

    &#xA;

    I tried importing instead of yt_dlp, I tried importing youtube_dl. But when I make the request it does not answer, no exception and no warning it just does not answer, as if the funcion is empty

    &#xA;

    I will link my other post that I asked. It might be usefull : Error : Unable to extract uploader id - Youtube, Discord.py

    &#xA;

  • FFmpeg avio_open_dir returns -40 on Windows, even when directory exists

    28 janvier, par グルグル

    I'm use ffmpeg7.1 on windows 10. And libavformat's version is 61.&#xA;I use a absolute path of a directory on avio_open_dir but it's failed, and return -40.&#xA;I use av_err2str got Function not implemented.&#xA;What problem it is ?

    &#xA;

    extern "C"&#xA;{&#xA;#include <libavformat></libavformat>avformat.h>&#xA;}&#xA;&#xA;int main()&#xA;{&#xA;    av_log_set_level(AV_LOG_DEBUG);&#xA;&#xA;    auto dir = "D:\\music";&#xA;    AVIODirContext* dirCtx;&#xA;    auto ret = avio_open_dir(&amp;dirCtx, dir, nullptr);&#xA;    if (ret &lt; 0)&#xA;    {&#xA;        av_log(nullptr, AV_LOG_ERROR, "Can&#x27;t open %s: %s\n", dir, av_err2str(ret));&#xA;        exit(EXIT_FAILURE);&#xA;    }&#xA;}&#xA;

    &#xA;

    output

    &#xA;

    Can&#x27;t open D:\music: Function not implemented&#xA;

    &#xA;

    It's not the path incorrect problem. I used std::filesystem::exists("D:\\music") &amp;&amp; std::filesystem::is_directory("D:\\music") to verify that the path is correct.

    &#xA;