Recherche avancée

Médias (2)

Mot : - Tags -/media

Autres articles (88)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

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

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (8470)

  • FFMpegCore.Exceptions.FFMpegException : 'ffmpeg exited with non-zero exit-code'

    15 octobre 2024, par secretply

    I am looking to retrieve the loudnorm data in JSON format from FFmpeg (using FFMpegCore 5.1.0). This is the code I currently have :

    


    await FFMpegArguments
    .FromPipeInput(new StreamPipeSource(fileStream.OpenReadStream()))
    .OutputToPipe(new StreamPipeSink(outputStream), options => options.WithCustomArgument("-af loudnorm=print_format=json"))
    .ProcessAsynchronously();


    


    This is the exception I get, which is similar to this old GitHub issue.

    


    System.IO.IOException: 'Pipe is broken.'

This exception was originally thrown at this call stack:
    System.IO.Pipes.PipeStream.PipeValueTaskSource.GetResult(short)
    System.IO.Pipes.PipeStream.PipeValueTaskSource.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(short)
    System.IO.Stream.CopyToAsync.__Core|27_0(System.IO.Stream, System.IO.Stream, int, System.Threading.CancellationToken) in Stream.cs
    FFMpegCore.Arguments.InputPipeArgument.ProcessDataAsync(System.Threading.CancellationToken)
    FFMpegCore.Arguments.PipeArgument.During(System.Threading.CancellationToken)
    FFMpegCore.FFMpegArguments.During(System.Threading.CancellationToken)
    FFMpegCore.FFMpegArgumentProcessor.Process(Instances.ProcessArguments, System.Threading.CancellationTokenSource)
    FFMpegCore.FFMpegArgumentProcessor.ProcessAsynchronously(bool, FFMpegCore.FFOptions)


    


    I am trying to replicate the following FFmpeg command and JSON output :

    


    ffmpeg -i "file.flac" -af loudnorm=print_format=json -f null -


    


    {
        "input_i" : "-21.87",
        "input_tp" : "-7.13",
        "input_lra" : "5.00",
        "input_thresh" : "-32.04",
        "output_i" : "-24.76",
        "output_tp" : "-10.36",
        "output_lra" : "4.10",
        "output_thresh" : "-34.84",
        "normalization_type" : "dynamic",
        "target_offset" : "0.76"
}


    


    If I add .ForceFormat("null") to the OutputToPipe options, I do not get the exception but when I read the output stream, it returns an empty string. In the issue mentioned, I know they mentioned a way to get the FFMpegErrorOutput property but I do not know how that can be done. I could not find an example of outputting a stream as JSON. If anyone can point me in the right direction or can provide an alternative solution, I would greatly appreciate it.

    


    Update

    


    I made a change to the StreamPipeSource() method where I copied over the uploaded file to a MemoryStream. With this change, the following FFMpegException is thrown.

    


    FFMpegCore.Exceptions.FFMpegException: 'ffmpeg exited with non-zero exit-code (-22 - ffmpeg version 7.0.1-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13.2.0 (Rev5, 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-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-libxevd --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --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
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
[in#0 @ 000001bda86c67c0] Error opening input: Invalid argument
Error opening input file \\.\pipe\FFMpegCore_c6e5c.
Error opening input files: Invalid argument)'


    


  • "Error opening input" error when running ffmpeg via shell script

    15 octobre 2024, par Roni Yaniv

    I'm on a macbook running sonoma 14.7.

    


    I have the following ffmpeg command which runs just fine by itself in the same folder of the files I need to modify :

    


    ffmpeg -i "water-stream-90fps.mp4" -vf "drawtext=text='Frame\: %{frame_num}': start_number=1: x=(w-text_w): y=(h-text_h):fontsize=(h*10/100):fontcolor=yellow,drawtext=text='%{pts\:hms}':x=0:y=0:fontsize=(h*10/100):fontcolor=yellow" "water-stream-90fps-with-markers.mp4"

    


    However, when I try to use it in a shell script by running ./add_markers.sh in the same folder, I get an error.

    


    This is the add_markers.sh script :

    


    #!/bin/bash

