
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (61)
-
HTML5 audio and video support
13 avril 2011, parMediaSPIP 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 2011MediaSPIP 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 (...) -
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)
Sur d’autres sites (9664)
-
How to copy video duration to the output file with ffmpeg ? [closed]
5 novembre 2024, par user28147375I want to copy the input's duration to the output. Is there even a way in ffmpeg to achieve this ?
There is nothing about this in the docs.


I'm currently using these flags :


const ffmpegProcess = cp.spawn(ffmpegPath, [
 '-i', `pipe:3`,
 '-i', `pipe:4`,
 '-map', '0:v:0',
 '-map', '1:a:0',
 '-c:v', 'copy',
 '-c:a', 'aac',
 '-crf', '27',
 '-pix_fmt', 'yuv420p',
 '-preset', 'veryfast',
 '-movflags', 'frag_keyframe+empty_moov',
 '-f', 'mp4',
 '-shortest',
 '-'
 ], {
 windowsHide: true,
 stdio: [
 'pipe', 'pipe', 'inherit', 'pipe', 'pipe'
 ],
 });



The problem :


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:3':
 Metadata:
 major_brand : dash
 minor_version : 0
 compatible_brands: iso6avc1mp41
 creation_time : 2024-10-05T10:39:09.000000Z
 Duration: 00:02:18.14, start: 0.000000, bitrate: N/A
Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 1 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)



Output #0, mp4, to 'pipe:':
 Metadata:
 major_brand : dash
 minor_version : 0
 compatible_brands: iso6avc1mp41
 encoder : Lavf60.3.100
 ---> (DURATION MISSING) <---
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 1 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)



-
avformat/matroskaenc : Write SeekHead when livestreaming
26 avril 2020, par Andreas Rheinhardtavformat/matroskaenc : Write SeekHead when livestreaming
Commit 6fd300ac6c2c3871736ce0e6df95603255004dc6 added support for WebM
Chunk livestreaming ; in this case, both the header as well as each
Cluster is written to a file of its own, so that even if the AVIOContext
seems seekable, the muxer has to behave as if it were not. Yet one of
the added checks makes no sense : It ensures that no SeekHead is written
preliminarily (and hence no SeekHead is written at all) if the option
for livestreaming is set, although one should write the SeekHead in this
case when writing the Header. E.g. the WebM-DASH specification [1]
never forbids writing a SeekHead and in some instances (that don't apply
here) even requires it (if Cues are written after the Clusters).[1] : https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification
Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-
Adaptive part in MPD using MP4box
28 janvier 2019, par enigmaVadaI have used ffmpeg to encode audio and video files of my video sample.mp4 for the dash player. The commands are as follows :
ffmpeg -i sample.mp4 -s 426x240 -c:v libx264 -b:v 640k -g 90 -an sample_video_240.mp4
ffmpeg -i sample.mp4 -s 480x360 -c:v libx264 -b:v 960k -g 90 -an sample_video_360.mp4
ffmpeg -i sample.mp4 -s 640x480 -c:v libx264 -b:v 1280k -g 90 -an sample_video_480.mp4
ffmpeg -i sample.mp4 -s 1280x720 -c:v libx264 -b:v 2560k -g 90 -an sample_video_720.mp4
ffmpeg -i sample.mp4 -c:a aac -b:a 128k -vn sample_audio.mp4I have generated 240p,360p,480p and 720p videos and audio file.
Then I have used mp4box to generate the mpd file using the following command :
mp4box -dash 10000 -rap -profile dashavc264:onDemand -mpd-title BBB -out sample.mpd -frag 5000 sample_audio.mp4 sample_video_240.mp4 sample_video_360.mp4 sample_video_480.mp4 sample_video_720.mp4
I am using the dash.js player to play the video. The problem is, the adaptive part of DASH isn’t working. The player is just using the 240p video and not switching to a better format even if proper bandwidth is available. I am checking using the network tab of chrome dev tools.
What am i doing wrong ? Please help.
Here is the mpd file for reference :
<?xml version="1.0"?>
<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" minbuffertime="PT1.500S" type="static" mediapresentationduration="PT0H1M9.869S" maxsegmentduration="PT0H0M9.985S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011,http://dashif.org/guidelines/dash264">
<programinformation moreinformationurl="http://gpac.io">
</programinformation>
<period duration="PT0H1M9.869S">
<adaptationset segmentalignment="true" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
<representation mimetype="audio/mp4" codecs="mp4a.40.2" audiosamplingrate="44100" startwithsap="1" bandwidth="130920">
<audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>
<baseurl>sample_audio_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="902-1017">
<initialization range="0-901"></initialization>
</segmentbase>
</representation>
</adaptationset>
<adaptationset segmentalignment="true" group="1" maxwidth="426" maxheight="240" maxframerate="30" par="426:240" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
<representation mimetype="video/mp4" codecs="avc1.640015" width="426" height="240" framerate="30" sar="1:1" startwithsap="1" bandwidth="590708">
<baseurl>sample_video_240_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="914-1053">
<initialization range="0-913"></initialization>
</segmentbase>
</representation>
</adaptationset>
<adaptationset segmentalignment="true" group="1" maxwidth="640" maxheight="480" maxframerate="30" par="4:3" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
<representation mimetype="video/mp4" codecs="avc1.64001E" width="480" height="360" framerate="30" sar="1:1" startwithsap="1" bandwidth="883873">
<baseurl>sample_video_360_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="914-1053">
<initialization range="0-913"></initialization>
</segmentbase>
</representation>
<representation mimetype="video/mp4" codecs="avc1.64001E" width="640" height="480" framerate="30" sar="1:1" startwithsap="1" bandwidth="1188712">
<baseurl>sample_video_480_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="913-1052">
<initialization range="0-912"></initialization>
</segmentbase>
</representation>
</adaptationset>
<adaptationset segmentalignment="true" group="1" maxwidth="1280" maxheight="720" maxframerate="30" par="16:9" lang="und" subsegmentalignment="true" subsegmentstartswithsap="1">
<representation mimetype="video/mp4" codecs="avc1.64001F" width="1280" height="720" framerate="30" sar="1:1" startwithsap="1" bandwidth="2365717">
<baseurl>sample_video_720_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="914-1053">
<initialization range="0-913"></initialization>
</segmentbase>
</representation>
</adaptationset>
</period>
</mpd>