Recherche avancée

Médias (91)

Autres articles (80)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

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

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