
Recherche avancée
Médias (91)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
-
Stereo master soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (75)
-
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 (...) -
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 (...)
Sur d’autres sites (8774)
-
Flush & Latency Issue with Fragmented MP4 Creation in FFMPEG
1er août 2023, par galbarmI'm creating a fragmented mp4 for html5 streaming, using the following command :



-i rtsp://172.20.28.52:554/h264 -vcodec copy -an -f mp4 -reset_timestamps 1 -movflags empty_moov+default_base_moof+frag_keyframe -loglevel quiet -




- 

- "-i rtsp ://172.20.28.52:554/h264" because the source is h264 in rtp packets stream from an ip camera.
For the sake of testing, the camera is set with GOP of 1 (i.e. all frames are key frames)
- "-vcodec copy" because I don't need transcoding, only remuxing to mp4.
- "-movflags empty_moov+default_base_moof+frag_keyframe" to create a fragmented mp4 according to the media source extensions spec.
- "-" at the end in order to output the mp4 to stdout. I'm grabbing the ouput and sending it to the webclient through web sockets.











Everything is working well, expect for a latency issue which I'm trying to solve.
If I'm logging every time a data is coming in from stdout, with the timestamp of arrival, I get this output :





16/06/2015 15:40:45.239 got data size = 24

 

16/06/2015 15:40:45.240 got data size = 7197

 

16/06/2015 15:40:45.241 got data size = 32768

 

16/06/2015 15:40:45.241 got data size = 4941

 

16/06/2015 15:40:45.241 got data size = 12606

 

16/06/2015 15:40:45.241 got data size = 6345

 

16/06/2015 15:40:45.241 got data size = 6339

 

16/06/2015 15:40:45.242 got data size = 6336

 

16/06/2015 15:40:45.242 got data size = 6361

 

16/06/2015 15:40:45.242 got data size = 6337

 

16/06/2015 15:40:45.242 got data size = 6331

 

16/06/2015 15:40:45.242 got data size = 6359

 

16/06/2015 15:40:45.243 got data size = 6346

 

16/06/2015 15:40:45.243 got data size = 6336

 

16/06/2015 15:40:45.243 got data size = 6338

 

16/06/2015 15:40:45.243 got data size = 6357

 

16/06/2015 15:40:45.243 got data size = 6357

 

16/06/2015 15:40:45.243 got data size = 6322

 

16/06/2015 15:40:45.243 got data size = 6359

 

16/06/2015 15:40:45.244 got data size = 6349

 

16/06/2015 15:40:45.244 got data size = 6353

 

16/06/2015 15:40:45.244 got data size = 6382

 

16/06/2015 15:40:45.244 got data size = 6403

 

16/06/2015 15:40:45.304 got data size = 6393

 

16/06/2015 15:40:45.371 got data size = 6372

 

16/06/2015 15:40:45.437 got data size = 6345

 

16/06/2015 15:40:45.504 got data size = 6352

 

16/06/2015 15:40:45.571 got data size = 6340

 

16/06/2015 15:40:45.637 got data size = 6331

 

16/06/2015 15:40:45.704 got data size = 6326

 

16/06/2015 15:40:45.771 got data size = 6360

 

16/06/2015 15:40:45.838 got data size = 6294

 

16/06/2015 15:40:45.904 got data size = 6328

 

16/06/2015 15:40:45.971 got data size = 6326

 

16/06/2015 15:40:46.038 got data size = 6326

 

16/06/2015 15:40:46.105 got data size = 6340

 

16/06/2015 15:40:46.171 got data size = 6341

 

16/06/2015 15:40:46.238 got data size = 6332





As you can see, the first 23 lines (which contain data of about 1.5 secs of video) are arriving almost instantly, and then the delay between each 2 consecutive lines is 70ms which makes sense because the video is 15 frames per sec.
This behavior introduces a latency of about 1.5 sec.



It looks like a flushing issue because I don't see any reason why would ffmpeg need to hold the first 23 frames in memory, especially since each frame is a fragment of it's own inside the mp4.
I couldn't however, find any method that would cause ffmpeg to flush this data faster.



Has anyone got a suggestion ?



