Recherche avancée

Médias (91)

Autres articles (52)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

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

  • FFmpeg can't read a video stream, but VLC reads it fine

    21 mai 2022, par J.Doe

    I have a video stream that I can access using VLC, but can't access with ffmpeg. This used to work before I moved onto using a new computer (but with same camera).

    


    This is the ffprobe command (made up IP addr) :

    


    ffprobe -hide_banner -rtsp_transport tcp "rtsp://root:pass@12.34.567.890:80/axis-media/media.amp?event=on&eventtopic=onvif:VideoSource/MotionAlarm/."

    


    It returns

    


    rtsp://root:pass@12.34.567.890:80/axis-media/media.amp: Invalid data found when processing input


    


    I've not found very much on this problem :

    


      

    • I've tried turning it off and on again
    • 


    • I looked through this github issue but there were no solutions
    • 


    • I know it supports TCP since it's the same command as when it worked last time.
    • 


    


    Any ideas how I can get ffmpeg to read the stream ?

    


    Edit : Output of -report below, I'm afraid it's not very helpful :

    


    ffprobe started on 2022-05-21 at 06:27:54
Report written to "ffprobe-20220521-062754.log"
Log level: 48
Command line:
ffprobe -hide_banner -report -rtsp_transport tcp 
"rtsp://root:pass@IPADDR:80/axis-media/media.amp? 
event=on&eventtopic=onvif:VideoSource/MotionAlarm/."
[tcp @ 0000023967a2f8c0] No default whitelist set
[tcp @ 0000023967a2f8c0] Original list of addresses:
[tcp @ 0000023967a2f8c0] Address IPADDR port 80
[tcp @ 0000023967a2f8c0] Interleaved list of addresses:
[tcp @ 0000023967a2f8c0] Address IPADDR port 80
[tcp @ 0000023967a2f8c0] Starting connection attempt to IPADDR port 80
[tcp @ 0000023967a2f8c0] Successfully connected to IPADDR port 80
rtsp://root:pass@IPADDR:80/axis-media/media.amp?event=on&eventtopic=onvif:VideoSource/MotionAlarm/.: Invalid data found when processing input


    


  • ffmpeg program written in C, cannot open my camera in macOS Catalina 10.15.7

    27 mai 2022, par marco0631
    #include 
#include 
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libavdevice/avdevice.h"

AVFormatContext* openCamera(void) {
    avdevice_register_all();
    AVFormatContext *ctx = avformat_alloc_context();
    AVInputFormat *ifmt = av_find_input_format("avfoundation");
    if (ifmt != NULL) {
        AVDictionary *opts = NULL;
        av_dict_set(&opts, "video_size", "1280x720", 0);
        av_dict_set(&opts, "framerate", "30", 0);
        av_dict_set(&opts, "pixel_format", "uyvy422", 0);
        
        int ret = avformat_open_input(&ctx, "0", ifmt, &opts);
        if (ret != 0) {
            printf("no");
            avformat_free_context(ctx);
            return NULL;
        }
    }
    return ctx;
}

