Recherche avancée

Médias (91)

Autres articles (111)

  • 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.

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

Sur d’autres sites (9594)

  • How can i mux H264 stream into MP4 file via libavformat

    10 mars 2024, par Brian

    I want to realize an application that firstly decode a multi-media file(such as test.mp4 file, video codec id is H264), get a video stream and an audio stream, then make some different in the audio stream, at last encode the video stream(use libx264) and audio stream into a result file(result.mp4). To promote the efficiency, i omitted the decode and encode of video stream, i get the video packet via function "av_read_frame", then output it directly into the result file via function "av_write_frame". But there is no picture in the output file, and the size of output file is fairly small.

    



    I tracked the ffmpeg code and found that in the function "av_write_frame->mov_write_packet->ff_mov_write_packet", it will call function "ff_avc_parse_nal_units" to obtain the size of nal unit, but the return value is very small(such as 208 bytes).

    



    I find that the H264 stream in the MP4 file is not stored in Annex-B format, so it can't find start code(0x000001), now my problem is how can I change the H264 stream to Annex-B format, and make it work ?
I added start code at the beginning of every frame manually, but it still not work.

    



    Anyone can give me any hint ?Thanks very much.
Following is the codes similar with my :

    



        // write the stream header, if any
    av_write_header(pFormatCtxEnc);

    .........
    /**
    * Init of Encoder and Decoder
    */

    bool KeyFlag = false;
    bool KeyFlagEx = false;
    // Read frames and save frames to disk
    int iPts = 1;
    av_init_packet(&packet);
    while(av_read_frame(pFormatCtxDec, &packet)>=0)
    {
            if (packet.flags == 1)
                    KeyFlag = true;

            if (!KeyFlag)
                    continue;

            if (m_bStop)
            {
                    break;
            }

            // Is this a packet from the video stream?
            if(packet.stream_index == videoStream)
            {
                    currentframeNum ++;
                    if (progressCB != NULL && currentframeNum%20 == 0)
                    {
                            float fpercent = (float)currentframeNum/frameNum;
                            progressCB(fpercent,m_pUser);
                    }

                    if (currentframeNum >= beginFrame && currentframeNum <= endFrane)
                    {
                            if (packet.flags == 1)
                                    KeyFlagEx = true;

                            if (!KeyFlagEx)
                                    continue;
                            packet.dts = iPts ++;
                            av_write_frame(pFormatCtxEnc, &packet);

                    }
            }
            // Free the packet that was allocated by av_read_frame
    }

    // write the trailer, if any
    av_write_trailer(pFormatCtxEnc);

    /**
    * Release of encoder and decoder
    */

    return true;


    


  • ffmpeg error SSL routines:ssl3_write_pending:bad write retry

    6 mai 2019, par boygiandi

    Recently, I see this error very often. Does anyone know what the error is and how to fix ? Please check full ffmpeg output here ( I already update openssl latest version from yum )

    ffmpeg version N-93715-gd0e4d04 Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
     configuration: --prefix= ....
    Input #0, mpegts, from '/tmp/4028813_video_0.ts':
     Duration: 00:04:08.19, start: 1.410111, bitrate: 1504 kb/s
     Program 1
       Metadata:
         service_name    : Service01
         service_provider: FFmpeg
       Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, progressive), 608x1080 [SAR 1:1 DAR 76:135], 30 fps, 30 tbr, 90k tbn, 60 tbc
       Stream #0:1[0x101](eng): Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 121 kb/s
    [ sh: 2019-05-06  9:39:46 ]
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #0:1 -> #0:1 (aac (native) -> aac (native))
    Press [q] to stop, [?] for help
    Output #0, flv, to 'rtmps://live-api-s.facebook.com:443/rtmp/289693778580218?s_bl=1&s_sw=0&s_vt=api-s&a=Abxj1aU9OTqh0RtS':
     Metadata:
       comment         : gs4028813
       encoder         : Lavf58.27.103
       Stream #0:0: Video: h264 (High) ([7][0][0][0] / 0x0007), yuv420p(tv, bt709, progressive), 608x1080 [SAR 1:1 DAR 76:135], q=2-31, 3000 kb/s, 30 fps, 30 tbr, 1k tbn, 30 tbc
       Stream #0:1(eng): Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s
       Metadata:
         encoder         : Lavc58.52.100 aac
    [ sh: 2019-05-06  9:39:47 ]size=     169kB time=00:00:00.52 bitrate=2643.9kbits/s speed=1.03x
    ......
    [ sh: 2019-05-06  9:40:10 ]size=    3386kB time=00:00:22.72 bitrate=1220.7kbits/s speed=0.999x
    [ sh: 2019-05-06  9:40:11 ]size=    3842kB time=00:00:25.32 bitrate=1242.9kbits/s speed=   1x
    [tls @ 0x30ab3c0] error:00000000:lib(0):func(0):reason(0)82 bitrate=1247.3kbits/s speed=   1x
    av_interleaved_write_frame(): Input/output error
    [flv @ 0x3030f80] Failed to update header with correct duration.
    [flv @ 0x3030f80] Failed to update header with correct filesize.
    Error writing trailer of rtmps://live-api-s.facebook.com:443/rtmp/289693778580218?s_bl=1&s_sw=0&s_vt=api-s&a=Abxj1aU9OTqh0RtS: Input/output error
    frame=  776 fps= 30 q=-1.0 Lsize=    3932kB time=00:00:25.82 bitrate=1247.3kbits/s speed=   1x
    video:3530kB audio:406kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    [tls @ 0x30ab3c0] error:1409F07F:SSL routines:ssl3_write_pending:bad write retry
  • Broadcast webcamer over ffserver and ffmpeg

    8 février 2019, par AkBako

    I setup the ffserver on Ubuntu 16.04 UPU. I did some streami from a .webm video fileы to the site. Now I can’t start streaming from the webcam of my laptop and show it on the website. Please need help.

    Technical info :

    Client-site:Windows 10

    WebCamera : YUV 4:2:2 640x480 fps 30.0

    Server-site : VPS Server Ubuntu 16.04

    ffserver.conf

    HTTPPort 8090
    HTTPBindAddress 0.0.0.0
    MaxHTTPConnections 2000
    MaxClients 1000
    MaxBandwidth 500000
    CustomLog -
    NoDaemon
    RTSPPort 7654
    RTSPBindAddress 0.0.0.0
    <feed>               # This is the input feed where FFmpeg will send
      File ./feed1.ffm            # video stream.
      FileMaxSize 1G              # Maximum file size for buffering video
    </feed>

    <stream>
       Feed feed1.ffm
       Format webm
       # Audio settings
       AudioCodec vorbis
       AudioBitRate 64             # Audio bitrate

       # Video settings
       VideoCodec libvpx
       VideoSize 640x480          # Video resolution
       VideoFrameRate 30           # Video FPS
       AVOptionVideo flags +global_header  # Parameters passed to encoder
                                          # (same as ffmpeg command-line parameters)
       AVOptionVideo cpu-used 0
       AVOptionVideo qmin 10
       AVOptionVideo qmax 42
       AVOptionVideo quality good
       AVOptionAudio flags +global_header
       PreRoll 15
       StartSendOnKey
       VideoBitRate 400
    </stream>

    <stream>
     Format status
     # Only allow local people to get the status
     ACL allow localhost
     ACL allow 192.168.0.0 192.168.255.255
    </stream>

    <redirect>    # Just an URL redirect for index
      # Redirect index.html to the appropriate site
      URL http://XX.XXX.XXX.XXX
    </redirect>

    Run code on Windows :

    ffmpeg -f dshow -i video="USB2.0 HD UVC WebCam" -video_size 640x480 -rtbufsize 702000k -framerate 30 -pixel_format yuyv422 -f mpegts http://XXX.XXX.XX.XX:8090/feed1.ffm

    Error message on Windows :

    Input #0, dshow, from 'video=USB2.0 HD UVC WebCam':
     Duration: N/A, start: 5326.566000, bitrate: N/A
       Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 1280x720, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (mjpeg (native) -> mpeg2video (native))
    Press [q] to stop, [?] for help
    [swscaler @ 06e5a000] deprecated pixel format used, make sure you did set range correctly
    Output #0, mpegts, to 'http://95.183.11.180:8090/feed1.ffm':
     Metadata:
       encoder         : Lavf58.24.101
       Stream #0:0: Video: mpeg2video (4:2:2), yuv422p, 1280x720, q=2-31, 200 kb/s, 30 fps, 90k tbn, 30 tbc
       Metadata:
         encoder         : Lavc58.42.103 mpeg2video
       Side data:
         cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
    av_interleaved_write_frame(): Unknown error
    Error writing trailer of http://95.183.11.180:8090/feed1.ffm: Error number -10054 occurred
    frame=    3 fps=0.0 q=1.6 Lsize=      46kB time=00:00:00.00 bitrate=34318545.5kbits/s speed=9.07e-05x
    video:84kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    [http @ 06dd5c00] URL read error:  -10054
    Conversion failed!

    FFserver log :

    Fri Feb  8 03:14:58 2019 178.88.140.182 - - [POST] "/feed1.ffm HTTP/1.1" 200 4096