I'd like to note that this is a follow up question to this one :
Live streaming dash content using mp4box


-
ffmpeg rtsp stream is fragmenting - what is the optimal bitrate/other options ? [closed]
20 avril 2023, par unsaltedbutter97I am attempting to run 12 streams with ffmpeg, using this script :


#!/bin/bash

ffmpeg -re -stream_loop -1 \
-i test.mp4 \
-i test.mp4 \
-i test.mp4 \
-i test.mp4 \
-i test.mp4 \
-i test.mp4 \
-i test.mp4 \
-i test.mp4 \
-i test.mp4 \
-i test.mp4 \
-i test.mp4 \
-i test.mp4 \
-map 0 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream0 \
-map 1 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream1 \
-map 2 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream2 \
-map 3 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream3 \
-map 4 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream4 \
-map 5 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream5 \
-map 6 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream6 \
-map 7 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream7 \
-map 8 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream8 \
-map 9 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream9 \
-map 10 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream10 \
-map 11 -c: libx264 -b:v 500k -f rtsp rtsp://localhost:8554/mystream11



I don't really understand the -b:v option. Video resolution is 3072x1728, 10 FPS,with an online tool I calculated that each stream requires 3.4 Mbps bitrate. But the more I increase the -b:v option, for example, to 3400k, the more fragmentation I get. My assumption would be that my network cannot keep up with encoding 3.4 Mbps of data, although I use wired 1000 Mb/s.


Which options should I use to run streams without fragmentation ?


I tried changing the -b:v parameter to multiple values. 100k was not enough, stream was simply stuck. 500k there is a little bit of fragmentation, same with 1000k. With 3400k the whole stream is fragmented.


-
Building ffmpeg libraries for third party usage
23 mars 2023, par mikeProgrammerI am trying to create bindings for FFmpeg in Elixir programming language and would love to handle FFmpeg binaries for users of my library.


The whole flow is as follows :


- 

- Write some function definition in Elixir
- Implement it in in C using ffmpeg libs
- Compile C code as shared library
- When running application, Erlang Virtual Machine will load my dynamic library










The question is how to compile and include ffmpeg libs in my shared lib so that users of my Elixir lib don't have to install any native dependencies.


Here is what I was trying :


- 

-
Compile ffmpeg libs as shared ones. When my Elixir lib is compiling, it downloads precompiled ffmpeg archive, extracts its content and links to it when compiling native functions. I realized that this still won't work as ffmpeg shared libs depend on other shared libs that user has to install on their own.


-
Compile ffmpeg libs as static ones and include them in my native shared library using —whole-archive linker option. Here I am getting








/usr/bin/ld : ffmpeg_build/lib/libavcodec.a(vp9lpf_16bpp.o) : warning : relocation against
ff_pw_1' in read-only section
.text'
/usr/bin/ld : ffmpeg_build/lib/libavcodec.a(cavsdsp.o) : relocation R_X86_64_PC32 against symbol `ff_pw_5' can not be used when making a shared object ; recompile with -fPIC
/usr/bin/ld : final link failed : bad value
collect2 : error : ld returned 1 exit status

The command I am using


cc -fPIC -I/home/michal/.asdf/installs/erlang/25.1/erts-13.1/include -Iffmpeg_build/include -Ic_src/xav -shared -DXAV_DEBUG=1 c_src/xav/xav_nif.c c_src/xav/reader.c c_src/xav/utils.c -o /home/michal/Repos/xav/_build/test/lib/xav/priv/libxav.so -Lffmpeg_build/lib -Wl,--whole-archive -lavcodec -lswscale -lavutil -lavformat -Wl,--no-whole-archive



FFmpeg configuration


./configure \
--prefix="$PWD/ffmpeg_build" \
--extra-cflags="-fPIC -I$PWD/ffmpeg_build/include" \
--extra-ldflags="-L$PWD/ffmpeg_build/lib" \
--enable-pic
--disable-programs



Does anything that I am trying to do make sense to you ?


When I am installing ffmpeg-libs package on Fedora, it depends on other shared libs that are automatically downlaoded but what I would love to achieve is to provide self-contained ffmpeg build that can be used in other shared libraries.