Recherche avancée

Médias (91)

Autres articles (111)

  • Soumettre améliorations et plugins supplémentaires

    10 avril 2011

    Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
    Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

Sur d’autres sites (2591)

  • Stream specifier ':a' in filtergraph description [0:v][0:a][1:v][1:a]concat=a=1:n=2:v=1[s0][s1] matches no streams

    6 septembre 2022, par Mash

    I am using ffmpeg-python and I am trying to make a code that gets all the clips from a folder, converts all of them to the same format then merge all of them with their audio to one final video file.

    


    Here is how the python script looks like

    


    import os
import ffmpeg

dir = "./clips/"

# Reshape video
for f in os.listdir(dir):
  (
    ffmpeg
    .input(os.path.join(dir, f))
    .filter("scale", size="hd1080", force_original_aspect_ratio="increase")
    .filter('fps', fps=60, round='up')
    .output(str(os.path.join(dir, f))[:-4] + "_reshaped.mp4")
    .run()
  )

# Select reshaped video
files = []

for f in os.listdir(dir):
  if "_reshaped.mp4" in str(os.path.join(dir, f)):
    files.append(ffmpeg.input(str(os.path.join(dir, f))))

# eparate video and audio, then flat the array
video_and_audios_files = [item for sublist in map(lambda f: [f.video, f.audio], files) for item in sublist]

# concat all
joined = (
    ffmpeg
    .concat(*video_and_audios_files, v=1, a=1)
    .node
)

