
Recherche avancée
Autres articles (57)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
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 (...) -
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)
Sur d’autres sites (9571)
-
avformat/dashenc : split extension for MP4 into .mp4 or .m4s
24 juin 2019, par Alfred E. Heggestad -
Split mp4 video from URL (stored on AWS s3) with ffmpeg without re-encode, causes an issue with the start point
25 avril 2023, par DArkOI am building an API endpoint as part of which i am signing an AWS s3 url to a video file encoded with mp4, then using ffmpeg to split the provided video by url to a time range (for example from second 4.0 to second 12.0), and pipe it to a stream which is directly returned to the user.


I am running into an issue where the video is split starting on the 10 second mark. In the command below it is splitting from 0-14 sec instead of 6-14. if i specify 12-18 it will split from 10-18 etc..


As part of this process this is the ffmpeg command i am using to split the video (omitting the full signed S3 url and writing to a file instead of a pipe).


ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -ss 6.0 -to 14.0 -i https://XXXXXXXX.s3.amazonaws.com/stopwatch.mp4 -movflags +frag_keyframe+separate_moof+omit_tfhd_offset+empty_moov -f mp4 -c copy output.mp4



If i try to
re-encode
the video instead of using-c copy
splitting works perfectly well, but is quite a lot slower.

This is the command i use to initially encode the videos and make them uniform as I upload them to AWS S3. I can control the encoding process and change if needed to be able to do the splits correctly.


ffmpeg -i video.mp4 -vf scale=1280:-2 -c:v libx264 -movflags faststart -preset slow -crf 24 -r 25 -c:a aac -b:a 128k



From the ffmpeg docs :


-ss position (input/output)
When used as an input option (before -i), seeks in this input file to position. Note that in most formats it is not possible to seek exactly, so ffmpeg will seek to the closest seek point before position. When transcoding and -accurate_seek is enabled (the default), this extra segment between the seek point and position will be decoded and discarded. When doing stream copy or when -noaccurate_seek is used, it will be preserved.



So this looks like intended behaviour, I also found out that mp4 will have IFrames set on every 10 seconds (250 frames on 25fps in my case) where the fastseek (-ss) option will seek on remote videos to the nearest Iframe and use that as a starting point.


Is there a way to change this behavior ? Add IFrames to at least 1 second so i can split accurately at least to 1 second ? If so are there any drawbacks to doing that ? Is there another option to avoid re-encoding the segments ?


I was thinking i can do multiple splits and a concat where i split-re-encode 6-10sec then split-copy 10-14 then concat the 2 segments to get 6-14sec video.


What i find strange is that with the same video provided as a local file reference to ffmpeg it splits it correctly if i simply do :


ffmpeg -ss 6.0 -to 14.0 -i stopwatch.mp4 -c copy output.mp4



-
hevc : Split the sei parsing in 3 functions
1er août 2015, par Luca Barbato