Recherche avancée

Médias (91)

Autres articles (76)

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

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

  • 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

Sur d’autres sites (11810)

  • x86 : replace explicit REP_RETs with RETs

    1er février 2023, par Lynne
    x86 : replace explicit REP_RETs with RETs
    

    From x86inc :
    > On AMD cpus <=K10, an ordinary ret is slow if it immediately follows either
    > a branch or a branch target. So switch to a 2-byte form of ret in that case.
    > We can automatically detect "follows a branch", but not a branch target.
    > (SSSE3 is a sufficient condition to know that your cpu doesn't have this problem.)

    x86inc can automatically determine whether to use REP_RET rather than
    REP in most of these cases, so impact is minimal. Additionally, a few
    REP_RETs were used unnecessary, despite the return being nowhere near a
    branch.

    The only CPUs affected were AMD K10s, made between 2007 and 2011, 16
    years ago and 12 years ago, respectively.

    In the future, everyone involved with x86inc should consider dropping
    REP_RETs altogether.

    • [DH] libavcodec/x86/aacpsdsp.asm
    • [DH] libavcodec/x86/ac3dsp.asm
    • [DH] libavcodec/x86/alacdsp.asm
    • [DH] libavcodec/x86/audiodsp.asm
    • [DH] libavcodec/x86/dirac_dwt.asm
    • [DH] libavcodec/x86/fft.asm
    • [DH] libavcodec/x86/flacdsp.asm
    • [DH] libavcodec/x86/h264_chromamc.asm
    • [DH] libavcodec/x86/h264_chromamc_10bit.asm
    • [DH] libavcodec/x86/h264_deblock_10bit.asm
    • [DH] libavcodec/x86/h264_idct.asm
    • [DH] libavcodec/x86/h264_idct_10bit.asm
    • [DH] libavcodec/x86/h264_intrapred.asm
    • [DH] libavcodec/x86/h264_intrapred_10bit.asm
    • [DH] libavcodec/x86/h264_qpel_10bit.asm
    • [DH] libavcodec/x86/h264_qpel_8bit.asm
    • [DH] libavcodec/x86/h264_weight.asm
    • [DH] libavcodec/x86/h264_weight_10bit.asm
    • [DH] libavcodec/x86/hevc_sao.asm
    • [DH] libavcodec/x86/hevc_sao_10bit.asm
    • [DH] libavcodec/x86/hpeldsp.asm
    • [DH] libavcodec/x86/hpeldsp_vp3.asm
    • [DH] libavcodec/x86/huffyuvdsp.asm
    • [DH] libavcodec/x86/jpeg2000dsp.asm
    • [DH] libavcodec/x86/lossless_videodsp.asm
    • [DH] libavcodec/x86/lossless_videoencdsp.asm
    • [DH] libavcodec/x86/me_cmp.asm
    • [DH] libavcodec/x86/pngdsp.asm
    • [DH] libavcodec/x86/qpel.asm
    • [DH] libavcodec/x86/qpeldsp.asm
    • [DH] libavcodec/x86/rv34dsp.asm
    • [DH] libavcodec/x86/rv40dsp.asm
    • [DH] libavcodec/x86/sbrdsp.asm
    • [DH] libavcodec/x86/takdsp.asm
    • [DH] libavcodec/x86/utvideodsp.asm
    • [DH] libavcodec/x86/v210.asm
    • [DH] libavcodec/x86/vc1dsp_mc.asm
    • [DH] libavcodec/x86/videodsp.asm
    • [DH] libavcodec/x86/vp8dsp.asm
    • [DH] libavfilter/x86/af_volume.asm
    • [DH] libavfilter/x86/avf_showcqt.asm
    • [DH] libavfilter/x86/scene_sad.asm
    • [DH] libavfilter/x86/vf_blend.asm
    • [DH] libavfilter/x86/vf_framerate.asm
    • [DH] libavfilter/x86/vf_gradfun.asm
    • [DH] libavfilter/x86/vf_hqdn3d.asm
    • [DH] libavfilter/x86/vf_interlace.asm
    • [DH] libavfilter/x86/vf_maskedmerge.asm
    • [DH] libavfilter/x86/vf_stereo3d.asm
    • [DH] libavfilter/x86/vf_w3fdif.asm
    • [DH] libavutil/x86/float_dsp.asm
    • [DH] libavutil/x86/lls.asm
    • [DH] libswresample/x86/audio_convert.asm
    • [DH] libswresample/x86/rematrix.asm
    • [DH] libswscale/x86/input.asm
    • [DH] libswscale/x86/output.asm
    • [DH] libswscale/x86/scale.asm
    • [DH] libswscale/x86/scale_avx2.asm
    • [DH] libswscale/x86/yuv2yuvX.asm
    • [DH] libswscale/x86/yuv_2_rgb.asm
    • [DH] tests/checkasm/x86/checkasm.asm
  • Do I need multiple video files in different resolutions to use MPEG DASH ?

    2 février 2023, par Gentil Alyson

    I'm trying to use Django REST Framework to serve .mpd files. When the user uploads a video, the server creates the MPD and the chunk files. However, I can't seem to able to make it work. I've tried using python-ffmpeg-video-streaming, but the client which is using dash.js to play the video will get only one bitrate (480p). I've also tried running this command &#x27;ffmpeg -i {self.file.path} -map 0 -map 0 -c:a aac -c:v libx264 -b:v:0 800k -b:v:1 300k -var_stream_map "v:0,name:800k v:1,name:300k" -f dash -dash_segment_type mp4 -single_file 1 {file_dir}/dash.mpd&#x27; using os.system from Python, but then the player gets stuck at buffering.

    &#xA;

    File structure generated by the command

    &#xA;

    <mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediapresentationduration="PT2M30.5S" maxsegmentduration="PT5.0S" minbuffertime="PT16.6S">&#xA;    <programinformation>&#xA;    </programinformation>&#xA;    <servicedescription>&#xA;    </servicedescription>&#xA;    <period start="PT0.0S">&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30000/1001" maxwidth="1280" maxheight="720" par="16:9" lang="und">&#xA;            <representation mimetype="video/mp4" codecs="avc1.64001f" bandwidth="800000" width="1280" height="720" sar="1:1">&#xA;                <baseurl>dash-stream0.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="1">&#xA;                    <initialization range="0-854"></initialization>&#xA;                    <segmenturl mediarange="855-190364" indexrange="855-906"></segmenturl>&#xA;                    <segmenturl mediarange="190365-448322" indexrange="190365-190416"></segmenturl>&#xA;                    <segmenturl mediarange="448323-628609" indexrange="448323-448374"></segmenturl>&#xA;                    <segmenturl mediarange="628610-741660" indexrange="628610-628661"></segmenturl>&#xA;                    <segmenturl mediarange="741661-1149015" indexrange="741661-741712"></segmenturl>&#xA;                    <segmenturl mediarange="1149016-1761260" indexrange="1149016-1149067"></segmenturl>&#xA;                    <segmenturl mediarange="1761261-1829636" indexrange="1761261-1761312"></segmenturl>&#xA;                    <segmenturl mediarange="1829637-2343368" indexrange="1829637-1829688"></segmenturl>&#xA;                    <segmenturl mediarange="2343369-2759155" indexrange="2343369-2343420"></segmenturl>&#xA;                    <segmenturl mediarange="2759156-3120911" indexrange="2759156-2759207"></segmenturl>&#xA;                    <segmenturl mediarange="3120912-3255416" indexrange="3120912-3120963"></segmenturl>&#xA;                    <segmenturl mediarange="3255417-3617692" indexrange="3255417-3255468"></segmenturl>&#xA;                    <segmenturl mediarange="3617693-3910773" indexrange="3617693-3617744"></segmenturl>&#xA;                    <segmenturl mediarange="3910774-4097693" indexrange="3910774-3910825"></segmenturl>&#xA;                    <segmenturl mediarange="4097694-4266685" indexrange="4097694-4097745"></segmenturl>&#xA;                    <segmenturl mediarange="4266686-4609479" indexrange="4266686-4266737"></segmenturl>&#xA;                    <segmenturl mediarange="4609480-4719699" indexrange="4609480-4609531"></segmenturl>&#xA;                    <segmenturl mediarange="4719700-4833193" indexrange="4719700-4719751"></segmenturl>&#xA;                    <segmenturl mediarange="4833194-4905000" indexrange="4833194-4833245"></segmenturl>&#xA;                    <segmenturl mediarange="4905001-5046627" indexrange="4905001-4905052"></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="128000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <baseurl>dash-stream1.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="1">&#xA;                    <initialization range="0-764"></initialization>&#xA;                    <segmenturl mediarange="765-82409" indexrange="765-816"></segmenturl>&#xA;                    <segmenturl mediarange="82410-163592" indexrange="82410-82461"></segmenturl>&#xA;                    <segmenturl mediarange="163593-244493" indexrange="163593-163644"></segmenturl>&#xA;                    <segmenturl mediarange="244494-325181" indexrange="244494-244545"></segmenturl>&#xA;                    <segmenturl mediarange="325182-406218" indexrange="325182-325233"></segmenturl>&#xA;                    <segmenturl mediarange="406219-487174" indexrange="406219-406270"></segmenturl>&#xA;                    <segmenturl mediarange="487175-568100" indexrange="487175-487226"></segmenturl>&#xA;                    <segmenturl mediarange="568101-649853" indexrange="568101-568152"></segmenturl>&#xA;                    <segmenturl mediarange="649854-732519" indexrange="649854-649905"></segmenturl>&#xA;                    <segmenturl mediarange="732520-813751" indexrange="732520-732571"></segmenturl>&#xA;                    <segmenturl mediarange="813752-895429" indexrange="813752-813803"></segmenturl>&#xA;                    <segmenturl mediarange="895430-976537" indexrange="895430-895481"></segmenturl>&#xA;                    <segmenturl mediarange="976538-1058579" indexrange="976538-976589"></segmenturl>&#xA;                    <segmenturl mediarange="1058580-1139556" indexrange="1058580-1058631"></segmenturl>&#xA;                    <segmenturl mediarange="1139557-1220802" indexrange="1139557-1139608"></segmenturl>&#xA;                    <segmenturl mediarange="1220803-1301723" indexrange="1220803-1220854"></segmenturl>&#xA;                    <segmenturl mediarange="1301724-1382546" indexrange="1301724-1301775"></segmenturl>&#xA;                    <segmenturl mediarange="1382547-1464086" indexrange="1382547-1382598"></segmenturl>&#xA;                    <segmenturl mediarange="1464087-1546573" indexrange="1464087-1464138"></segmenturl>&#xA;                    <segmenturl mediarange="1546574-1627881" indexrange="1546574-1546625"></segmenturl>&#xA;                    <segmenturl mediarange="1627882-1710185" indexrange="1627882-1627933"></segmenturl>&#xA;                    <segmenturl mediarange="1710186-1791593" indexrange="1710186-1710237"></segmenturl>&#xA;                    <segmenturl mediarange="1791594-1872889" indexrange="1791594-1791645"></segmenturl>&#xA;                    <segmenturl mediarange="1872890-1954238" indexrange="1872890-1872941"></segmenturl>&#xA;                    <segmenturl mediarange="1954239-2036069" indexrange="1954239-1954290"></segmenturl>&#xA;                    <segmenturl mediarange="2036070-2117365" indexrange="2036070-2036121"></segmenturl>&#xA;                    <segmenturl mediarange="2117366-2198435" indexrange="2117366-2117417"></segmenturl>&#xA;                    <segmenturl mediarange="2198436-2279764" indexrange="2198436-2198487"></segmenturl>&#xA;                    <segmenturl mediarange="2279765-2362061" indexrange="2279765-2279816"></segmenturl>&#xA;                    <segmenturl mediarange="2362062-2443751" indexrange="2362062-2362113"></segmenturl>&#xA;                    <segmenturl mediarange="2443752-2446358" indexrange="2443752-2443803"></segmenturl>&#xA;                </segmentlist>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30000/1001" maxwidth="1280" maxheight="720" par="16:9" lang="und">&#xA;            <representation mimetype="video/mp4" codecs="avc1.64001f" bandwidth="300000" width="1280" height="720" sar="1:1">&#xA;                <baseurl>dash-stream2.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="1">&#xA;                    <initialization range="0-854"></initialization>&#xA;                    <segmenturl mediarange="855-117134" indexrange="855-906"></segmenturl>&#xA;                    <segmenturl mediarange="117135-288087" indexrange="117135-117186"></segmenturl>&#xA;                    <segmenturl mediarange="288088-435178" indexrange="288088-288139"></segmenturl>&#xA;                    <segmenturl mediarange="435179-520309" indexrange="435179-435230"></segmenturl>&#xA;                    <segmenturl mediarange="520310-903223" indexrange="520310-520361"></segmenturl>&#xA;                    <segmenturl mediarange="903224-1458808" indexrange="903224-903275"></segmenturl>&#xA;                    <segmenturl mediarange="1458809-1524956" indexrange="1458809-1458860"></segmenturl>&#xA;                    <segmenturl mediarange="1524957-2026894" indexrange="1524957-1525008"></segmenturl>&#xA;                    <segmenturl mediarange="2026895-2406246" indexrange="2026895-2026946"></segmenturl>&#xA;                    <segmenturl mediarange="2406247-2726266" indexrange="2406247-2406298"></segmenturl>&#xA;                    <segmenturl mediarange="2726267-2852806" indexrange="2726267-2726318"></segmenturl>&#xA;                    <segmenturl mediarange="2852807-3183174" indexrange="2852807-2852858"></segmenturl>&#xA;                    <segmenturl mediarange="3183175-3467272" indexrange="3183175-3183226"></segmenturl>&#xA;                    <segmenturl mediarange="3467273-3653219" indexrange="3467273-3467324"></segmenturl>&#xA;                    <segmenturl mediarange="3653220-3821184" indexrange="3653220-3653271"></segmenturl>&#xA;                    <segmenturl mediarange="3821185-4162978" indexrange="3821185-3821236"></segmenturl>&#xA;                    <segmenturl mediarange="4162979-4273050" indexrange="4162979-4163030"></segmenturl>&#xA;                    <segmenturl mediarange="4273051-4386223" indexrange="4273051-4273102"></segmenturl>&#xA;                    <segmenturl mediarange="4386224-4458425" indexrange="4386224-4386275"></segmenturl>&#xA;                    <segmenturl mediarange="4458426-4597502" indexrange="4458426-4458477"></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="128000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <baseurl>dash-stream3.mp4</baseurl>&#xA;                <segmentlist timescale="1000000" duration="5000000" startnumber="1">&#xA;                    <initialization range="0-764"></initialization>&#xA;                    <segmenturl mediarange="765-82409" indexrange="765-816"></segmenturl>&#xA;                    <segmenturl mediarange="82410-163592" indexrange="82410-82461"></segmenturl>&#xA;                    <segmenturl mediarange="163593-244493" indexrange="163593-163644"></segmenturl>&#xA;                    <segmenturl mediarange="244494-325181" indexrange="244494-244545"></segmenturl>&#xA;                    <segmenturl mediarange="325182-406218" indexrange="325182-325233"></segmenturl>&#xA;                    <segmenturl mediarange="406219-487174" indexrange="406219-406270"></segmenturl>&#xA;                    <segmenturl mediarange="487175-568100" indexrange="487175-487226"></segmenturl>&#xA;                    <segmenturl mediarange="568101-649853" indexrange="568101-568152"></segmenturl>&#xA;                    <segmenturl mediarange="649854-732519" indexrange="649854-649905"></segmenturl>&#xA;                    <segmenturl mediarange="732520-813751" indexrange="732520-732571"></segmenturl>&#xA;                    <segmenturl mediarange="813752-895429" indexrange="813752-813803"></segmenturl>&#xA;                    <segmenturl mediarange="895430-976537" indexrange="895430-895481"></segmenturl>&#xA;                    <segmenturl mediarange="976538-1058579" indexrange="976538-976589"></segmenturl>&#xA;                    <segmenturl mediarange="1058580-1139556" indexrange="1058580-1058631"></segmenturl>&#xA;                    <segmenturl mediarange="1139557-1220802" indexrange="1139557-1139608"></segmenturl>&#xA;                    <segmenturl mediarange="1220803-1301723" indexrange="1220803-1220854"></segmenturl>&#xA;                    <segmenturl mediarange="1301724-1382546" indexrange="1301724-1301775"></segmenturl>&#xA;                    <segmenturl mediarange="1382547-1464086" indexrange="1382547-1382598"></segmenturl>&#xA;                    <segmenturl mediarange="1464087-1546573" indexrange="1464087-1464138"></segmenturl>&#xA;                    <segmenturl mediarange="1546574-1627881" indexrange="1546574-1546625"></segmenturl>&#xA;                    <segmenturl mediarange="1627882-1710185" indexrange="1627882-1627933"></segmenturl>&#xA;                    <segmenturl mediarange="1710186-1791593" indexrange="1710186-1710237"></segmenturl>&#xA;                    <segmenturl mediarange="1791594-1872889" indexrange="1791594-1791645"></segmenturl>&#xA;                    <segmenturl mediarange="1872890-1954238" indexrange="1872890-1872941"></segmenturl>&#xA;                    <segmenturl mediarange="1954239-2036069" indexrange="1954239-1954290"></segmenturl>&#xA;                    <segmenturl mediarange="2036070-2117365" indexrange="2036070-2036121"></segmenturl>&#xA;                    <segmenturl mediarange="2117366-2198435" indexrange="2117366-2117417"></segmenturl>&#xA;                    <segmenturl mediarange="2198436-2279764" indexrange="2198436-2198487"></segmenturl>&#xA;                    <segmenturl mediarange="2279765-2362061" indexrange="2279765-2279816"></segmenturl>&#xA;                    <segmenturl mediarange="2362062-2443751" indexrange="2362062-2362113"></segmenturl>&#xA;                    <segmenturl mediarange="2443752-2446358" indexrange="2443752-2443803"></segmenturl>&#xA;                </segmentlist>&#xA;            </representation>&#xA;        </adaptationset>&#xA;    </period>&#xA;</mpd>&#xA;

    &#xA;

    File structure created by the lib

    &#xA;

    <mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediapresentationduration="PT5M24.4S" maxsegmentduration="PT5.0S" minbuffertime="PT10.8S">&#xA;    <programinformation>&#xA;    </programinformation>&#xA;    <servicedescription>&#xA;    </servicedescription>&#xA;    <period start="PT0.0S">&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30/1" maxwidth="854" maxheight="480" par="16:9" lang="und">&#xA;            <representation mimetype="video/mp4" codecs="avc1.64001f" bandwidth="750000" width="854" height="480" sar="1280:1281">&#xA;                <segmenttemplate timescale="15360" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="95744"></s>&#xA;                        <s d="93696"></s>&#xA;                        <s d="117760"></s>&#xA;                        <s d="126976"></s>&#xA;                        <s d="152064"></s>&#xA;                        <s d="109056"></s>&#xA;                        <s d="128000" r="1"></s>&#xA;                        <s d="110080"></s>&#xA;                        <s d="105984" r="1"></s>&#xA;                        <s d="96256"></s>&#xA;                        <s d="114688"></s>&#xA;                        <s d="122880"></s>&#xA;                        <s d="106496"></s>&#xA;                        <s d="113152"></s>&#xA;                        <s d="126464"></s>&#xA;                        <s d="91136"></s>&#xA;                        <s d="77824"></s>&#xA;                        <s d="115712"></s>&#xA;                        <s d="93184"></s>&#xA;                        <s d="154624"></s>&#xA;                        <s d="129024"></s>&#xA;                        <s d="141824"></s>&#xA;                        <s d="116736"></s>&#xA;                        <s d="92672"></s>&#xA;                        <s d="106496"></s>&#xA;                        <s d="153088"></s>&#xA;                        <s d="121344"></s>&#xA;                        <s d="130560"></s>&#xA;                        <s d="87040"></s>&#xA;                        <s d="81920"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="99328"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="159232"></s>&#xA;                        <s d="158208"></s>&#xA;                        <s d="78848"></s>&#xA;                        <s d="112640"></s>&#xA;                        <s d="95232"></s>&#xA;                        <s d="168448"></s>&#xA;                        <s d="167424"></s>&#xA;                        <s d="40960"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#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="192000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <segmenttemplate timescale="44100" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="220160"></s>&#xA;                        <s d="221184" r="62"></s>&#xA;                        <s d="151552"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30/1" maxwidth="1280" maxheight="720" par="16:9" lang="und">&#xA;            <representation mimetype="video/mp4" codecs="avc1.64001f" bandwidth="2048000" width="1280" height="720" sar="1:1">&#xA;                <segmenttemplate timescale="15360" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="96256"></s>&#xA;                        <s d="93184"></s>&#xA;                        <s d="117760"></s>&#xA;                        <s d="78336"></s>&#xA;                        <s d="106496"></s>&#xA;                        <s d="123392"></s>&#xA;                        <s d="80384"></s>&#xA;                        <s d="128000" r="1"></s>&#xA;                        <s d="109568"></s>&#xA;                        <s d="164864"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="181760"></s>&#xA;                        <s d="91136"></s>&#xA;                        <s d="84992"></s>&#xA;                        <s d="127488"></s>&#xA;                        <s d="103936"></s>&#xA;                        <s d="101376"></s>&#xA;                        <s d="77312"></s>&#xA;                        <s d="115712"></s>&#xA;                        <s d="93184"></s>&#xA;                        <s d="154624"></s>&#xA;                        <s d="129024"></s>&#xA;                        <s d="132096"></s>&#xA;                        <s d="126464"></s>&#xA;                        <s d="92672"></s>&#xA;                        <s d="107008"></s>&#xA;                        <s d="152064"></s>&#xA;                        <s d="122368"></s>&#xA;                        <s d="130560"></s>&#xA;                        <s d="85504"></s>&#xA;                        <s d="82944"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="99328"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="161792"></s>&#xA;                        <s d="155648"></s>&#xA;                        <s d="78848"></s>&#xA;                        <s d="113152"></s>&#xA;                        <s d="119808"></s>&#xA;                        <s d="144896"></s>&#xA;                        <s d="116224"></s>&#xA;                        <s d="83456"></s>&#xA;                        <s d="7168"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#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="320000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <segmenttemplate timescale="44100" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="220160"></s>&#xA;                        <s d="221184" r="62"></s>&#xA;                        <s d="151552"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="30/1" maxwidth="1920" maxheight="1080" par="16:9" lang="und">&#xA;            <representation mimetype="video/mp4" codecs="avc1.640028" bandwidth="4096000" width="1920" height="1080" sar="1:1">&#xA;                <segmenttemplate timescale="15360" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="86016"></s>&#xA;                        <s d="103424"></s>&#xA;                        <s d="95232"></s>&#xA;                        <s d="95744"></s>&#xA;                        <s d="111616"></s>&#xA;                        <s d="123392"></s>&#xA;                        <s d="80384"></s>&#xA;                        <s d="128000" r="1"></s>&#xA;                        <s d="109568"></s>&#xA;                        <s d="157184"></s>&#xA;                        <s d="92160"></s>&#xA;                        <s d="145408"></s>&#xA;                        <s d="79872"></s>&#xA;                        <s d="85504"></s>&#xA;                        <s d="92160"></s>&#xA;                        <s d="82944"></s>&#xA;                        <s d="81408"></s>&#xA;                        <s d="168960"></s>&#xA;                        <s d="138240"></s>&#xA;                        <s d="83456"></s>&#xA;                        <s d="99328"></s>&#xA;                        <s d="120320"></s>&#xA;                        <s d="126464"></s>&#xA;                        <s d="132608"></s>&#xA;                        <s d="121856"></s>&#xA;                        <s d="96768"></s>&#xA;                        <s d="90112"></s>&#xA;                        <s d="169472"></s>&#xA;                        <s d="121856"></s>&#xA;                        <s d="137216"></s>&#xA;                        <s d="119808"></s>&#xA;                        <s d="177152"></s>&#xA;                        <s d="92160"></s>&#xA;                        <s d="128000"></s>&#xA;                        <s d="161792"></s>&#xA;                        <s d="156160"></s>&#xA;                        <s d="78336"></s>&#xA;                        <s d="77824"></s>&#xA;                        <s d="84480"></s>&#xA;                        <s d="104960"></s>&#xA;                        <s d="110592"></s>&#xA;                        <s d="98304"></s>&#xA;                        <s d="108544"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#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="320000" audiosamplingrate="44100">&#xA;                <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;                <segmenttemplate timescale="44100" initialization="dash_init_$RepresentationID$.m4s" media="dash_chunk_$RepresentationID$_$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="220160"></s>&#xA;                        <s d="221184" r="62"></s>&#xA;                        <s d="151552"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;    </period>&#xA;</mpd>&#xA;

    &#xA;

    Do I really need multiple video files in different resolutions ? If not, then how would I go about making the necessary files ? Thanks in advance !

    &#xA;

  • Converting RGB to YUV, + ffmpeg

    10 juillet 2012, par TheSHEEEP

    I am trying the following to record a live video from my Flash/AIR application :

    1. I take a "screenshot" (BitmapData from stage) each frame.
    2. I convert each pixel to yuv format like this (V2) :

         var file :File = new File(_appUrl + "/creation/output.raw");
         var fs :FileStream = new FileStream();
         fs.open(file, FileMode.WRITE);
         var finalY :ByteArray = new ByteArray();
         var finalU :ByteArray = new ByteArray();
         var finalV :ByteArray = new ByteArray();
         var rect :Rectangle = new Rectangle(0, 0, 600, 700);
         var pixels :ByteArray;
         var pixel :uint;
         var r :uint;
         var g :uint;
         var b :uint;
         _screenBuffer = _screenBuffer.reverse();
         while (_screenBuffer.length > 0)
         {
             pixels = BitmapData(_screenBuffer.pop()).getPixels(rect);
             pixels.position = 0;
             // Convert and save each pixel
             for (var x:int = 0; x &lt; 600; x++)
             {
                 for (var y:int = 0; y &lt; 700; y++)
                 {
                     // Convert to yuv
                     pixel = pixels.readUnsignedInt();
                     r = pixel >> 16 &amp; 0xff;
                     g = pixel >> 8 &amp; 0xff;
                     b = pixel &amp; 0xff;
                         // Y&#39; is written for each pixel
                     finalY.writeByte(0.257 * r + 0.504 * g + 0.098 * b + 128);
                         // U and V are written once per 2x2 pixel block
                     if (x % 2 == 0 &amp;&amp; y % 2 == 0)
                     {
                         finalU.writeByte(-0.148 * r - 0.291 * g + 0.439 * b + 128);
                         finalV.writeByte(0.439 * r - 0.368 * g - 0.071 * b + 128);
                     }
                 }
             }
         }
         // Write the converted bytes to the file
         finalY.position = 0;
         finalU.position = 0;
         finalV.position = 0;
         fs.writeBytes(finalY, 0, finalY.length);
         fs.writeBytes(finalU, 0, finalU.length);
         fs.writeBytes(finalV, 0, finalV.length);
         fs.close();
    3. I use the following line of ffmpeg to convert the raw file to a video :

      ffmpeg -r 30 -pix_fmt yuv420p -s 600x700 -vcodec rawvideo -f rawvideo -i output.raw -y test.mp4

    A video is created, but it is simply a mess, barely resembling what was recorded. I know that the capturing process works, as I have tried the same BitmapData "screenshots" with the SimpleFlvWriter.

    So, either something is wrong with my conversion or with the ffmpeg line, but I have no idea.

    This is what ffmpeg outputs when creating the video, maybe it can help someone :

    libavutil      51. 39.100 / 51. 39.100
    libavcodec     54.  3.101 / 54.  3.101
    libavformat    54.  1.100 / 54.  1.100
    libavdevice    53.  4.100 / 53.  4.100
    libavfilter     2. 62.101 /  2. 62.101
    libswscale      2.  1.100 /  2.  1.100
    libswresample   0.  7.100 /  0.  7.100
    libpostproc    52.  0.100 / 52.  0.100
    [rawvideo @ 01D39FC0] Estimating duration from bitrate, this may be inaccurate
    Input #0, rawvideo, from &#39;output.raw&#39;:
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 600x700, 30 tbr,
    30 tbn, 30 tbc
    [buffer @ 01D3FEC0] w:600 h:700 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
    [libx264 @ 0375DB80] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE 4.2 AVX
    [libx264 @ 0375DB80] profile High, level 3.1
    [libx264 @ 0375DB80] 264 - core 120 r2146 bcd41db - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - 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=12 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=0rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to &#39;test.mp4&#39;:
     Metadata:
       encoder         : Lavf54.1.100
       Stream #0:0: Video: h264 (![0][0][0] / 0x0021), yuv420p, 600x700, q=-1--1, 30 tbn, 30 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (rawvideo -> libx264)
    Press [q] to stop, [?] for help
    Truncating packet of size 630000 to 1
    frame=   48 fps=  0 q=-1.0 Lsize=     157kB time=00:00:01.53 bitrate= 837.3kbits/s
    video:156kB audio:0kB global headers:0kB muxing overhead 0.687626%
    [libx264 @ 0375DB80] frame I:3     Avg QP:23.15  size: 23480
    [libx264 @ 0375DB80] frame P:38    Avg QP:28.80  size:  2169
    [libx264 @ 0375DB80] frame B:7     Avg QP:29.61  size:   833
    [libx264 @ 0375DB80] consecutive B-frames: 79.2%  4.2%  0.0% 16.7%
    [libx264 @ 0375DB80] mb I  I16..4: 41.4%  6.2% 52.4%
    [libx264 @ 0375DB80] mb P  I16..4: 10.6%  3.3%  0.9%  P16..4: 68.4%  1.3%  1.2% 0.0%  0.0%    skip:14.2%
    [libx264 @ 0375DB80] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8: 13.3%  2.2%  0.7% direct: 1.9%  skip:81.9%  L0:51.6% L1:47.4% BI: 1.0%
    [libx264 @ 0375DB80] 8x8 transform intra:16.7% inter:31.2%
    [libx264 @ 0375DB80] coded y,uvDC,uvAC intra: 14.7% 25.5% 22.3% inter: 1.0% 4.1% 3.4%
    [libx264 @ 0375DB80] i16 v,h,dc,p: 87% 11%  2%  0%
    [libx264 @ 0375DB80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu:  3% 18% 75%  1%  0%  1%  1% 0%  0%
    [libx264 @ 0375DB80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu:  6% 74% 12%  1%  1%  1%  2% 1%  2%
    [libx264 @ 0375DB80] i8c dc,h,v,p: 51% 45%  4%  1%
    [libx264 @ 0375DB80] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0375DB80] ref P L0:  4.6%  0.4% 94.6%  0.3%
    [libx264 @ 0375DB80] ref B L0: 96.0%  4.0%
    [libx264 @ 0375DB80] ref B L1: 96.5%  3.5%
    [libx264 @ 0375DB80] kb/s:793.39

    I'm not really a codec expert (just starting ;)), so I don't know what to make of most of that.

    Here is a zip that contains one of the frames and the video output. What should be visible is a green smiling pear, without any artifacts. Remember the size is 600x700 and the format yuv420. Best to view such raw image files with irfanview, IMO. Don't mind the noise, its from pushing against my microphone ;)