# merge video and audio
(
    ffmpeg
    .output(joined[0], joined[1], "./out.mp4")
    .run()
)



    


    Now here is my output, this is the output of the part of the code that merges every clip into one (aka the merge video and audio section of the code)

    


    ffmpeg version 5.1.1-essentials_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers&#xA;  built with gcc 12.1.0 (Rev2, 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-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf &#xA;--enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband&#xA;  libavutil      57. 28.100 / 57. 28.100&#xA;  libavcodec     59. 37.100 / 59. 37.100&#xA;  libavformat    59. 27.100 / 59. 27.100&#xA;  libavdevice    59.  7.100 / 59.  7.100&#xA;  libavfilter     8. 44.100 /  8. 44.100&#xA;  libswscale      6.  7.100 /  6.  7.100&#xA;  libswresample   4.  7.100 /  4.  7.100&#xA;  libpostproc    56.  6.100 / 56.  6.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;./clips/clip1_reshaped.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf59.27.100&#xA;  Duration: 00:00:26.02, start: 0.000000, bitrate: 7432 kb/s&#xA;  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 7425 kb/s, 60 fps, 60 tbr, 15360 tbn (default)      &#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;      vendor_id       : [0][0][0][0]&#xA;      encoder         : Lavc59.37.100 libx264&#xA;Input #1, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;./clips/clip2_reshaped.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf59.27.100&#xA;  Duration: 00:00:05.00, start: 0.000000, bitrate: 11445 kb/s&#xA;  Stream #1:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, unknown/bt709/unknown, progressive), 1920x1080, 11438 kb/s, 60 fps, 60 tbr, 15360 tbn (default)        &#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;      vendor_id       : [0][0][0][0]&#xA;      encoder         : Lavc59.37.100 libx264&#xA;Stream specifier &#x27;:a&#x27; in filtergraph description [0:v][0:a][1:v][1:a]concat=a=1:n=2:v=1[s0][s1] matches no streams.&#xA;Traceback (most recent call last):&#xA;  File "c:\Users\USERNAME\Desktop\auto_poster\concat_vids.py", line 38, in <module>&#xA;    .run()&#xA;  File "C:\Users\USERNAME\AppData\Local\Programs\Python\Python310\lib\site-packages\ffmpeg\_run.py", line 325, in run&#xA;    raise Error(&#x27;ffmpeg&#x27;, out, err)&#xA;ffmpeg._run.Error: ffmpeg error (see stderr output for detail)&#xA;</module>

    &#xA;

    Can I get some help please ? I am on Windows 10

    &#xA;

  • FFmpeg ERROR : Feed with name 'ffm' for stream 'm3u8' is not defined

    7 septembre 2022, par H.W.Kim

    I'm running ffmpeg at :

    &#xA;

    Ubuntu 18.04.5 LTS&#xA;ffmpeg version 3.4.11-0ubuntu0.1&#xA;

    &#xA;

    I'm trying to run the video server using ffserver so I modified /etc/ffserver.conf and tagged that .conf file for hls streaming.

    &#xA;

    /etc/ffserver.conf - added part&#xA;<stream>&#xA;Feed /etc/feed1.ffm&#xA;File "/stream_src/test001/test001.m3u8"&#xA;Format mp4&#xA;VideoCodec mpeg2video&#xA;VideoFrameRate 1&#xA;VideoIntraOnly&#xA;NoAudio&#xA;<stream>&#xA;</stream></stream>

    &#xA;

    But when I runned ffserver -f /etc/server.conf, it tooks an error as shown :

    &#xA;

    root@server-itsteam:/home/server# ffserver -f /etc/ffserver.conf&#xA;\ffserver version 3.4.11-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers&#xA;  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)&#xA;  configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared&#xA;  libavutil      55. 78.100 / 55. 78.100&#xA;  libavcodec     57.107.100 / 57.107.100&#xA;  libavformat    57. 83.100 / 57. 83.100&#xA;  libavdevice    57. 10.100 / 57. 10.100&#xA;  libavfilter     6.107.100 /  6.107.100&#xA;  libavresample   3.  7.  0 /  3.  7.  0&#xA;  libswscale      4.  8.100 /  4.  8.100&#xA;  libswresample   2.  9.100 /  2.  9.100&#xA;  libpostproc    54.  7.100 / 54.  7.100&#xA;/etc/ffserver.conf:164: Setting default value for video bit rate tolerance = 64000. Use NoDefaults to disable it.&#xA;/etc/ffserver.conf:164: Setting default value for video rate control equation = tex^qComp. Use NoDefaults to disable it.&#xA;/etc/ffserver.conf:164: Setting default value for video max rate = 128000. Use NoDefaults to disable it.&#xA;/etc/ffserver.conf:219: Setting default value for audio sample rate = 22050. Use NoDefaults to disable it.&#xA;/etc/ffserver.conf:219: Setting default value for audio channel count = 1. Use NoDefaults to disable it.&#xA;/etc/ffserver.conf:219: Setting default value for video bit rate tolerance = 64000. Use NoDefaults to disable it.&#xA;/etc/ffserver.conf:219: Setting default value for video rate control equation = tex^qComp. Use NoDefaults to disable it.&#xA;/etc/ffserver.conf:219: Setting default value for video max rate = 512000. Use NoDefaults to disable it.&#xA;/etc/ffserver.conf:375: Feed with name &#x27;/etc/feed1.ffm&#x27; for stream &#x27;test001.m3u8&#x27; is not defined&#xA;Error reading configuration file &#x27;/etc/ffserver.conf&#x27;: Invalid argument&#xA;

    &#xA;

    Why does this error occur ?&#xA;And is there any part that causes errors in the syntax I wrote ?

    &#xA;

  • FFmpeg C API HLS real time timestamps

    7 septembre 2022, par Robin

    I'm using the FFmpeg C API in C++ to read from a HLS stream. I need to know the real time of each AVPacket. I can extract the pts using AVPacket::pts but that is relative to the start of the stream.

    &#xA;

    This is how the .m3u8 file looks :

    &#xA;

    #EXTM3U&#xA;#EXT-X-VERSION:3&#xA;#EXT-X-ALLOW-CACHE:NO&#xA;#EXT-X-TARGETDURATION:10&#xA;#EXT-X-MEDIA-SEQUENCE:0&#xA;&#xA;#EXT-X-PROGRAM-DATE-TIME:2022-09-07T14:01:56.612&#x2B;02:00&#xA;#EXTINF:10.322561783,&#xA;1662552116.ts&#xA;#EXT-X-PROGRAM-DATE-TIME:2022-09-07T14:02:06.935&#x2B;02:00&#xA;#EXTINF:10.320075936,&#xA;1662552126.ts&#xA;&#xA;...&#xA;

    &#xA;

    The .m3u8 file contains an accurate EXT-X-PROGRAM-DATE-TIME, but how can I extract the one of the currently playing segment ?

    &#xA;

    Alternatively, the file name of each .ts file is the unix timestamp in seconds. Can I extract that somehow ?

    &#xA;

    If none of those are possibly, is it possible to control the exact number of preloaded segments ? I know the (approximate) segment length is 10 seconds so I could just do the following when receiving the first AVPacket :

    &#xA;

    start_time = current_time - segment_count * segment_length`&#xA;start_pts = first_av_packet.pts&#xA;

    &#xA;

    And then to get the time of a later AVPacket, I could do :

    &#xA;

    packet_time = start_time &#x2B; new_packet.pts - start_pts&#xA;

    &#xA;

    This wouldn't give the same accuracy since the segments are not exactly the same length, but that is okay.

    &#xA;