
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (59)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
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 (...) -
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 (...)
Sur d’autres sites (9434)
-
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> -
Does ffmpeg support 7.x channels encoding in Dolby Digital format (.ac3) ?
4 novembre 2019, par CC2023Using ffmpeg, I was able to encode 5.x channels from .wav to .ac3. But 7.x channels did not work. The encoded .ac3 missed channel 6th and 7th.
Does ffmpeg support 7.x channel encoding for .ac3 ?
My ffmpeg version git-2019-10-28-68f623d. Thanks.
-
ffmpeg hwmap SW decoded frame to OpenCL and hwmap back to h264 for SW encode
3 novembre 2019, par Oleksandr KyrpaI trying speed up process and avoid copy frames between GPU and CPU. But got error : "Segmentation fault : 11", so may be I’m doing something wrong ?
My full ffmpeg command and log here :
./ffmpeg -i ../720.mp4 -init_hw_device opencl=ocl:0.1 -filter_hw_device ocl -filter_complex "hwmap,avgblur_opencl=30,hwmap" -c:v h264 -an -t 10 -y ../out_blur.mp4 -loglevel debug
Output :
./ffmpeg -i ../720.mp4 -init_hw_device opencl=ocl:0.1 -filter_hw_device ocl -filter_complex "hwmap,avgblur_opencl=30,hwmap" -c:v h264 -an -t 10 -y ../out_blur.mp4 -loglevel debug
ffmpeg version N-95621-g53c21c2d6b Copyright (c) 2000-2019 the FFmpeg developers
built with Apple LLVM version 10.0.0 (clang-1000.10.44.4)
configuration: --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --disable-ffplay --enable-nonfree --enable-opencl
libavutil 56. 35.101 / 56. 35.101
libavcodec 58. 60.100 / 58. 60.100
libavformat 58. 33.100 / 58. 33.100
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 66.100 / 7. 66.100
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Splitting the commandline.
Reading option '-i' ... matched as input url with argument '../720.mp4'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'opencl=ocl:0.1'.
Reading option '-filter_hw_device' ... matched as option 'filter_hw_device' (set hardware device used when filtering) with argument 'ocl'.
Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument 'hwmap,unsharp_opencl=lx=17:ly=17:la=5,hwmap'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'h264'.
Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'.
Reading option '-t' ... matched as option 't' (record or transcode "duration" seconds of audio/video) with argument '10'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '../out_blur.mp4' ... matched as output url.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option init_hw_device (initialise hardware device) with argument opencl=ocl:0.1.
[AVHWDeviceContext @ 0x7fbb1ec08480] 1 OpenCL platforms found.
[AVHWDeviceContext @ 0x7fbb1ec08480] 3 OpenCL devices found on platform "Apple".
[AVHWDeviceContext @ 0x7fbb1ec08480] 0.1: Apple / HD Graphics 4000
Applying option filter_hw_device (set hardware device used when filtering) with argument ocl.
Applying option filter_complex (create a complex filtergraph) with argument hwmap,unsharp_opencl=lx=17:ly=17:la=5,hwmap.
Applying option y (overwrite output files) with argument 1.
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url ../720.mp4.
Successfully parsed a group of options.
Opening an input file: ../720.mp4.
[NULL @ 0x7fbb1f818c00] Opening '../720.mp4' for reading
[file @ 0x7fbb1ec3d600] Setting default whitelist 'file,crypto'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbb1f818c00] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbb1f818c00] ISO: File Type Major Brand: isom
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbb1f818c00] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbb1f818c00] Processing st: 0, edit list 0 - media time: 0, duration: 300300
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbb1f818c00] Before avformat_find_stream_info() pos: 4123312 bytes read:34929 seeks:1 nb_streams:1
[h264 @ 0x7fbb1f9ae800] nal_unit_type: 7(SPS), nal_ref_idc: 1
[h264 @ 0x7fbb1f9ae800] nal_unit_type: 8(PPS), nal_ref_idc: 1
[h264 @ 0x7fbb1f9ae800] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 0x7fbb1f9ae800] nal_unit_type: 5(IDR), nal_ref_idc: 1
[h264 @ 0x7fbb1f9ae800] Format yuv420p chosen by get_format().
[h264 @ 0x7fbb1f9ae800] Reinit context to 1280x720, pix_fmt: yuv420p
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbb1f818c00] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbb1f818c00] After avformat_find_stream_info() pos: 38244 bytes read:73125 seeks:2 frames:1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../720.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.33.100
Duration: 00:00:10.01, start: 0.000000, bitrate: 3295 kb/s
Stream #0:0(und), 1, 1/30000: Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(left), 1280x720 [SAR 1:1 DAR 16:9], 0/1, 3293 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 60k tbc (default)
Metadata:
handler_name : ISO Media file produced by Google Inc. Created on: 10/24/2018.
Successfully opened the file.
[Parsed_unsharp_opencl_1 @ 0x7fbb1ec45640] Setting 'lx' to value '17'
[Parsed_unsharp_opencl_1 @ 0x7fbb1ec45640] Setting 'ly' to value '17'
[Parsed_unsharp_opencl_1 @ 0x7fbb1ec45640] Setting 'la' to value '5'
Parsing a group of options: output url ../out_blur.mp4.
Applying option c:v (codec name) with argument h264.
Applying option an (disable audio) with argument 1.
Applying option t (record or transcode "duration" seconds of audio/video) with argument 10.
Successfully parsed a group of options.
Opening an output file: ../out_blur.mp4.
Matched encoder 'libx264' for codec 'h264'.
[file @ 0x7fbb1ec44680] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 8 logical cores
[h264 @ 0x7fbb1f9a9800] nal_unit_type: 7(SPS), nal_ref_idc: 1
[h264 @ 0x7fbb1f9a9800] nal_unit_type: 8(PPS), nal_ref_idc: 1
Stream mapping:
Stream #0:0 (h264) -> hwmap
hwmap -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
Last message repeated 1 times
[h264 @ 0x7fbb1f9a9800] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 0x7fbb1f9a9800] nal_unit_type: 5(IDR), nal_ref_idc: 1
[h264 @ 0x7fbb1f9a9800] Format yuv420p chosen by get_format().
[h264 @ 0x7fbb1f9a9800] Reinit context to 1280x720, pix_fmt: yuv420p
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0x7fbb1f9b7e00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0x7fbb1f9cf200] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0x7fbb1fa04c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0x7fbb1fa1b000] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0x7fbb1fa24800] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0x7fbb1fa24e00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0x7fbb1fa25400] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
[h264 @ 0x7fbb22809200] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
[Parsed_unsharp_opencl_1 @ 0x7fbb1ed04e80] Setting 'lx' to value '17'
[Parsed_unsharp_opencl_1 @ 0x7fbb1ed04e80] Setting 'ly' to value '17'
[Parsed_unsharp_opencl_1 @ 0x7fbb1ed04e80] Setting 'la' to value '5'
[graph 0 input from stream 0:0 @ 0x7fbb1ee09040] Setting 'video_size' to value '1280x720'
[graph 0 input from stream 0:0 @ 0x7fbb1ee09040] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0x7fbb1ee09040] Setting 'time_base' to value '1/30000'
[graph 0 input from stream 0:0 @ 0x7fbb1ee09040] Setting 'pixel_aspect' to value '1/1'
[graph 0 input from stream 0:0 @ 0x7fbb1ee09040] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:0 @ 0x7fbb1ee09040] Setting 'frame_rate' to value '30000/1001'
[graph 0 input from stream 0:0 @ 0x7fbb1ee09040] w:1280 h:720 pixfmt:yuv420p tb:1/30000 fr:30000/1001 sar:1/1 sws_param:flags=2
[format @ 0x7fbb1ed0a080] Setting 'pix_fmts' to value 'yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21|yuv420p10le|yuv422p10le|yuv444p10le|nv20le'
[AVFilterGraph @ 0x7fbb21004240] query_formats: 7 queried, 6 merged, 0 already done, 0 delayed
[Parsed_hwmap_2 @ 0x7fbb1ed03e00] picking yuv420p out of 13 ref:opencl alpha:1
[Parsed_hwmap_0 @ 0x7fbb1ed09940] Configure hwmap yuv420p -> opencl.
[Parsed_hwmap_2 @ 0x7fbb1ed03e00] Configure hwmap opencl -> yuv420p.
[hwmap @ 0x7fbb1ed03940] Filter input: yuv420p, 1280x720 (0).
Segmentation fault: 11