Recherche avancée

Médias (0)

Mot : - Tags -/publication

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

Autres articles (72)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (9456)

  • when i use ffmpeg get : HTTP error 403 Forbidden

    29 avril 2021, par Michael M1G0A4W

    i entered this :

    


    C:\Users\Michael\Desktop>ffmpeg -i "C:\Users\Michael\Desktop\1.mp4" -i "C:\Users\Michael\Desktop\1.m4a" -c copy "C:\Users\Michael\Desktop\2.mp4"


    


    But the output I received was for the URL input while I was giving the address from my computer.

    


    But the output :

    


    [https @ 00000205778cdec0] HTTP error 403 Forbidden
[dash @ 00000205777be8c0] Failed to open an initialization section
[dash @ 00000205777be8c0] Error when loading first fragment of playlist
C:\Users\Michael\Desktop\1.mp4: Server returned 403 Forbidden (access denied)


    


    At first I thought the problem was with the name or address, but after a test I realized that this is not the case

    


  • RTMP live stream directly from NVENC encoder

    16 novembre 2018, par rnd

    I am trying to create a live RTMP stream containing the animation generated with NVIDIA OptiX. The stream is to be received by nginx + rtmp module and broadcasted in MPEG-DASH format. Full chain up to dash.js player is working if the video is first saved to .flv file and then I send it with ffmpeg without any reformatting using command :

    ffmpeg -re -i my_video.flv -c:v copy -f flv rtmp://x.x.x.x:1935/dash/test

    But I want to stream directly from the code. And with this I am failng... Nginx logs an error "dash : invalid avcc received (2 : No such file or directory)". Then it seems to receive the stream correctly (segments are rolling, dash manifest is there), however the stream is not possible to play in the browser.

    I can see only one difference in the manifest between direct stream and stream from file. Codecs attribute of the representation in the direct stream is missed : codecs="avcc1.000000" instead of "avc1.640028" which I get when streaming from file.

    My code opens the stream :

    av_register_all();
    AVOutputFormat* fmt = av_guess_format("flv",
    file_name, nullptr);
    fmt->video_codec = AV_CODEC_ID_H264;

    AVFormatContext* _oc;
    avformat_alloc_output_context2(&_oc, fmt, nullptr, "rtmp://x.x.x.x:1935/dash/test");

    AVStream* _vs = avformat_new_stream(_oc, nullptr);
    _vs->id = 0;
    _vs->time_base = AVRational { 1, 25 };
    _vs->avg_frame_rate = AVRational{ 25, 1 };

    AVCodecParameters *vpar = _vs->codecpar;
    vpar->codec_id = fmt->video_codec;
    vpar->codec_type = AVMEDIA_TYPE_VIDEO;
    vpar->format = AV_PIX_FMT_YUV420P;
    vpar->profile = FF_PROFILE_H264_HIGH;
    vpar->level = _level;
    vpar->width = _width;
    vpar->height = _height;
    vpar->bit_rate = _avg_bitrate;

    avio_open(&_oc->pb, _oc->filename, AVIO_FLAG_WRITE);
    avformat_write_header(_oc, nullptr);

    Width, height, bitrate, level and profile I get from NVENC encoder settings. I also do the error checking, ommited here. Then I have a loop writing each encoded packets, with IDR frames etc all prepared on the fly with NVENC. The loop body is :

    auto & pkt_data = _packets[i];
    AVPacket pkt = { 0 };
    av_init_packet(&pkt);
    pkt.pts = av_rescale_q(_n_frames++, AVRational{ 1, 25 }, _vs->time_base);
    pkt.duration = av_rescale_q(1, AVRational{ 1, 25 }, _vs->time_base);
    pkt.dts = pkt.pts;
    pkt.stream_index = _vs->index;
    pkt.data = pkt_data.data();
    pkt.size = (int)pkt_data.size();

    if (!memcmp(pkt_data.data(), "\x00\x00\x00\x01\x67", 5))
    {
       pkt.flags |= AV_PKT_FLAG_KEY;
    }

    av_write_frame(_oc, &pkt);

    Obviously ffmpeg is writing avcc code somewhere... I have no clue where to add this code so the RTMP server can recognize it. Or I am missing something else ?

    Any hint greatly appreciated, folks !

  • RTMP live stream directly from NVENC encoder

    16 novembre 2018, par rnd

    I am trying to create a live RTMP stream containing the animation generated with NVIDIA OptiX. The stream is to be received by nginx + rtmp module and broadcasted in MPEG-DASH format. Full chain up to dash.js player is working if the video is first saved to .flv file and then I send it with ffmpeg without any reformatting using command :

    



    ffmpeg -re -i my_video.flv -c:v copy -f flv rtmp://x.x.x.x:1935/dash/test


    



    But I want to stream directly from the code. And with this I am failng... Nginx logs an error "dash : invalid avcc received (2 : No such file or directory)". Then it seems to receive the stream correctly (segments are rolling, dash manifest is there), however the stream is not possible to play in the browser.

    



    I can see only one difference in the manifest between direct stream and stream from file. Codecs attribute of the representation in the direct stream is missed : codecs="avcc1.000000" instead of "avc1.640028" which I get when streaming from file.

    



    My code opens the stream :

    



    av_register_all();
AVOutputFormat* fmt = av_guess_format("flv",
file_name, nullptr);
fmt->video_codec = AV_CODEC_ID_H264;

AVFormatContext* _oc;
avformat_alloc_output_context2(&_oc, fmt, nullptr, "rtmp://x.x.x.x:1935/dash/test");

AVStream* _vs = avformat_new_stream(_oc, nullptr);
_vs->id = 0;
_vs->time_base = AVRational { 1, 25 };
_vs->avg_frame_rate = AVRational{ 25, 1 };

AVCodecParameters *vpar = _vs->codecpar;
vpar->codec_id = fmt->video_codec;
vpar->codec_type = AVMEDIA_TYPE_VIDEO;
vpar->format = AV_PIX_FMT_YUV420P;
vpar->profile = FF_PROFILE_H264_HIGH;
vpar->level = _level;
vpar->width = _width;
vpar->height = _height;
vpar->bit_rate = _avg_bitrate;

avio_open(&_oc->pb, _oc->filename, AVIO_FLAG_WRITE);
avformat_write_header(_oc, nullptr);


    



    Width, height, bitrate, level and profile I get from NVENC encoder settings. I also do the error checking, ommited here. Then I have a loop writing each encoded packets, with IDR frames etc all prepared on the fly with NVENC. The loop body is :

    



    auto & pkt_data = _packets[i];
AVPacket pkt = { 0 };
av_init_packet(&pkt);
pkt.pts = av_rescale_q(_n_frames++, AVRational{ 1, 25 }, _vs->time_base);
pkt.duration = av_rescale_q(1, AVRational{ 1, 25 }, _vs->time_base);
pkt.dts = pkt.pts;
pkt.stream_index = _vs->index;
pkt.data = pkt_data.data();
pkt.size = (int)pkt_data.size();

if (!memcmp(pkt_data.data(), "\x00\x00\x00\x01\x67", 5))
{
    pkt.flags |= AV_PKT_FLAG_KEY;
}

av_write_frame(_oc, &pkt);


    



    Obviously ffmpeg is writing avcc code somewhere... I have no clue where to add this code so the RTMP server can recognize it. Or I am missing something else ?

    



    Any hint greatly appreciated, folks !