
Recherche avancée
Autres articles (48)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Mise à disposition des fichiers
14 avril 2011, parPar défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...) -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)
Sur d’autres sites (7699)
-
FFmpeg create output directory hierarchy
31 janvier 2019, par DavidRecently bought an ip-cam which outputs a RTSP stream. I’m using the segment option of FFmpeg to create 60 minute long recordings.
I want FFmpeg to write the files to a directory based on
Year/Month/Date
, and write to a fileHour-Minute.mp4
For example :
/raid1/homes/share/public/recordings/queue/bedroom/2017/04/23/13-05.mp4
for a recording started on 23 april 2017, 13:05.Unfortunately FFmpeg seems to not create the directory hierarchy. FFmpeg quits since the directory can not be found.
Input #0, rtsp, from 'rtsp://192.168.1.240/unicast':
Metadata:
title : LIVE555 Streaming Media v2014.07.04
comment : LIVE555 Streaming Media v2014.07.04
Duration: N/A, start: 0.000750, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p, 1920x1080, 90k tbr, 90k tbn, 180k tbc
Stream #0:1: Audio: pcm_alaw, 8000 Hz, 1 channels, s16, 64 kb/s
[segment @ 0x2557300] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[segment @ 0x2557300] Failed to open segment '/raid1/homes/share/public/recordings/queue/bedroom/2017/04/23/14-19.mp4'
Output #0, segment, to '/raid1/homes/share/public/recordings/queue/bedroom/%Y/%m/%d/%H-%M.mp4':
Metadata:
title : LIVE555 Streaming Media v2014.07.04
comment : LIVE555 Streaming Media v2014.07.04
encoder : Lavf57.41.100
Stream #0:0: Video: h264, yuv420p, 1920x1080, q=2-31, 90k tbr, 90k tbn, 90k tbc
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): No such file or directoryrecord.sh is as follows :
#!/bin/sh
ffmpeg -stimeout 600\
-rtsp_transport udp \
-i rtsp://192.168.1.240/unicast \
-c copy \
-map 0:0 \
-f segment \
-segment_time 3600 \
-segment_wrap 100 \
-segment_format mov \
-strftime 1 \
-reset_timestamps 1 \
"/raid1/homes/share/public/recordings/queue/bedroom/%Y/%m/%d/%H-%M.mp4"I’ve tried not using a directory hierachy :
"/raid1/homes/share/public/recordings/queue/bedroom/%Y-%m-%d_%H-%M.mp4"
. This works fine.$ ffmpeg -version
ffmpeg version N-80901-gfebc862 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 48.101 / 57. 48.101
libavformat 57. 41.100 / 57. 41.100
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 47.100 / 6. 47.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100Can FFmpeg create output directories on the go ?
-
MPEG Dash output generated by FFMPEG not working
8 janvier 2019, par Anto JoyI created a dash output sample_video.mpd file using ffmpeg, but when I tried to play it using dash js the video was just loading and nothing else.
Below is the generated mpd file<?xml version="1.0" encoding="utf-8"?>
<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediapresentationduration="PT1M2.3S" minbuffertime="PT20.0S">
<programinformation>
</programinformation>
<period start="PT0.0S">
<adaptationset contenttype="video" segmentalignment="true" bitstreamswitching="true" lang="und">
<representation mimetype="video/mp4" codecs="avc1.640015" bandwidth="255520" width="426" height="240" framerate="24/1">
<segmenttemplate timescale="12288" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="3">
<segmenttimeline>
<s t="198656" d="69120"></s>
<s d="75264"></s>
<s d="174592"></s>
<s d="122880"></s>
<s d="125440"></s>
</segmenttimeline>
</segmenttemplate>
</representation>
<representation mimetype="video/mp4" codecs="avc1.64001e" bandwidth="726596" width="854" height="480" framerate="24/1">
<segmenttemplate timescale="12288" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="3">
<segmenttimeline>
<s t="198656" d="69120"></s>
<s d="75264"></s>
<s d="174592"></s>
<s d="122880"></s>
<s d="125440"></s>
</segmenttimeline>
</segmenttemplate>
</representation>
<representation mimetype="video/mp4" codecs="avc1.64001f" bandwidth="1433314" width="1280" height="720" framerate="24/1">
<segmenttemplate timescale="12288" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="3">
<segmenttimeline>
<s t="198656" d="69120"></s>
<s d="75264"></s>
<s d="174592"></s>
<s d="122880"></s>
<s d="125440"></s>
</segmenttimeline>
</segmenttemplate>
</representation>
</adaptationset>
<adaptationset contenttype="audio" segmentalignment="true" bitstreamswitching="true" lang="und">
<representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="341000" audiosamplingrate="48000">
<audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="6"></audiochannelconfiguration>
<segmenttemplate timescale="48000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="3">
<segmenttimeline>
<s t="772096" d="270336"></s>
<s d="293888"></s>
<s d="681984"></s>
<s d="480256"></s>
<s d="492544"></s>
</segmenttimeline>
</segmenttemplate>
</representation>
<representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="341000" audiosamplingrate="48000">
<audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="6"></audiochannelconfiguration>
<segmenttemplate timescale="48000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="3">
<segmenttimeline>
<s t="772096" d="270336"></s>
<s d="293888"></s>
<s d="681984"></s>
<s d="480256"></s>
<s d="492544"></s>
</segmenttimeline>
</segmenttemplate>
</representation>
<representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="341000" audiosamplingrate="48000">
<audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="6"></audiochannelconfiguration>
<segmenttemplate timescale="48000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="3">
<segmenttimeline>
<s t="772096" d="270336"></s>
<s d="293888"></s>
<s d="681984"></s>
<s d="480256"></s>
<s d="492544"></s>
</segmenttimeline>
</segmenttemplate>
</representation>
</adaptationset>
</period>
</mpd>The following is the ffmpeg command that i used to generate multi bitrate video
ffmpeg -y -i sample_video.mp4 ^
-c:v libx264 -x264opts "keyint=24:min-keyint=24:no-scenecut" -r 24 ^
-c:a aac -b:a 128k ^
-bf 1 -b_strategy 0 -sc_threshold 0 -pix_fmt yuv420p ^
-map 0:v:0 -map 0:a:0 -map 0:v:0 -map 0:a:0 -map 0:v:0 -map 0:a:0 ^
-b:v:0 250k -filter:v:0 "scale=-2:240" -profile:v:0 baseline ^
-b:v:1 750k -filter:v:1 "scale=-2:480" -profile:v:1 main ^
-b:v:2 1500k -filter:v:2 "scale=-2:720" -profile:v:2 high ^
sample_dash.mp4and to generate the mpd file
ffmpeg -y -re -i sample_dash.mp4 ^
-map 0 ^
-use_timeline 1 -use_template 1 -window_size 5 -adaptation_sets
"id=0,streams=v id=1,streams=a" ^
-f dash sample_video.mpdAlso I saw in the chrome network tab that only init-stream4.m4s and init-stream5.m4s was called.
-
Shaka Player : ignore empty AdaptationSet
24 juin 2019, par MityaI’m trying to play DASH stream in Shaka Player.
Sometimes the stream doesn’t have an audio source and its manifest file contains an emptyAdaptationSet
entry.
In this case Shaka Player returns the manifest parsing error :| DASH_EMPTY_ADAPTATION_SET | 4003 | number | The DASH Manifest contained an AdaptationSet with no Representations. |
Is it possible to ignore this error somehow and play the video without audio source ?
Example of manifest file :
<?xml version="1.0" encoding="utf-8"?>
<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minimumupdateperiod="PT4S" suggestedpresentationdelay="PT4S" availabilitystarttime="2019-06-24T13:38:04Z" publishtime="2019-06-24T13:38:34Z" timeshiftbufferdepth="PT14.9S" minbuffertime="PT9.9S">
<programinformation>
</programinformation>
<period start="PT0.0S">
<adaptationset contenttype="video" segmentalignment="true" bitstreamswitching="true">
<representation mimetype="video/mp4" codecs="avc1.640028" bandwidth="2000000" width="1920" height="1080" framerate="20/1">
<segmenttemplate timescale="10240" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="5">
<segmenttimeline>
<s t="201697" d="51190" r="2"></s>
</segmenttimeline>
</segmenttemplate>
</representation>
</adaptationset>
<adaptationset contenttype="audio" segmentalignment="true" bitstreamswitching="true">
</adaptationset>
</period>
</mpd>