
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (40)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Configuration spécifique d’Apache
4 février 2011, parModules spécifiques
Pour la configuration d’Apache, il est conseillé d’activer certains modules non spécifiques à MediaSPIP, mais permettant d’améliorer les performances : mod_deflate et mod_headers pour compresser automatiquement via Apache les pages. Cf ce tutoriel ; mode_expires pour gérer correctement l’expiration des hits. Cf ce tutoriel ;
Il est également conseillé d’ajouter la prise en charge par apache du mime-type pour les fichiers WebM comme indiqué dans ce tutoriel.
Création d’un (...) -
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)
Sur d’autres sites (6021)
-
ffmpeg does not work with a large number of urls in the request
2 avril 2023, par Hack teamIf i put one url in the array, everything works perfectly, but when i add more than one url to the array, it throws an error :


HTTP error 403 Forbidden https://p16-sign-sg.tiktokcdn.com/tos-alisg-i-photomode-sg/2c182489bc4e42dcbb70f37a283cf5f1~tplv-photomode-image.jpeg?from=photomode.AWEME_DETAIL&x-expires=1681740000&x-signature=BaB75chVtpoZg6sE%2B0oWmxtzky0%3D https://p16-sign-sg.tiktokcdn.com/tos-alisg-i-photomode-sg/34cae24dad35476d96d8db03b46076b9~tplv-photomode-image.jpeg?from=photomode.AWEME_DETAIL&x-expires=1681740000&x-signature=RTyGbq%2BfLz3hNahtLJyaWycQtPI%3D: Server returned 403 Forbidden (access denied)



However, if i put each of the urls one by one, then access is available and everything works perfectly


It feels like ffmpeg makes one out of three urls and catches an error because of it. But I don't understand how to handle urls.


My code :


from PIL import Image
from io import BytesIO

import requests
import ffmpeg

def make_even(n):
 return n + n % 2

list_of_urls = [
 "https://p16-sign-sg.tiktokcdn.com/tos-alisg-i-photomode-sg/2c182489bc4e42dcbb70f37a283cf5f1~tplv-photomode-image.jpeg?from=photomode.AWEME_DETAIL&x-expires=1681740000&x-signature=BaB75chVtpoZg6sE%2B0oWmxtzky0%3D",
 "https://p16-sign-sg.tiktokcdn.com/tos-alisg-i-photomode-sg/34cae24dad35476d96d8db03b46076b9~tplv-photomode-image.jpeg?from=photomode.AWEME_DETAIL&x-expires=1681740000&x-signature=RTyGbq%2BfLz3hNahtLJyaWycQtPI%3D",
 "https://p16-sign-sg.tiktokcdn.com/tos-alisg-i-photomode-sg/c2cb000f9332498caf6bd837f42e92c6~tplv-photomode-image.jpeg?from=photomode.AWEME_DETAIL&x-expires=1681740000&x-signature=4Zh5PFWNUYQhxQHuKM7P8rk8geU%3D"
]

response = requests.get(list_of_urls\[0\])
img = Image.open(BytesIO(response.content))

width, height = img.size
width = make_even(width)
height = make_even(height)

(
 ffmpeg
 .input(' '.join(list_of_urls), framerate=0.33)
 .filter('scale', width, height)
 .output('output.mp4')
 .run()
)



-
Revert "swscale : disable ARM code until its build failure with clang/iphone is fixed"
12 janvier 2014, par Michael Niedermayer -
APPLY Strong to Buffer rule. Quit Switching Bit rates MPEG DASH
14 juillet 2015, par VinayI am using mpeg dash for adaptive bit rate streaming of video from my server.
I have used ffmpeg and MP4Box to generate 4 different quality video files from my source .mp4
The .mpd file generated has the below code
<?xml version="1.0"?>
<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" minbuffertime="PT1.500000S" type="static" mediapresentationduration="PT0H3M1.42S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011">
<programinformation moreinformationurl="http://gpac.sourceforge.net">
</programinformation>
<period duration="PT0H3M1.42S">
<adaptationset segmentalignment="true" maxwidth="1920" maxheight="1080" maxframerate="24" par="16:9" lang="und" subsegmentstartswithsap="1">
<representation mimetype="video/mp4" codecs="avc1.64000d" width="320" height="240" framerate="24" sar="1:1" startwithsap="1" bandwidth="375715">
<baseurl>400_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="904-1403">
<initialization range="0-903"></initialization>
</segmentbase>
</representation>
<representation mimetype="video/mp4" codecs="avc1.640015" width="420" height="270" framerate="24" sar="1:1" startwithsap="1" bandwidth="644824">
<baseurl>700_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="905-1404">
<initialization range="0-904"></initialization>
</segmentbase>
</representation>
<representation mimetype="video/mp4" codecs="avc1.64001f" width="1024" height="576" framerate="24" sar="1:1" startwithsap="1" bandwidth="1349484">
<baseurl>1500_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="905-1404">
<initialization range="0-904"></initialization>
</segmentbase>
</representation>
<representation mimetype="video/mp4" codecs="avc1.64001f" width="1280" height="720" framerate="24" sar="1:1" startwithsap="1" bandwidth="2264379">
<baseurl>2500_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="905-1404">
<initialization range="0-904"></initialization>
</segmentbase>
</representation>
<representation mimetype="video/mp4" codecs="avc1.640028" width="1920" height="1080" framerate="24" sar="1:1" startwithsap="1" bandwidth="3633049">
<baseurl>4000_dashinit.mp4</baseurl>
<segmentbase indexrangeexact="true" indexrange="906-1405">
<initialization range="0-905"></initialization>
</segmentbase>
</representation>
</adaptationset>
</period>
</mpd>I am using video.js along with dash.js to playback the mpeg dash content on client side. The issue is that the video doesn’t playback perfectly when i simulate network conditions from chrome dev tools.
It works at times and it doesn’t at others. For ex the stream starts with bit rate of 400kbps and then detects enough bandwidth available so it switches to 2500kbps. Then when i bring down my bandwidth to 400kbps again then the video freezes at some point of time.
At times the video freezes after few initial seconds of playback when it tries to switch the stream. I think there might be some command line parameter that i am missing while generating my video files via ffmpeg or generating .mpd file via MP4Box.
below are the commands i use for ffmpeg and MP4Box
ffmpeg -y -i inputfile -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -r 24 – g 24 -b:v 1500k -maxrate 1500k -bufsize 1000k -vf "scale=-1:720" outputfile.mp4
MP4Box -dash [DURATION] -rap -frag-rap -profile [PROFILE] -out [path/to/outpout.file] [path/to/input1.file] [path/to/input2.file] [path/to/input3.file]Also while i am generating .mpd files via MP4Box i am getting below warning in console
[DASH]: Files have non-proportional track layouts (320x240 vs 420x270) but sample size and aspect ratio match, assuming precision issue
[DASH]: Files have non-proportional track layouts (320x240 vs 1024x576) but sample size and aspect ratio match, assuming precision issue
[DASH]: Files have non-proportional track layouts (320x240 vs 1280x720) but sample size and aspect ratio match, assuming precision issue
[DASH]: Files have non-proportional track layouts (320x240 vs 1920x1080) but sample size and aspect ratio match, assuming precision issueWhenever the video stops playing the chrome console has these logs
Number of times the buffer has run dry: 25
Apply STRONG to buffer rule.
Quit switching bit rates.I don’t have any clue as to why the buffers run dry and it stops switching the bit rates.
Anything that is predominantly wrong in the process ?