int main(int argc, const char *argv[]) {
    openCamera();
}



    


    My code run on Xcode. After I have added the plist file, the running program camera opens for about half a second and then closes. and console output

    


    2022-02-22 00:39:19.372178&#x2B;0800 ffmpeg-tool[5977:195724] [plugin] AddInstanceForFactory: No factory registered for id <cfuuid 0x10640cf60="0x10640cf60"> F8BB1C28-BAE8-11D6-9C31-00039315CD46&#xA;2022-02-22 00:39:19.434783&#x2B;0800 ffmpeg-tool[5977:195724]  HALC_ShellDriverPlugIn::Open: Can&#x27;t get a pointer to the Open routine&#xA;2022-02-22 00:39:19.435262&#x2B;0800 ffmpeg-tool[5977:195724]  HALC_ShellDriverPlugIn::Open: Can&#x27;t get a pointer to the Open routine&#xA;2022-02-22 00:39:19.501780&#x2B;0800 ffmpeg-tool[5977:195724] [plugin] AddInstanceForFactory: No factory registered for id <cfuuid 0x10640f860="0x10640f860"> 30010C1C-93BF-11D8-8B5B-000A95AF9C6A&#xA;2022-02-22 00:39:19.605797&#x2B;0800 ffmpeg-tool[5977:195724] Metal API Validation Enabled&#xA;2022-02-22 00:39:21.701071&#x2B;0800 ffmpeg-tool[5977:195724] [] CMIOHardware.cpp:917:CMIODeviceStopStream the System is exiting&#xA;2022-02-22 00:39:21.701268&#x2B;0800 ffmpeg-tool[5977:195724] [] CMIOHardware.cpp:1332:CMIOStreamCopyBufferQueue the System is exiting&#xA;2022-02-22 00:39:21.701538&#x2B;0800 ffmpeg-tool[5977:195724] [] CMIOHardware.cpp:333:CMIOObjectGetPropertyData the System is exiting&#xA;2022-02-22 00:39:21.701767&#x2B;0800 ffmpeg-tool[5977:195724] [] CMIO_DALA_System.cpp:264:GetPropertyData error 1970171760 (unop) getting property selector (inot) scope (glob) element 0&#xA;2022-02-22 00:39:21.702472&#x2B;0800 ffmpeg-tool[5977:195724] [] CMIOHardware.cpp:333:CMIOObjectGetPropertyData the System is exiting&#xA;2022-02-22 00:39:21.702662&#x2B;0800 ffmpeg-tool[5977:195724] [] CMIO_DALA_System.cpp:264:GetPropertyData error 1970171760 (unop) getting property selector (inot) scope (glob) element 0&#xA;Program ended with exit code: 0&#xA;</cfuuid></cfuuid>

    &#xA;

    How can I solve this problem ?

    &#xA;

  • ffmpeg piped output producing incorrect metadata frame count

    8 décembre 2024, par Xorgon

    The short version : Using piped output from ffmpeg produces a file with incorrect metadata.

    &#xA;

    ffmpeg -y -i .\test_mp4.mp4 -f avi -c:v libx264 - > output.avi to make an AVI file using the pipe output.

    &#xA;

    ffprobe -v error -count_frames -show_entries stream=duration,nb_read_frames,r_frame_rate .\output.avi

    &#xA;

    The output will show that the metadata does not match the actual frames contained in the video.

    &#xA;

    Details below.

    &#xA;


    &#xA;

    Using Python, I am attempting to use ffmpeg to compress videos and put them in a PowerPoint. This works great, however, the video files themselves have incorrect frame counts which can cause issues when I read from those videos in other code.

    &#xA;

    Edit for clarification : by "frame count" I mean the metadata frame count. The actual number of frames contained in the video is correct, but querying the metadata gives an incorrect frame count.

    &#xA;

    Having eliminated the PowerPoint aspect of the code, I've narrowed this down to the following minimal reproducing example of saving an output from an ffmpeg pipe :

    &#xA;

    from subprocess import Popen, PIPE&#xA;&#xA;video_path = &#x27;test_mp4.mp4&#x27;&#xA;&#xA;ffmpeg_pipe = Popen([&#x27;ffmpeg&#x27;,&#xA;                     &#x27;-y&#x27;,  # Overwrite files&#xA;                     &#x27;-i&#x27;, f&#x27;{video_path}&#x27;,  # Input from file&#xA;                     &#x27;-f&#x27;, &#x27;avi&#x27;,  # Output format&#xA;                     &#x27;-c:v&#x27;, &#x27;libx264&#x27;,  # Codec&#xA;                     &#x27;-&#x27;],  # Output to pipe&#xA;                    stdout=PIPE)&#xA;&#xA;new_path = "piped_video.avi"&#xA;vid_file = open(new_path, "wb")&#xA;vid_file.write(ffmpeg_pipe.stdout.read())&#xA;vid_file.close()&#xA;

    &#xA;

    I've tested several different videos. One small example video that I've tested can be found here.

    &#xA;

    I've tried a few different codecs with avi format and tried libvpx with webm format. For the avi outputs, the frame count usually reads as 1073741824 (2^30). Weirdly, for the webm format, the frame count read as -276701161105643264.

    &#xA;

    Edit : This issue can also be reproduced with just ffmpeg in command prompt using the following command :&#xA;ffmpeg -y -i .\test_mp4.mp4 -f avi -c:v libx264 - > output.avi

    &#xA;

    This is a snippet I used to read the frame count, but one could also see the error by opening the video details in Windows Explorer and seeing the total time as something like 9942 hours, 3 minutes, and 14 seconds.

    &#xA;

    import cv2&#xA;&#xA;video_path = &#x27;test_mp4.mp4&#x27;&#xA;new_path = "piped_video.webm"&#xA;&#xA;cap = cv2.VideoCapture(video_path)&#xA;print(f"Original video frame count: = {int(cap.get(cv2.CAP_PROP_FRAME_COUNT)):d}")&#xA;cap.release()&#xA;&#xA;cap = cv2.VideoCapture(new_path)&#xA;print(f"Piped video frame count: = {int(cap.get(cv2.CAP_PROP_FRAME_COUNT)):d}")&#xA;cap.release()&#xA;

    &#xA;

    The error can also be observed using ffprobe with the following command : ffprobe -v error -count_frames -show_entries stream=duration,nb_read_frames,r_frame_rate .\output.avi. Note that the frame rate and number of frames counted by ffprobe do not match with the duration from the metadata.

    &#xA;

    For completeness, here is the ffmpeg output :

    &#xA;

    ffmpeg version 2023-06-11-git-09621fd7d9-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers&#xA;  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)&#xA;  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint&#xA;  libavutil      58. 13.100 / 58. 13.100&#xA;  libavcodec     60. 17.100 / 60. 17.100&#xA;  libavformat    60.  6.100 / 60.  6.100&#xA;  libavdevice    60.  2.100 / 60.  2.100&#xA;  libavfilter     9.  8.101 /  9.  8.101&#xA;  libswscale      7.  3.100 /  7.  3.100&#xA;  libswresample   4. 11.100 /  4. 11.100&#xA;  libpostproc    57.  2.100 / 57.  2.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;test_mp4.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 0&#xA;    compatible_brands: isommp42&#xA;    creation_time   : 2022-08-10T12:54:09.000000Z&#xA;  Duration: 00:00:06.67, start: 0.000000, bitrate: 567 kb/s&#xA;  Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 384x264 [SAR 1:1 DAR 16:11], 563 kb/s, 30 fps, 30 tbr, 30k tbn (default)&#xA;    Metadata:&#xA;      creation_time   : 2022-08-10T12:54:09.000000Z&#xA;      handler_name    : Mainconcept MP4 Video Media Handler&#xA;      vendor_id       : [0][0][0][0]&#xA;      encoder         : AVC Coding&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))&#xA;Press [q] to stop, [?] for help&#xA;[libx264 @ 0000018c68c8b9c0] using SAR=1/1&#xA;[libx264 @ 0000018c68c8b9c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2&#xA;[libx264 @ 0000018c68c8b9c0] profile High, level 2.1, 4:2:0, 8-bit&#xA;Output #0, avi, to &#x27;pipe:&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 0&#xA;    compatible_brands: isommp42&#xA;    ISFT            : Lavf60.6.100&#xA;  Stream #0:0(eng): Video: h264 (H264 / 0x34363248), yuv420p(progressive), 384x264 [SAR 1:1 DAR 16:11], q=2-31, 30 fps, 30 tbn (default)&#xA;    Metadata:&#xA;      creation_time   : 2022-08-10T12:54:09.000000Z&#xA;      handler_name    : Mainconcept MP4 Video Media Handler&#xA;      vendor_id       : [0][0][0][0]&#xA;      encoder         : Lavc60.17.100 libx264&#xA;    Side data:&#xA;      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A&#xA;[out#0/avi @ 0000018c687f47c0] video:82kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.631060%&#xA;frame=  200 fps=0.0 q=-1.0 Lsize=      85kB time=00:00:06.56 bitrate= 106.5kbits/s speed=76.2x    &#xA;[libx264 @ 0000018c68c8b9c0] frame I:1     Avg QP:16.12  size:  3659&#xA;[libx264 @ 0000018c68c8b9c0] frame P:80    Avg QP:21.31  size:   647&#xA;[libx264 @ 0000018c68c8b9c0] frame B:119   Avg QP:26.74  size:   243&#xA;[libx264 @ 0000018c68c8b9c0] consecutive B-frames:  3.0% 53.0%  0.0% 44.0%&#xA;[libx264 @ 0000018c68c8b9c0] mb I  I16..4: 17.6% 70.6% 11.8%&#xA;[libx264 @ 0000018c68c8b9c0] mb P  I16..4:  0.8%  1.7%  0.6%  P16..4: 17.6%  4.6%  3.3%  0.0%  0.0%    skip:71.4%&#xA;[libx264 @ 0000018c68c8b9c0] mb B  I16..4:  0.1%  0.3%  0.2%  B16..8: 11.7%  1.4%  0.4%  direct: 0.6%  skip:85.4%  L0:32.0% L1:59.7% BI: 8.3%&#xA;[libx264 @ 0000018c68c8b9c0] 8x8 transform intra:59.6% inter:62.4%&#xA;[libx264 @ 0000018c68c8b9c0] coded y,uvDC,uvAC intra: 48.5% 0.0% 0.0% inter: 3.5% 0.0% 0.0%&#xA;[libx264 @ 0000018c68c8b9c0] i16 v,h,dc,p: 19% 39% 25% 17%&#xA;[libx264 @ 0000018c68c8b9c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 25% 30%  3%  3%  4%  4%  4%  5%&#xA;[libx264 @ 0000018c68c8b9c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 20% 16%  6%  8%  8%  8%  5%  6%&#xA;[libx264 @ 0000018c68c8b9c0] i8c dc,h,v,p: 100%  0%  0%  0%&#xA;[libx264 @ 0000018c68c8b9c0] Weighted P-Frames: Y:0.0% UV:0.0%&#xA;[libx264 @ 0000018c68c8b9c0] ref P L0: 76.2%  7.9% 11.2%  4.7%&#xA;[libx264 @ 0000018c68c8b9c0] ref B L0: 85.6% 12.9%  1.5%&#xA;[libx264 @ 0000018c68c8b9c0] ref B L1: 97.7%  2.3%&#xA;[libx264 @ 0000018c68c8b9c0] kb/s:101.19&#xA;

    &#xA;

    So the question is : why does this happen, and how can one avoid it ?

    &#xA;