Recherche avancée

Médias (2)

Mot : - Tags -/media

Autres articles (32)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Demande de création d’un canal

    12 mars 2010, par

    En fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
    Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

Sur d’autres sites (4509)

  • What causes Firefox to refuse playing one specific MP4 that plays well on other browsers, resolution being the only difference ?

    3 décembre 2014, par Faro

    I’m a developer for a PHP powered website that allows the upload of videos which get converted to MP4 using ffmpeg. This setup worked pretty well so far, however today I came across a report of a user that couldn’t play one of the files in Firefox.

    I was unable to replicate the issue on my own machine at first, but using a fresh install of Windows 7 I actually got the same issue : The file will not play in Firefox, but works fine in Chrome. If called up directly, Firefox will say "Video can’t be played because the file is corrupt".
    When downloaded, Windows will also not create a thumbnail of the video for the file and WMP will only play the audio part.

    On my own machine the file works perfectly in WMP which made me wonder if it could be a codec issue (I do have the K-Lite Codec Pack installed), however I’ve compared the file to a working one and the only difference is the resolution, filesize and the format profile which is "High@L3.1" for a working file with a 720p resolution and "High@L4.0" for the non-working one (which is 1600x1200).

    I then read through the Wikipedia article on H.264/MPEG-4 AVC and began to wonder if the level might be the issue, and the tool I used (XMedia Recode) actually did not allow me to set a height bigger than 1080 on Level 4, however when I set the level to 5 and encoded the file again, it still wouldn’t play.

    I did find a note on the MDN page of supported formats which reads :

    Firefox/Firefox for Android/Firefox OS supports the format in some cases, but only when a third-party decoder is available, and the device hardware can handle the profile used to encode the MP4.

    I’m assuming that is why the codec pack would allow Firefox to play even the ’broken’ file on my machine, I still don’t understand though why Firefox does play some files but not this one, especially when Chrome on the same machine plays all of them.

    The line in PHP that starts the conversion is as follows :

    exec("/usr/local/bin/ffmpeg '-i' '" . $file_in . "' '-qscale' '4' '-y' '-threads' '1' '-acodec' 'libvo_aacenc' '-vcodec' 'h264' '" . $file_out . "' 2>&1", $buffer, $success);

    This should produce correct files, and this is indeed the first time a file has issues.

    MediaInfo provides this data for the file stream :

    Video
    ID                                       : 1
    Format                                   : AVC
    Format/Info                              : Advanced Video Codec
    Format profile                           : High@L4.0
    Format settings, CABAC                   : Yes
    Format settings, ReFrames                : 4 frames
    Codec ID                                 : avc1
    Codec ID/Info                            : Advanced Video Coding
    Duration                                 : 12mn 26s
    Bit rate                                 : 77.7 Kbps
    Width                                    : 1 600 pixels
    Height                                   : 1 200 pixels
    Display aspect ratio                     : 4:3
    Frame rate mode                          : Constant
    Frame rate                               : 30.000 fps
    Color space                              : YUV
    Chroma subsampling                       : 4:2:0
    Bit depth                                : 8 bits
    Scan type                                : Progressive
    Bits/(Pixel*Frame)                       : 0.001
    Stream size                              : 6.92 MiB (36%)
    Writing library                          : x264 core 142 r14 956c8d8
    Encoding settings                        : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=1 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    Language                                 : English

    Audio
    ID                                       : 2
    Format                                   : AAC
    Format/Info                              : Advanced Audio Codec
    Format profile                           : LC
    Codec ID                                 : 40
    Duration                                 : 12mn 26s
    Duration_LastFrame                       : -10ms
    Bit rate mode                            : Constant
    Bit rate                                 : 128 Kbps
    Channel(s)                               : 2 channels
    Channel positions                        : Front: L R
    Sampling rate                            : 44.1 KHz
    Compression mode                         : Lossy
    Stream size                              : 11.4 MiB (60%)
    Language                                 : English

    I’ve uploaded a zip with 3 versions of the file, the untouched one, the converted one with the same settings the website would use, and another converted one with level 5.

    Maybe I’m missing something obvious, but I couldn’t find anything wrong with it, what do I need to change in order to produce a file that will work natively in Firefox ?

    Also, this is my first question on SO, so if you see anything that I can improve, please let me know :-)

    Edit : This is the output of calling ffmpeg (with the faststart option)

    /usr/local/bin/ffmpeg '-i' '49cf594e91d0dac376aa0b2b96972ded.mp4' '-movflags' '+faststart' '-qscale' '4' '-y' '-threads' '1' '-acodec' 'libvo_aacenc' '-vcodec' 'h264' 'test.mp4'

    ffmpeg version 1.2.5-   http://johnvansickle.com/ffmpeg/    Copyright (c) 2000-2014 the FFmpeg developers
     built on Jan 22 2014 20:28:02 with gcc 4.8 (Debian 4.8.2-14)
     configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --disable-ffserver
     libavutil      52. 18.100 / 52. 18.100
     libavcodec     54. 92.100 / 54. 92.100
     libavformat    54. 63.104 / 54. 63.104
     libavdevice    54.  3.103 / 54.  3.103
     libavfilter     3. 42.103 /  3. 42.103
     libswscale      2.  2.100 /  2.  2.100
     libswresample   0. 17.102 /  0. 17.102
     libpostproc    52.  2.100 / 52.  2.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '49cf594e91d0dac376aa0b2b96972ded.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf54.63.104
     Duration: 00:12:26.37, start: 0.036281, bitrate: 214 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1600x1200 [SAR 1:1 DAR 4:3], 77 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
       Metadata:
         handler_name    : SoundHandler
    Please use -q:a or -q:v, -qscale is ambiguous
    [libx264 @ 0x2802ac0] using SAR=1/1
    [libx264 @ 0x2802ac0] using cpu capabilities: MMX2 SSE2Fast LZCNT
    [libx264 @ 0x2802ac0] profile High, level 4.0
    [libx264 @ 0x2802ac0] 264 - core 142 r14 956c8d8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'test.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf54.63.104
       Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1600x1200 [SAR 1:1 DAR 4:3], q=-1--1, 15360 tbn, 30 tbc
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s
       Metadata:
         handler_name    : SoundHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 -> libx264)
     Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
    Press [q] to stop, [?] for help
    Starting second pass: moving header on top of the file30.77 bitrate= 202.5kbits/s dup=1 drop=0
    frame=15331 fps= 13 q=29.0 Lsize=   13201kB time=00:08:31.03 bitrate= 211.6kbits/s dup=1 drop=0
    video:4673kB audio:7986kB subtitle:0 global headers:0kB muxing overhead 4.286767%
    [libx264 @ 0x2802ac0] frame I:63    Avg QP:12.37  size: 39759
    [libx264 @ 0x2802ac0] frame P:3905  Avg QP:20.36  size:   313
    [libx264 @ 0x2802ac0] frame B:11363 Avg QP:33.67  size:    93
    [libx264 @ 0x2802ac0] consecutive B-frames:  1.1%  0.1%  0.2% 98.6%
    [libx264 @ 0x2802ac0] mb I  I16..4: 48.0% 41.5% 10.5%
    [libx264 @ 0x2802ac0] mb P  I16..4:  0.1%  0.2%  0.0%  P16..4:  0.5%  0.0%  0.0%  0.0%  0.0%    skip:99.1%
    [libx264 @ 0x2802ac0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.3%  0.0%  0.0%  direct: 0.0%  skip:99.7%  L0:50.2% L1:48.9% BI: 0.8%
    [libx264 @ 0x2802ac0] 8x8 transform intra:42.4% inter:36.9%
    [libx264 @ 0x2802ac0] coded y,uvDC,uvAC intra: 6.9% 13.4% 9.4% inter: 0.0% 0.1% 0.0%
    [libx264 @ 0x2802ac0] i16 v,h,dc,p: 82% 17%  1%  0%
    [libx264 @ 0x2802ac0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 20% 49%  0%  0%  0%  0%  0%  0%
    [libx264 @ 0x2802ac0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 20% 18%  3%  4%  4%  4%  4%  3%
    [libx264 @ 0x2802ac0] i8c dc,h,v,p: 80% 12%  7%  1%
    [libx264 @ 0x2802ac0] Weighted P-Frames: Y:0.3% UV:0.3%
    [libx264 @ 0x2802ac0] ref P L0: 74.7%  3.8% 10.6% 10.9%  0.0%
    [libx264 @ 0x2802ac0] ref B L0: 70.3% 28.9%  0.8%
    [libx264 @ 0x2802ac0] ref B L1: 97.9%  2.1%
    [libx264 @ 0x2802ac0] kb/s:74.90
  • youtube-dl (ffmpeg) blank error on embedding subtitles

    22 mars 2021, par Human1

    I am new to using youtube-dl, and therefore is quite unfamiliar with how it works. I configured it to download auto subs and english subs (if there were any), and embed them in the video. It worked for me for quite a good while (1 or 2 months), and it suddenly stopped working with blank errors starting to pop up, and I have no idea why that happened. I have checked that I am using the most updated version of youtube-dl and ffmpeg. I am currently using a m1 mac , and I don't know if that caused the problem. Below is the output I got with the -v command, as well as some background information.

    


    [debug] System config: []
[debug] User config: ['-o', '~/Documents/playlists/%(playlist)s/%(playlist_index)-i%(title)s.%(ext)s', '-f', 'mp4', '--write-sub', '--sub-lang', 'en', '--write-auto-sub', '--embed-subs']
[debug] Custom config: []
[debug] Command-line args: ['https://youtube.com/playlist?list=PL4cUxeGkcC9i3FXJSUfmsNOx8E7u6UuhG', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.03.14
[debug] Git HEAD: 59ada80ca
[debug] Python version 3.9.2 (CPython) - macOS-11.2.3-arm64-arm-64bit
[debug] exe versions: ffmpeg present, ffprobe present, rtmpdump 2.4
[debug] Proxy map: {}
[youtube:tab] PL4cUxeGkcC9i3FXJSUfmsNOx8E7u6UuhG: Downloading webpage
[download] Downloading playlist: CSS Flexbox Tutorial
[youtube:tab] playlist CSS Flexbox Tutorial: Downloading 12 videos
[download] Downloading video 1 of 12
[youtube] Y8zMYaD1bz0: Downloading webpage
[info] Writing video subtitles to: /Users/{username}/Documents/playlists/CSS Flexbox Tutorial/1CSS Flexbox Tutorial #1 - Introduction.en.vtt
[debug] Invoking downloader on 'https://r2---sn-45gpjx-3x4e.googlevideo.com/videoplayback?expire=1616392628&ei=VN1XYKikA9eo1gai6KegBg&ip=45.133.192.196&id=o-APtlxrUI2wU4tPFiSxBi5MzLnuR5EFYL3-TE-BpiPEYG&itag=22&source=youtube&requiressl=yes&mh=U3&mm=31%2C29&mn=sn-45gpjx-3x4e%2Csn-5hne6nlr&ms=au%2Crdu&mv=m&mvi=2&pl=24&initcwndbps=1155000&vprv=1&mime=video%2Fmp4&ns=r0wuXA2lBVMGhop9uJeEHHUF&ratebypass=yes&dur=317.161&lmt=1607169749865434&mt=1616370759&fvip=3&fexp=24001373%2C24007246&c=WEB&txp=5432434&n=_jK4PI5-7sa9Q0X2ye&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRAIgR0wbVc18mWDheT_QVT5Jsbmd647wKJNyVfzGRJd_oOkCIArV-vvKQmD3D7W90dw1l9b3zaJQNzltitp3BJPt2fqA&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhAI9I7LQw5zTAldgCydhe3yzicBgvxYfxeHxI8lCxh3sLAiEAlT8Dpf93fiPbdMI3rHOebH-nFkToCZr1VfWaoX0HVeg%3D'
[download] /Users/{username}/Documents/playlists/CSS Flexbox Tutorial/1CSS Flexbox Tutorial #1 - Introduction.mp4 has already been downloaded
[download] 100% of 16.50MiB
[ffmpeg] Embedding subtitles in '/Users/{username}/Documents/playlists/CSS Flexbox Tutorial/1CSS Flexbox Tutorial #1 - Introduction.mp4'
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:/Users/{username}/Documents/playlists/CSS Flexbox Tutorial/1CSS Flexbox Tutorial #1 - Introduction.mp4' -i 'file:/Users/{username}/Documents/playlists/CSS Flexbox Tutorial/1CSS Flexbox Tutorial #1 - Introduction.en.vtt' -map 0 -c copy -map -0:s -map -0:d -c:s mov_text -map 1:0 -metadata:s:s:0 language=eng 'file:/Users/{username}/Documents/playlists/CSS Flexbox Tutorial/1CSS Flexbox Tutorial #1 - Introduction.temp.mp4'
ERROR: 
Traceback (most recent call last):
  File "/opt/homebrew/Cellar/youtube-dl/2021.3.14/libexec/lib/python3.9/site-packages/youtube_dl/YoutubeDL.py", line 2106, in post_process
    files_to_delete, info = pp.run(info)
  File "/opt/homebrew/Cellar/youtube-dl/2021.3.14/libexec/lib/python3.9/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 426, in run
    self.run_ffmpeg_multiple_files(input_files, temp_filename, opts)
  File "/opt/homebrew/Cellar/youtube-dl/2021.3.14/libexec/lib/python3.9/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 235, in run_ffmpeg_multiple_files
    raise FFmpegPostProcessorError(msg)
youtube_dl.postprocessor.ffmpeg.FFmpegPostProcessorError


    


    I would be very grateful if anyone can tell me what happened and what should I do next. Thanks ! ;)

    


  • FFmpeg return 'invalid argument' only for some runs, even tought is the same code

    20 septembre 2021, par Gustavo Marinho

    I have a code in python where i need to use FFmpeg to merge a audio and a video downloaded using pytube together :

    


            for video in p.videos:
            video.streams.filter(file_extension='mp4',resolution='480p')[0].download(parent_dir+'/mp4/processing/video')
            print(video.streams.filter(only_audio=True)[1].download(parent_dir+'/mp4/processing/audio'))

            subprocess.run([

                r'c:\FFmpeg\bin\ffmpeg', '-i',
                os.path.join(parent_dir+'/mp4/processing/video',video.streams.filter(file_extension='mp4',resolution='480p')[0].default_filename)
                ,'-i',
                os.path.join(parent_dir+'/mp4/processing/audio',video.streams.filter(only_audio=True)[1].default_filename),
                '-c:v','copy','-c:a','copy',
                os.path.join(parent_dir+'/mp4',video.streams.filter(file_extension='mp4',resolution='480p')[0].title+'.mp4')

            ])


    


    I tought the code was working perfectly, but in some cases, the FFmpeg returns "invalid argument", like this example :

    


    ffmpeg version 4.4-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --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-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
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:/videos/mp4/processing/video\Dropkick Murphys - Rose Tattoo (Video).mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2020-04-04T10:16:52.000000Z
  Duration: 00:05:26.08, start: 0.000000, bitrate: 557 kb/s
  Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 854x480 [SAR 1:1 DAR 427:240], 7 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    Metadata:
      creation_time   : 2020-04-04T10:16:52.000000Z
      handler_name    : ISO Media file produced by Google Inc.
      vendor_id       : [0][0][0][0]
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'D:/videos/mp4/processing/audio\Dropkick Murphys - Rose Tattoo (Video).mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6mp41
    creation_time   : 2020-04-04T10:16:00.000000Z
  Duration: 00:05:26.12, start: 0.000000, bitrate: 129 kb/s
  Stream #1:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 3 kb/s (default)
    Metadata:
      creation_time   : 2020-04-04T10:16:00.000000Z
      handler_name    : ISO Media file produced by Google Inc.
      vendor_id       : [0][0][0][0]
D:/videos/mp4\Dropkick Murphys - "Rose Tattoo" (Video).mp4: Invalid argument


    


    For some reason, the FFmpeg say that my output name is invalid, but i don't understand why, given that i ran the code multiple times before and it worked perfectly

    


    Thanks in advance, sorry for my bad english :3