# Replace '/path/to/your/folder' with the actual path to your folder
folder=$(pwd)

# Replace 'ffmpeg -i input.mp4 -vf scale=640:480 output.mp4' with your desired FFmpeg command
ffmpeg_command="ffmpeg -i input.mp4 -vf \"drawtext=text='Frame\: %{frame_num}': start_number=1: x=(w-text_w): y=(h-text_h):fontsize=(h*10/100):fontcolor=yellow,drawtext=text='%{pts\:hms}':x=0:y=0:fontsize=(h*10/100):fontcolor=yellow\" output.mp4"

echo "$ffmpeg_command"

# Loop through all files in the folder and execute the FFmpeg command

for file in "$folder"/*; do
    filename=$(basename "${file%.*}") #get only the first part of the file name without path or extension

    # Replace 'input.mp4' with the current filename and 'output.mp4' with the new filename. 
    # Added double quotes to manage filenames with spaces.
    new_command="${ffmpeg_command//input.mp4/\"$filename.mp4\"}"
    new_command="${new_command//output.mp4/\"$filename-with-markers.mp4\"}"

    echo "Running $new_command"

    $new_command

done


    


    This is the error I get (for one of the files, same error for all of them) :

    


    Running ffmpeg -i "water-stream-90fps.mp4" -vf "drawtext=text='Frame\: %{frame_num}': start_number=1: x=(w-text_w): y=(h-text_h):fontsize=(h*10/100):fontcolor=yellow,drawtext=text='%{pts\:hms}':x=0:y=0:fontsize=(h*10/100):fontcolor=yellow" "water-stream-90fps-with-markers.mp4"
ffmpeg version 7.0 Copyright (c) 2000-2024 the FFmpeg developers
  built with Apple clang version 15.0.0 (clang-1500.3.9.4)
  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopenvino --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
[in#0 @ 0x6000015bc300] Error opening input: No such file or directory
Error opening input file "water-stream-90fps.mp4".
Error opening input files: No such file or directory


    


    I tried all kinds of things but my brain is starting to swell. Any guidance/help would be appreciated.

    


  • ffmpeg unable to get duration/bitrate of remote gif

    17 février, par Peter Xia

    I'm trying to get the duration of a gif.

    


    The command ffmpeg -i https://cdn.7tv.app/emote/01F6MZGCNG000255K4X1K7NTHR/4x.gif

    


    gives
Duration: N/A, start: 0.000000, bitrate: N/A

    


    However if i download the file and pass it in
ffmpeg -i 4x.gif

    


    it gives :
Duration: 00:00:07.92, start: 0.000000, bitrate: 1225 kb/s

    


    The issue seems limited only to gifs on 7tv site.

    


      

    • It works for other sites. (example : ffmpeg -i https://c.tenor.com/ULCY5B996-oAAAAd/tenor.gif).
    • 


    • It also works for other encodings of that image (exmaple ffmpeg -i https://cdn.7tv.app/emote/01F6MZGCNG000255K4X1K7NTHR/4x.avif)
    • 


    


    Here is the HTTP response header from 7tv site of that gif :

    


    HTTP/2 200 
content-type: image/gif
content-length: 1213725
x-7tv-cache-hits: 37527
x-7tv-cache: hit
age: 228365
cache-control: public, max-age=604800, s-maxage=86400, immutable
alt-svc: h3=":443"; ma=2592000
x-7tv-cdn-pod: cdn-ssprq
x-7tv-cdn-node: cdn-1
server: SevenTV
vary: origin, access-control-request-method, access-control-request-headers
access-control-allow-origin: *
access-control-expose-headers: *
date: Sun, 16 Feb 2025 20:47:28 GMT


    


    Can someone help me understand ? Something spcecific to this site is causing ffmpeg to behave differently ?