Recherche avancée

Médias (91)

Autres articles (53)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

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

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

Sur d’autres sites (9311)

  • FFPlay : How to manually select video quality during playing the mpd stream ?

    19 août 2023, par Brian_wu

    I used ffplay to play mpd stream and successed,

    


    Here the MPD file :

    


    &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="static" mediapresentationduration="PT1M8.7S" maxsegmentduration="PT5.0S" minbuffertime="PT12.5S">&#xA;    <programinformation>&#xA;    </programinformation>&#xA;    <servicedescription>&#xA;    </servicedescription>&#xA;    <period start="PT0.0S">&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="24000/1001" maxwidth="1280" maxheight="720" par="16:9">&#xA;        <representation mimetype="video/mp4" codecs="avc1.4d401f" bandwidth="10237" width="480" height="270" sar="1:1">&#xA;            <segmenttemplate timescale="24000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                <segmenttimeline>&#xA;                    <s t="0" d="150150" r="9"></s>&#xA;                    <s d="149149"></s>&#xA;                </segmenttimeline>&#xA;            </segmenttemplate>&#xA;        </representation>&#xA;        <representation mimetype="video/mp4" codecs="avc1.4d401f" bandwidth="60882" width="1280" height="720" sar="1:1">&#xA;            <segmenttemplate timescale="24000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                <segmenttimeline>&#xA;                    <s t="0" d="150150" r="9"></s>&#xA;                    <s d="149149"></s>&#xA;                </segmenttimeline>&#xA;            </segmenttemplate>&#xA;        </representation>&#xA;    </adaptationset>&#xA;    <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true" lang="und">&#xA;        <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="128000" audiosamplingrate="32000">&#xA;            <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;            <segmenttemplate timescale="32000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                <segmenttimeline>&#xA;                    <s t="0" d="159744"></s>&#xA;                    <s d="160768" r="11"></s>&#xA;                    <s d="111915"></s>&#xA;                </segmenttimeline>&#xA;            </segmenttemplate>&#xA;        </representation>&#xA;        <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="128000" audiosamplingrate="44100">&#xA;            <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;            <segmenttemplate timescale="44100" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                <segmenttimeline>&#xA;                    <s t="0" d="220160"></s>&#xA;                    <s d="221184" r="11"></s>&#xA;                    <s d="158713"></s>&#xA;                </segmenttimeline>&#xA;            </segmenttemplate>&#xA;        </representation>&#xA;    </adaptationset>&#xA;</period>&#xA;</mpd>

    &#xA;&#xA;

    this dash stream contains 2 vindeos(480P and 720P), and 2 audios.The videos always starts low quality(480P), I want to change the video resolution to the high quality(720P) during playing process, what should i do ?

    &#xA;

  • Jellyfin ffmpeg permission denied

    11 septembre 2022, par Steve

    I am running Jellyfin on a Raspberry Pi 4 in a docker container (https://hub.docker.com/r/linuxserver/jellyfin) and am trying to set up hardware accelerated video transcoding. I'm fairly certain I have set up the video devices & permissions correctly, but I am getting the following exception in the logs when trying to play a video through the web interface :

    &#xA;

    &#xD;&#xA;
    &#xD;&#xA;
    /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -autorotate 0 -i file:"/data/tvshows/Ed, Edd n&#x27; Eddy/Season 1 (1999)/Ed, Edd n Eddy - S01 E01-E02 - The Ed-Touchables and Nagged to Ed (1080p - HMax Web-DL).mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_v4l2m2m -b:v 2616000 -maxrate 2616000 -bufsize 5232000 -level 41 -force_key_frames:0 "expr:gte(t,0&#x2B;n_forced*3)" -g:v:0 90 -keyint_min:v:0 90 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,1280)/64)*64:trunc(ow/a/2)*2,format=yuv420p" -codec:a:0 libfdk_aac -ac 2 -ab 384000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcodes/575d44f8f0e15b3bc459c5289dfcdf9b%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/575d44f8f0e15b3bc459c5289dfcdf9b.m3u8"&#xA;&#xA;&#xA;ffmpeg version 5.1.1-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers&#xA;  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)&#xA;  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-static --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --toolchain=hardened --enable-cross-compile --arch=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu-&#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;file:/data/tvshows/Ed, Edd n&#x27; Eddy/Season 1 (1999)/Ed, Edd n Eddy - S01 E01-E02 - The Ed-Touchables and Nagged to Ed (1080p - HMax Web-DL).mp4: Permission denied

    &#xD;&#xA;

    &#xD;&#xA;

    &#xD;&#xA;&#xA;

    The real head-scratcher is that if I log in to the docker container with docker exec -it  /bin/bash and paste the ffmpeg command from the logs and run it, it works fine.

    &#xA;

    I'm running as the jellyfin user, which is in the video group, and has read/write access to the media directory.

    &#xA;

    Any thoughts ?

    &#xA;

    My docker-compose file is attached below, if any other system information is needed let me know.

    &#xA;

    &#xD;&#xA;
    &#xD;&#xA;
    ---&#xA;version: "2.1"&#xA;services:&#xA;  jellyfin:&#xA;    image: lscr.io/linuxserver/jellyfin:latest&#xA;    container_name: jellyfin&#xA;    environment:&#xA;      - PUID=1002&#xA;      - PGID=1002&#xA;      - TZ=America/Chicago&#xA;      - JELLYFIN_PublishedServerUrl=nas-server.local #optional&#xA;    volumes:&#xA;      - /mnt/raid/tv:/data/tvshows&#xA;      - /mnt/raid/movies:/data/movies&#xA;      - /mnt/raid/docker/linuxserver/jellyfin/config:/config&#xA;    ports:&#xA;      - 8096:8096&#xA;      - 8920:8920 #optional&#xA;      - 7359:7359/udp #optional&#xA;      - 1900:1900/udp #optional&#xA;    devices:&#xA;      - /dev/video10:/dev/video10&#xA;      - /dev/video11:/dev/video11&#xA;      - /dev/video12:/dev/video12&#xA;      - /dev/video13:/dev/video13&#xA;      - /dev/video14:/dev/video14&#xA;      - /dev/video15:/dev/video15&#xA;      - /dev/video16:/dev/video16&#xA;      - /dev/video18:/dev/video18&#xA;      - /dev/video19:/dev/video19&#xA;      - /dev/video20:/dev/video20&#xA;      - /dev/video21:/dev/video21&#xA;      - /dev/video22:/dev/video22&#xA;      - /dev/video23:/dev/video23&#xA;      - /dev/video31:/dev/video31&#xA;    restart: unless-stopped

    &#xD;&#xA;

    &#xD;&#xA;

    &#xD;&#xA;&#xA;

  • Issues with using FFmpeg to generate MPEG-DASH files

    26 septembre 2022, par Tina J

    I am using the following ffmpeg command to generate MPEG DASH files and manifest. I use single_file 1 to have a single file for each representation ; so no chunking. But IDK why when I want to play the manifest using ExoPlayer, the video doesn't play from the beginning (rather it starts from around 50s).

    &#xA;

    ffmpeg -re -i .\video-h264.mkv -map 0 -map 0 -c:a aac -c:v libx264 -b:v:0 800k -b:v:1 300k -s:v:1 320x170 -profile:v:1 baseline -profile:v:0 main -bf 1 -keyint_min 120 -g 120 -sc_threshold 0 -b_strategy 0 -ar:a:1 22050 -use_timeline 1 -single_file 1 -use_template 1 -window_size 5 -adaptation_sets "id=0,streams=v id=1,streams=a" -f dash out.mpd&#xA;

    &#xA;

    What is wrong with this ? Is the manifest correct ? Here is the generated mpd :

    &#xA;

    &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="static" mediapresentationduration="PT1M20.1S" maxsegmentduration="PT5.0S" minbuffertime="PT16.0S">&#xA;    <programinformation>&#xA;    </programinformation>&#xA;    <servicedescription>&#xA;    </servicedescription>&#xA;    <period start="PT48.0S">&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30/1" maxwidth="960" maxheight="540" par="517072:290799" lang="eng">&#xA;            <representation mimetype="video/mp4" codecs="avc1.4d401f" bandwidth="800000" width="960" height="540" sar="32317:32311">&#xA;                <baseurl>out-stream0.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="7">&#xA;                    <initialization range="0-832"></initialization>&#xA;                    <segmenturl mediarange="4800141-5599188" indexrange="4800141-4800192"></segmenturl>&#xA;                    <segmenturl mediarange="5599189-6243069" indexrange="5599189-5599240"></segmenturl>&#xA;                    <segmenturl mediarange="6243070-7224302" indexrange="6243070-6243121"></segmenturl>&#xA;                    <segmenturl mediarange="7224303-8138118" indexrange="7224303-7224354"></segmenturl>&#xA;                    <segmenturl mediarange="8138119-8232111" indexrange="8138119-8138170"></segmenturl>&#xA;                </segmentlist>&#xA;            </representation>&#xA;            <representation mimetype="video/mp4" codecs="avc1.42c00d" bandwidth="300000" width="320" height="170" sar="549389:581598">&#xA;                <baseurl>out-stream2.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="7">&#xA;                    <initialization range="0-832"></initialization>&#xA;                    <segmenturl mediarange="1782920-2005667" indexrange="1782920-1782971"></segmenturl>&#xA;                    <segmenturl mediarange="2005668-2229412" indexrange="2005668-2005719"></segmenturl>&#xA;                    <segmenturl mediarange="2229413-2615209" indexrange="2229413-2229464"></segmenturl>&#xA;                    <segmenturl mediarange="2615210-2975346" indexrange="2615210-2615261"></segmenturl>&#xA;                    <segmenturl mediarange="2975347-2999288" indexrange="2975347-2975398"></segmenturl>&#xA;                </segmentlist>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true" lang="eng">&#xA;            <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="69000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="1"></audiochannelconfiguration>&#xA;                <baseurl>out-stream1.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="12">&#xA;                    <initialization range="0-764"></initialization>&#xA;                    <segmenturl mediarange="491493-536039" indexrange="491493-491544"></segmenturl>&#xA;                    <segmenturl mediarange="536040-580657" indexrange="536040-536091"></segmenturl>&#xA;                    <segmenturl mediarange="580658-625158" indexrange="580658-580709"></segmenturl>&#xA;                    <segmenturl mediarange="625159-669825" indexrange="625159-625210"></segmenturl>&#xA;                    <segmenturl mediarange="669826-713289" indexrange="669826-669877"></segmenturl>&#xA;                </segmentlist>&#xA;            </representation>&#xA;            <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="69000" audiosamplingrate="22050">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="1"></audiochannelconfiguration>&#xA;                <baseurl>out-stream3.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="12">&#xA;                    <initialization range="0-764"></initialization>&#xA;                    <segmenturl mediarange="486188-530059" indexrange="486188-486239"></segmenturl>&#xA;                    <segmenturl mediarange="530060-574175" indexrange="530060-530111"></segmenturl>&#xA;                    <segmenturl mediarange="574176-618922" indexrange="574176-574227"></segmenturl>&#xA;                    <segmenturl mediarange="618923-663118" indexrange="618923-618974"></segmenturl>&#xA;                    <segmenturl mediarange="663119-706121" indexrange="663119-663170"></segmenturl>&#xA;                </segmentlist>&#xA;            </representation>&#xA;        </adaptationset>&#xA;    </period>&#xA;</mpd>&#xA;

    &#xA;