Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (38)

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

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

Sur d’autres sites (7143)

  • FFmpeg wrong codecstring for DASH manifest [closed]

    21 novembre 2024, par Suxsem

    I'm trying to create a DASH stream with ffmpeg with the following command :

    


    ffmpeg -i rtsp://admin:***@camera-retro.lan/ch0_0 ^
       -map 0 ^
       -codec:v copy ^
       -codec:a copy ^
       -f dash ^
       -use_template 1 ^
       -use_timeline 1 ^
       -window_size 50 ^
       -extra_window_size 5 ^
       -seg_duration 5 ^
       tmp/output.mpd


    


    The problem is the generated manifest doesn't contain a valid codecstring for the video part (note the codecs="hev1" part) and thus is not playable by the browser :

    


    &lt;?xml version="1.0" encoding="utf-8"?>&#xA;<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minimumupdateperiod="PT6S" suggestedpresentationdelay="PT6S" availabilitystarttime="2024-11-21T12:05:52.604Z" publishtime="2024-11-21T12:05:57.559Z" timeshiftbufferdepth="PT5M1.9S" maxsegmentduration="PT5.0S" minbuffertime="PT12.0S">&#xA;    <programinformation>&#xA;        &#xA;    </programinformation>&#xA;    <servicedescription>&#xA;    </servicedescription>&#xA;    <period start="PT0.0S">&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" maxwidth="2304" maxheight="1296" par="16:9">&#xA;            <representation mimetype="video/mp4" codecs="hev1" bandwidth="822093" width="2304" height="1296" scantype="unknown" sar="1:1">&#xA;                <segmenttemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="542990"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true">&#xA;            <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="34143" audiosamplingrate="16000">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="1"></audiochannelconfiguration>&#xA;                <segmenttemplate timescale="16000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="81001"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;    </period>&#xA;</mpd>&#xA;

    &#xA;

    This is the output of ffprobe :

    &#xA;

    SDP:&#xA;v=0&#xA;o=- 1732188474342789 1 IN IP4 192.168.12.162&#xA;s=Session streamed by "rRTSPServer"&#xA;i=ch0_0.h264&#xA;t=0 0&#xA;a=tool:LIVE555 Streaming Media v2023.01.19&#xA;a=type:broadcast&#xA;a=control:*&#xA;a=range:npt=now-&#xA;a=x-qt-text-nam:Session streamed by "rRTSPServer"&#xA;a=x-qt-text-inf:ch0_0.h264&#xA;m=video 0 RTP/AVP 96&#xA;c=IN IP4 0.0.0.0&#xA;b=AS:700&#xA;a=rtpmap:96 H265/90000&#xA;a=fmtp:96 profile-space=0;profile-id=1;tier-flag=0;level-id=186;interop-constraints=000000000000;sprop-vps=QAEMAf//AWAAAAMAAAMAAAMAAAMAuqwJ;sprop-sps=QgEBAWAAAAMAAAMAAAMAAAMAuqABICAFEf5a7kSIi/Lc1AQEBAI=;sprop-pps=RAHA8oSJAzJA&#xA;a=control:track1&#xA;m=audio 0 RTP/AVP 97&#xA;c=IN IP4 0.0.0.0&#xA;b=AS:32&#xA;a=rtpmap:97 MPEG4-GENERIC/16000&#xA;a=fmtp:97 streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1408&#xA;a=control:track2&#xA;

    &#xA;

    it seems to me that all codec informations are present :

    &#xA;

    a=fmtp:96 profile-space=0;profile-id=1;tier-flag=0;level-id=186;interop-constraints=000000000000;&#xA;

    &#xA;

    why ffmpeg is putting only codecs="hev1" instead of the full codecstring (containing the profile, the level and the constraints) ?

    &#xA;

    Thank you

    &#xA;

  • Converting HLS Stream to stream supported by old radio

    29 novembre 2024, par Alberto Faenza

    I have an old internet radio that does not support HLS streams.&#xA;Therefore I cannot listen to my favourite radio at this url :&#xA;https://streamcdnf31-4c4b867c89244861ac216426883d1ad0.msvdn.net/radiodeejay/radiodeejay/master_ma.m3u8

    &#xA;

    I found a solution using a paid software https://minimradio.com/ which is based on minimserver and minimstreamer.

    &#xA;

    This solution works if I install mininmserver and minimstreamer on a local computer and use the internet radio to point to the converter stream but I will have to pay if I want to use this.

    &#xA;

    Checking the documentation of minimradio and ministreamer I can see the following :

    &#xA;

    *Some internet radios can play the previous AAC ADTS streams but can't play these new HLS streams&#xA;...

    &#xA;

    If the network stream URL points to an HLS .m3u8 master playlist or media playlist file, MinimStreamer reads this file and uses the HLS protocol to read the stream audio data and send it to the music player as a conventional HTTP stream. This makes the stream playable on music players that don't support the HLS protocol. The audio data in the stream must be encoded in AAC format.*&#xA;and not a single destination receiver I should use a streaming (broadcasting) server. What can I use to do that ?

    &#xA;

    My question is the following :&#xA;Is there a way to replicate what minimstreamer is doing using ffmpeg ?&#xA;I have tried this :

    &#xA;

    &#xA;

    ffmpeg -re -i https://streamcdnf31-4c4b867c89244861ac216426883d1ad0.msvdn.net/radiodeejay/radiodeejay/master_ma.m3u8 -c copy -listen 1 -f mpegts http://192.168.1.9:10000

    &#xA;

    &#xA;

    which is playing corrctly in local vlc on the same computer. But when I stop VLC is got this error in ffmpeg :

    &#xA;

    [https @ 00000291de047400] Cannot reuse HTTP connection for different host: StreamCdnG20-4c4b867c89244861ac216426883d1ad0.msvdn.net:-1 != 4c4b867c89244861ac216426883d1ad0.msvdn.net:-1&#xA;[hls @ 00000291dd96d140] keepalive request failed for &#x27;https://4c4b867c89244861ac216426883d1ad0.msvdn.net/radiodeejay/radiodeejay/play1.m3u8&#x27; with error: &#x27;Invalid argument&#x27; when parsing playlist&#xA;[hls @ 00000291dd96d140] Opening &#x27;https://4c4b867c89244861ac216426883d1ad0.msvdn.net/radiodeejay/radiodeejay/play1.m3u8&#x27; for reading&#xA;[hls @ 00000291dd96d140] Skip (&#x27;#EXT-X-DISCONTINUITY-SEQUENCE:0&#x27;)&#xA;[hls @ 00000291dd96d140] Skip (&#x27;#EXT-X-PROGRAM-DATE-TIME:2024-11-29T06:36:56.926Z&#x27;)&#xA;[hls @ 00000291dd96d140] Skip (&#x27;#EXT-X-PROGRAM-DATE-TIME:2024-11-29T06:37:07.314Z&#x27;)&#xA;[hls @ 00000291dd96d140] Skip (&#x27;#EXT-X-PROGRAM-DATE-TIME:2024-11-29T06:37:17.571Z&#x27;)&#xA;[https @ 00000291de4e00c0] Opening &#x27;https://StreamCdnG20-4c4b867c89244861ac216426883d1ad0.msvdn.net/radiodeejay/radiodeejay/20240722T095729_p1s_001086632.ts&#x27; for reading&#xA;[aost#0:0/copy @ 00000291de1c4f40] Error submitting a packet to the muxer: Error number -10054 occurred&#xA;    Last message repeated 1 times&#xA;[out#0/mpegts @ 00000291deaa7e40] Error muxing a packet&#xA;[out#0/mpegts @ 00000291deaa7e40] Task finished with error code: -10054 (Error number -10054 occurred)&#xA;[out#0/mpegts @ 00000291deaa7e40] Terminating thread with return code -10054 (Error number -10054 occurred)&#xA;[out#0/mpegts @ 00000291deaa7e40] Error writing trailer: Error number -10054 occurred&#xA;[http @ 00000291de8870c0] URL read error: Error number -10054 occurred&#xA;[out#0/mpegts @ 00000291deaa7e40] Error closing file: Error number -10054 occurred&#xA;[out#0/mpegts @ 00000291deaa7e40] video:0KiB audio:797KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 21.849292%&#xA;size=     971KiB time=00:00:50.98 bitrate= 156.0kbits/s speed=1.01x&#xA;Conversion failed!&#xA;

    &#xA;

    And if I try to connect from my internet radio I immediately got this error :

    &#xA;

    [aost#0:0/copy @ 0000027081584a40] Error submitting a packet to the muxer: Error number -10053 occurred&#xA;    Last message repeated 1 times&#xA;[out#0/mpegts @ 0000027081e684c0] Error muxing a packet&#xA;[out#0/mpegts @ 0000027081e684c0] Task finished with error code: -10053 (Error number -10053 occurred)&#xA;[out#0/mpegts @ 0000027081e684c0] Terminating thread with return code -10053 (Error number -10053 occurred)&#xA;[out#0/mpegts @ 0000027081e684c0] Error writing trailer: Error number -10053 occurred&#xA;[http @ 0000027081c47680] URL read error: Error number -10053 occurred&#xA;[out#0/mpegts @ 0000027081e684c0] Error closing file: Error number -10053 occurred&#xA;[out#0/mpegts @ 0000027081e684c0] video:0KiB audio:46KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 13.917515%&#xA;size=      52KiB time=00:00:02.94 bitrate= 145.1kbits/s speed= 1.2x&#xA;Conversion failed!&#xA;

    &#xA;

    What is the correct way to stream this one locally in order to be listened in my internet radio ?&#xA;Shall I use ffmpeg or can be done directly with ngnix ? Or shall I use both ?

    &#xA;

  • How do I get drawtext filter in ffmpeg to work on ubuntu 22.04 ?

    3 décembre 2024, par chovy

    Here's my script, but no matter what I try the drawtext filter is not enabled :

    &#xA;

    #!/bin/bash&#xA;&#xA;set -e  # Exit on any error&#xA;&#xA;# Define installation directories&#xA;INSTALL_DIR="$HOME/ffmpeg_build"&#xA;BIN_DIR="$HOME/bin"&#xA;SOURCE_DIR="$HOME/ffmpeg_sources"&#xA;NUM_CORES=$(nproc)&#xA;&#xA;echo "Creating necessary directories..."&#xA;mkdir -p "$INSTALL_DIR" "$BIN_DIR" "$SOURCE_DIR"&#xA;&#xA;# Install required tools and dependencies&#xA;echo "Installing build tools and essential libraries..."&#xA;sudo apt-get update&#xA;sudo apt-get install -y \&#xA;  autoconf automake build-essential cmake git-core libass-dev \&#xA;  libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev \&#xA;  libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev \&#xA;  meson ninja-build pkg-config texinfo wget yasm zlib1g-dev \&#xA;  nasm libnuma-dev libfdk-aac-dev libmp3lame-dev libopus-dev \&#xA;  libfreetype6 libdrm-dev mercurial&#xA;&#xA;# Remove system-installed x264 and x265 to prevent conflicts&#xA;sudo apt-get remove -y libx264-dev libx265-dev x264 x265&#xA;&#xA;# Build dependencies&#xA;cd "$SOURCE_DIR"&#xA;&#xA;# Install libx264 (static)&#xA;if [ ! -d "$SOURCE_DIR/x264" ]; then&#xA;  echo "Building and installing libx264..."&#xA;  git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git&#xA;  cd x264&#xA;  make distclean || true&#xA;  ./configure --prefix="$INSTALL_DIR" --enable-static --disable-opencl&#xA;  make -j$NUM_CORES&#xA;  make install&#xA;  cd "$SOURCE_DIR"&#xA;fi&#xA;&#xA;# Install libx265 (static)&#xA;if [ ! -d "$SOURCE_DIR/x265" ]; then&#xA;  echo "Building and installing libx265..."&#xA;  git clone --depth 1 https://github.com/videolan/x265.git&#xA;  cd x265/build/linux&#xA;  cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \&#xA;    -DENABLE_SHARED=OFF -DENABLE_PIC=ON -DENABLE_PKGCONFIG=ON ../../source&#xA;  make -j$NUM_CORES&#xA;  make install&#xA;  cd "$SOURCE_DIR"&#xA;fi&#xA;&#xA;# Install libvpx (static)&#xA;if [ ! -d "$SOURCE_DIR/libvpx" ]; then&#xA;  echo "Building and installing libvpx..."&#xA;  git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git&#xA;  cd libvpx&#xA;  ./configure --prefix="$INSTALL_DIR" --disable-examples --disable-unit-tests \&#xA;    --enable-vp9-highbitdepth --as=yasm --enable-static --enable-pic&#xA;  make -j$NUM_CORES&#xA;  make install&#xA;  cd "$SOURCE_DIR"&#xA;fi&#xA;&#xA;# Install libopus (static)&#xA;if [ ! -d "$SOURCE_DIR/opus" ]; then&#xA;  echo "Building and installing libopus..."&#xA;  git clone --depth 1 https://github.com/xiph/opus.git&#xA;  cd opus&#xA;  ./autogen.sh&#xA;  ./configure --prefix="$INSTALL_DIR" --disable-shared&#xA;  make -j$NUM_CORES&#xA;  make install&#xA;  cd "$SOURCE_DIR"&#xA;fi&#xA;&#xA;# Install libaom (static)&#xA;if [ ! -d "$SOURCE_DIR/aom" ]; then&#xA;  echo "Building and installing libaom..."&#xA;  git clone --depth 1 https://aomedia.googlesource.com/aom&#xA;  mkdir -p aom_build&#xA;  cd aom_build&#xA;  cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \&#xA;    -DBUILD_SHARED_LIBS=0 -DENABLE_NASM=1 -DCMAKE_C_FLAGS="-fPIC" ../aom&#xA;  make -j$NUM_CORES&#xA;  make install&#xA;  cd "$SOURCE_DIR"&#xA;fi&#xA;&#xA;# Build and install FFmpeg&#xA;echo "Building and installing FFmpeg..."&#xA;cd "$SOURCE_DIR"&#xA;if [ ! -d "$SOURCE_DIR/ffmpeg" ]; then&#xA;  git clone --depth 1 https://git.ffmpeg.org/ffmpeg.git ffmpeg&#xA;  cd ffmpeg&#xA;else&#xA;  cd ffmpeg&#xA;  git pull&#xA;fi&#xA;&#xA;export PKG_CONFIG_PATH="$INSTALL_DIR/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/$(uname -m)-linux-gnu/pkgconfig:$PKG_CONFIG_PATH"&#xA;&#xA;make distclean&#xA;&#xA;./configure \&#xA;  --prefix="$INSTALL_DIR" \&#xA;  --pkg-config-flags="--static" \&#xA;  --extra-cflags="-I$INSTALL_DIR/include" \&#xA;  --extra-ldflags="-L$INSTALL_DIR/lib" \&#xA;  --extra-libs="-lpthread -lm" \&#xA;  --bindir="$BIN_DIR" \&#xA;  --enable-gpl \&#xA;  --enable-nonfree \&#xA;  --enable-libfreetype \&#xA;  --enable-libx264 \&#xA;  --enable-libvpx \&#xA;  --enable-libmp3lame \&#xA;  --enable-libopus \&#xA;  --enable-libass \&#xA;  --enable-libvorbis \&#xA;  --enable-libaom \&#xA;  --enable-libdrm \&#xA;  --enable-version3 \&#xA;  --enable-static \&#xA;  --disable-shared \&#xA;  --enable-small&#xA;  &#xA;make -j$NUM_CORES&#xA;make install&#xA;&#xA;# Add ffmpeg to PATH&#xA;echo "export PATH=\"$BIN_DIR:\$PATH\"" >> "$HOME/.bashrc"&#xA;source "$HOME/.bashrc"&#xA;&#xA;# Final checks&#xA;echo "FFmpeg installation complete. Verifying installation..."&#xA;ffmpeg -version&#xA;&#xA;

    &#xA;

    Here is my buildconf which appears correct :

    &#xA;

    $ ffmpeg -buildconf  &#xA;&#xA;ffmpeg version N-117989-gcb27e478f7 Copyright (c) 2000-2024 the FFmpeg developers&#xA;  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)&#xA;  configuration: --prefix=/usr/local --extra-cflags=-I/home/ubuntu/src/ffmpeg_build/include --extra-ldflags=-L/home/ubuntu/src/ffmpeg_build/lib --bindir=/usr/local/bin --enable-gpl --enable-nonfree --enable-libfreetype --enable-libx264 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libass --enable-libvorbis --enable-libaom --enable-libdrm --enable-version3 --enable-shared --enable-filter=drawtext  libavutil      59. 47.101 / 59. 47.101  libavcodec     61. 26.100 / 61. 26.100  libavformat    61.  9.100 / 61.  9.100  libavdevice    61.  4.100 / 61.  4.100  libavfilter    10.  6.101 / 10.  6.101  libswscale      8. 12.100 /  8. 12.100  libswresample   5.  4.100 /  5.  4.100&#xA;  libpostproc    58.  4.100 / 58.  4.100&#xA;&#xA;  configuration:    --prefix=/usr/local&#xA;    --extra-cflags=-I/home/ubuntu/src/ffmpeg_build/include&#xA;    --extra-ldflags=-L/home/ubuntu/src/ffmpeg_build/lib&#xA;    --bindir=/usr/local/bin&#xA;    --enable-gpl    --enable-nonfree    --enable-libfreetype    --enable-libx264    --enable-libvpx    --enable-libmp3lame    --enable-libopus    --enable-libass    --enable-libvorbis    --enable-libaom    --enable-libdrm    --enable-version3    --enable-shared    --enable-filter=drawtext&#xA;

    &#xA;

    However the filter drawtext is not enabled :

    &#xA;

    $ ffmpeg -filters | grep drawtext&#xA;ffmpeg version N-117989-gcb27e478f7 Copyright (c) 2000-2024 the FFmpeg developers  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)  configuration: --prefix=/usr/local --extra-cflags=-I/home/ubuntu/src/ffmpeg_build/include --extra-ldflags=-L/home/ubuntu/src/ffmpeg_build/lib --bindir=/usr/local/bin --enable-gpl --enable-nonfree --enable-libfreetype --enable-libx264 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libass --enable-libvorbis --enable-libaom --enable-libdrm --enable-version3 --enable-shared --enable-filter=drawtext  libavutil      59. 47.101 / 59. 47.101  libavcodec     61. 26.100 / 61. 26.100  libavformat    61.  9.100 / 61.  9.100  libavdevice    61.  4.100 / 61.  4.100  libavfilter    10.  6.101 / 10.  6.101  libswscale      8. 12.100 /  8. 12.100  libswresample   5.  4.100 /  5.  4.100  libpostproc    58.  4.100 / 58.  4.100&#xA;

    &#xA;