
Recherche avancée
Autres articles (80)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, 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 (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (13026)
-
On the fly transcoding and HLS streaming with ffmpeg
12 janvier 2023, par syfluqsI am building a web application that involves serving various kinds of video content. Web-friendly audio and video codecs are handled without any problems, but I am having trouble designing the delivery of video files incompatible with HTML5 video players like mkv containers or H265.



What I have done till now, is use ffmpeg to transcode the video file on the server and make HLS master and VOD playlists and use hls.js on the frontend. The problem, however, is that ffmpeg treats the playlist as a live stream playlist until transcoding is complete on the whole file and then it changes the playlist to serve as VOD. So, the user can't seek until the transcoding is over, and that my server has unnecessarily transcoded the whole file if the user decides to seek the video file halfway ahead. I am using the following ffmpeg command line arguments



ffmpeg -i sample.mkv \
 -c:v libx264 \
 -crf 18 \
 -preset ultrafast \
 -maxrate 4000k \
 -bufsize 8000k \
 -vf "scale=1280:-1,format=yuv420p" \
 -c:a copy -start_number 0 \
 -hls_time 10 \
 -hls_list_size 0 \
 -f hls \
file.m3u8




Now to improve upon this system, I tried to generate the VOD playlist through my app and not ffmpeg, since the format is self explanatory. The webapp would generate the HLS master and VOD playlists beforehand using the video properties such as duration, resolution and bitrate (which are known to the server) and serve the master playlist to the client. The client then starts requesting the individual video segments at which point the server will individually transcode and generate each segment and serve them. Seeking would be possible as the client already has the complete VOD playlist and it can request the specific segment that the user seeks to. The benefit, as I see it, would be that my server would not have to transcode the whole file, if the user decides to seek forward and play the video halfway through.



Now I tried manually creating segments (10s each) from my
sample.mkv
using the following command


ffmpeg -ss 90 \
 -t 10 \
 -i sample.mkv \
 -g 52 \
 -strict experimental \
 -movflags +frag_keyframe+separate_moof+omit_tfhd_offset+empty_moov \
 -c:v libx264 \
 -crf 18 \
 -preset ultrafast \
 -maxrate 4000k \
 -bufsize 8000k \
 -vf "scale=1280:-1,format=yuv420p" \
 -c:a copy \
fileSequence0.mp4




and so on for other segments, and the VOD playlist as



#EXTM3U
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.0,
fileSequence0.mp4
#EXTINF:10.0,
fileSequence1.mp4
...
... and so on 
...
#EXT-X-ENDLIST




which plays the first segment just fine but not the subsequent ones.



Now my questions,



- 

-
Why don't the subsequent segments play ? What am I doing wrong ?
-
Is my technique even viable ? Would there be any problem with presetting the segment durations since segmenting is only possible after keyframes and whether ffmpeg can get around this ?







My knowledge regarding video processing and generation borders on modest at best. I would greatly appreciate some pointers.


-
-
m3u8 playback issue with VLC player [closed]
2 avril, par YUZI’m creating a timelapse video from a folder of images using FFmpeg, generating two HLS (m3u8) playlists : one at 1080p and another at 2K resolution. The playlists and
.ts
segments appear to be generated correctly, but when I play them3u8
files in media players like VLC or PotPlayer, the video does not play seamlessly. Instead, it plays in a segment-by-segment manner (e.g., it stops after each segment and doesn’t automatically continue to the next one). I expect the entire video to play continuously without interruptions. What could be the issue ?

I ran these commands on cmd :


for %i in (*.jpeg) do echo file '%cd%\%i' >> C:\Users\stitch_img\test\input_list.txt

ffmpeg -y -f concat -safe 0 -i "C:\Users\stitch_img\test\input_list.txt" -vf "scale=1920x1080" -c:v libx264 -r 16 -hls_time 4 -hls_playlist_type vod -hls_segment_filename "C:\Users\stitch_img\test\1080_video_%03d.ts" "C:\Users\stitch_img\test\1080_playlist.m3u8"

ffmpeg -y -f concat -safe 0 -i "C:\Users\stitch_img\test\input_list.txt" -vf 
"scale=2560x1440" -c:v libx264 -r 16 -hls_time 4 -hls_playlist_type vod -hls_segment_filename "C:\Users\stitch_img\test\2k_video_%03d.ts" "C:\Users\stitch_img\test\2k_playlist.m3u8"

echo #EXTM3U > "C:\Users\stitch_img\test\master_playlist.m3u8"
echo #EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080 >> "C:\Users\stitch_img\test\master_playlist.m3u8"
echo 1080_playlist.m3u8 >> "C:\Users\stitch_img\test\master_playlist.m3u8"
echo #EXT-X-STREAM-INF:BANDWIDTH=8000000,RESOLUTION=2560x1440 >> "C:\Users\stitch_img\test\master_playlist.m3u8"
echo 2k_playlist.m3u8 >> "C:\Users\stitch_img\test\master_playlist.m3u8"



What I’ve Tried :


- 

-
Verified that the
.ts
files are playable individually (e.g., opening1080p_000.ts
in VLC works fine).

-
Ensured the
m3u8
files are structured correctly with#EXT-X-ENDLIST
(indicating a VOD playlist).

-
Used HTTP playback to rule out local path resolution issues, but the issue persists










m3u8 masters
:

#EXTM3U
#EXT-X-STREAM-INF: BANDWIDTH=5000000, RESOLUTION=1920x1080 1080_playlist.m3u8
#EXT-X-STREAM-INF: BANDWIDTH=8000000, RESOLUTION=2560x1440 2k_playlist.m3u8



m3u8_2k
:

#EXTM3U
#EXT-X-VERSION: 3
#EXT-X-TARGETDURATION: 4 
#EXT-X-MEDIA-SEQUENCE:0 
#EXT-X-PLAYLIST-TYPE: VOD
#EXTINF: 4.125000, 
2k_video_000.ts 
#EXTINF:3.312500,
2k_video_001.ts
#EXT-X-ENDLIST



m3u8_1080p
:

#EXTM3U
#EXT-X-VERSION: 3
#EXT-X-TARGETDURATION: 4 
#EXT-X-MEDIA-SEQUENCE:0 
#EXT-X-PLAYLIST-TYPE: VOD
#EXTINF: 4.125000, 
1080_video_000.ts 
#EXTINF:3.312500,
1080_video_001.ts
#EXT-X-ENDLIST



-
-
m3u8 playback issue with VLC player and ffmpeg [closed]
2 avril, par YUZI’m creating a timelapse video from a folder of images using FFmpeg, generating two HLS (m3u8) playlists : one at 1080p and another at 2K resolution. The playlists and
.ts
segments appear to be generated correctly, but when I play them3u8
files in media players like VLC or PotPlayer, the video does not play seamlessly. Instead, it plays in a segment-by-segment manner (e.g., it stops after each segment and doesn’t automatically continue to the next one). I expect the entire video to play continuously without interruptions. What could be the issue ?

I ran these commands on cmd :


for %i in (*.jpeg) do echo file '%cd%\%i' >> C:\Users\stitch_img\test\input_list.txt

ffmpeg -y -f concat -safe 0 -i "C:\Users\stitch_img\test\input_list.txt" -vf "scale=1920x1080" -c:v libx264 -r 16 -hls_time 4 -hls_playlist_type vod -hls_segment_filename "C:\Users\stitch_img\test\1080_video_%03d.ts" "C:\Users\stitch_img\test\1080_playlist.m3u8"

ffmpeg -y -f concat -safe 0 -i "C:\Users\stitch_img\test\input_list.txt" -vf 
"scale=2560x1440" -c:v libx264 -r 16 -hls_time 4 -hls_playlist_type vod -hls_segment_filename "C:\Users\stitch_img\test\2k_video_%03d.ts" "C:\Users\stitch_img\test\2k_playlist.m3u8"

echo #EXTM3U > "C:\Users\stitch_img\test\master_playlist.m3u8"
echo #EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080 >> "C:\Users\stitch_img\test\master_playlist.m3u8"
echo 1080_playlist.m3u8 >> "C:\Users\stitch_img\test\master_playlist.m3u8"
echo #EXT-X-STREAM-INF:BANDWIDTH=8000000,RESOLUTION=2560x1440 >> "C:\Users\stitch_img\test\master_playlist.m3u8"
echo 2k_playlist.m3u8 >> "C:\Users\stitch_img\test\master_playlist.m3u8"



What I’ve Tried :


- 

-
Verified that the
.ts
files are playable individually (e.g., opening1080p_000.ts
in VLC works fine).

-
Ensured the
m3u8
files are structured correctly with#EXT-X-ENDLIST
(indicating a VOD playlist).

-
Used HTTP playback to rule out local path resolution issues, but the issue persists










m3u8 masters
:

#EXTM3U
#EXT-X-STREAM-INF: BANDWIDTH=5000000, RESOLUTION=1920x1080 1080_playlist.m3u8
#EXT-X-STREAM-INF: BANDWIDTH=8000000, RESOLUTION=2560x1440 2k_playlist.m3u8



m3u8_2k
:

#EXTM3U
#EXT-X-VERSION: 3
#EXT-X-TARGETDURATION: 4 
#EXT-X-MEDIA-SEQUENCE:0 
#EXT-X-PLAYLIST-TYPE: VOD
#EXTINF: 4.125000, 
2k_video_000.ts 
#EXTINF:3.312500,
2k_video_001.ts
#EXT-X-ENDLIST



m3u8_1080p
:

#EXTM3U
#EXT-X-VERSION: 3
#EXT-X-TARGETDURATION: 4 
#EXT-X-MEDIA-SEQUENCE:0 
#EXT-X-PLAYLIST-TYPE: VOD
#EXTINF: 4.125000, 
1080_video_000.ts 
#EXTINF:3.312500,
1080_video_001.ts
#EXT-X-ENDLIST



-