
Recherche avancée
Autres articles (104)
-
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 (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Sélection de projets utilisant MediaSPIP
29 avril 2011, parLes exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
Ferme MediaSPIP @ Infini
L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)
Sur d’autres sites (11814)
-
How to convert the AVPacket of ffmpeg to the webm stream with c++ code ?
2 décembre 2020, par MichaelGDI am confused how to convert the ffmpeg AVPacket to a living stream in order to I can play it with HTML5.


I have already got the
AVPacket
of ffmpeg withavcodec_encode_video2


AVPacket pkt_; 
ret = avcodec_encode_video2(c_, &pkt_, picture_, &got_frame);



And I also know how to dump the packet to webM file.


file_.write(reinterpret_cast<char>(&(pkt_.size)), sizeof(int));
file_.write(reinterpret_cast<char>(&timestamp), sizeof(uint64_t));
file_.write(reinterpret_cast<char>(pkt_.data), pkt_.size);
</char></char></char>


But, How can I create a stream server with the packets for front-end playing ?


-
ffmpeg audio and video gradually go out of sync when recorded with shell script and make
6 août 2020, par cgmilI wrote the following shell script for making streamcasts for recording streams using ffmpeg :


[ -z $1 ] && { echo "No recording device selected!" 2>&1 && exit ; } || DEV=$1
VIDFILE=video/bvid.mkv
AUDFILE=audio/baud.wav
DIM=$(xdpyinfo | grep dimensions: | awk '{print $2;}')
(sleep 10 && echo "Streaming...") &
ffmpeg -nostdin -loglevel panic -f x11grab -s $DIM -i $DISPLAY.0 -c:v libx264 "$VIDFILE" &
ffmpeg -nostdin -loglevel panic -f alsa -i hw:$DEV -c:a libmp3lame "$AUDFILE" &
sleep 1
[ -f $VIDFILE ] && (echo "Created video" 1>&2) || (echo "No video!" 1>&2)
sleep 1
[ -f $AUDFILE ] && (echo "Created audio" 1>&2) || (echo "No audio!" 1>&2)

wait
trap "killall background -s 2" SIGINT



This produces a video and audio file that can then be used to make a stream via make using the command
make stream
. Here is theMakefile
(note that there is a 3-minute long audio file and a file with images that is used to make an opening splash screen) :

FULLAUDIO=audio/full.wav
AUDSTART=84
TITLE="Stats Aside:\\nInterpreting\\nProbability"
SIZEW=1920
SIZEH=1080

audio/clip.wav : $(FULLAUDIO)
 ffmpeg -ss $(AUDSTART) -i $< -t 6 -af "afade=t=in:st=0:d=3:curve=qsin,afade=t=out:st=3:d=3:curve=qsin" -c:a libmp3lame $@

img/thumb.png : img/bg.png img/ico.png
 convert -stroke white -fill white -background black -transparent "#000000" \
 -font "URWBookman-Light" -gravity Center -size 928x1080 \
 label:$(TITLE) png:- | composite -gravity west -geometry +64+0 - \
 img/bg.png $@
 convert img/ico.png -transparent "#ffffff" png:- | composite \
 -gravity southeast -geometry +32+32 - $@ $@
 convert $@ -resize $(SIZEW)x$(SIZEH) $@

video/intro.mp4 : img/thumb.png audio/clip.wav
 ffmpeg -i audio/clip.wav -loop 1 -t 6 -i img/thumb.png -vf "fade=t=in:st=0:d=1,fade=t=out:st=5:d=1:c=white,scale=$(SIZEW):$(SIZEH)" -c:v libx264 -c:a libmp3lame $@

ProbabilityInterpretation.mp4 : video/bvid.mkv video/intro.mp4 audio/baud.wav
 ffmpeg -i video/intro.mp4 -ss 11 -i video/bvid.mkv \
 -ss 10 -i audio/baud.wav \
 -filter_complex \
 "[1]fade=t=in:st=0:d=1:c=white,scale=$(SIZEW):$(SIZEH)[bvid];\
 [2]afftdn=nr=20[baud];\
 [0:v][0:a][bvid][baud]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" \
 -c:v libx264 -c:a libmp3lame $@

stream : ProbabilityInterpretation.mp4

clean:
 -rm ProbabilityInterpretation.mp4
 -rm video/intro.mp4
 -rm audio/clip.wav
 -rm img/thumb.png

veryclean:
 make clean
 -rm video/bvid.mkv
 -rm audio/baud.wav




Because of lag between my webcam and what appears on screen, I do intentionally start the video and audio at different times so that they can eventually become in sync. However, the end result is a video that starts with the video and audio synced together, but eventually become out of sync, with the video lagging well behind the audio. Here is a link to the video with the end result ; it's long, but notice that the video starts in sync and ends out-of-sync. I should probably also note that the operating system is living in a virtual machine (VirtualBox).


Why is this happening and what can I do to prevent or correct ?


-
Ffmpeg rtmp to hls conversion but how to solve network issue ?
11 mai, par Baka-Maru LamaI'm trying to convert hls stream from rtmp source and its' working fine but the problem is when rtmp server is down or network issue the ffmpeg hls conversion process gets stuck and never comes to work again even if rtmp server is back online.



I've tried



-reconnect_at_eof 1 -reconnect_streamed 1 -reconnect_delay_max 5 




command - it says option is not recognized options by the way I'm using ffmpeg [v4.2.1].



I'm using following ffmpeg commands



ffmpeg -i rtmp://localhost/living/test ^
-max_muxing_queue_size 9999 ^
-async 1 -vf yadif -g 29.97 -r 23 ^
-b:v:0 3150k -c:v libx264 -filter:v:0 "scale=426:-1" -rc:v vbr_hq -pix_fmt yuv420p -profile:v main -level 4.1 -strict_gop 1 -rc-lookahead 32 -no-scenecut 1 -forced-idr 1 -b:a:0 128k -map 0:v -map 0:a:0 ^
-b:v:1 4200k -c:v libx264 -filter:v:1 "scale=640:-1" -rc:v vbr_hq -pix_fmt yuv420p -profile:v main -level 4.1 -strict_gop 1 -rc-lookahead 32 -no-scenecut 1 -forced-idr 1 -b:a:1 192k -map 0:v -map 0:a:0 ^
-b:v:2 5250k -c:v libx264 -filter:v:2 "scale=1280:-1" -rc:v vbr_hq -pix_fmt yuv420p -profile:v main -level 4.1 -strict_gop 1 -rc-lookahead 32 -no-scenecut 1 -forced-idr 1 -b:a:2 256k -map 0:v -map 0:a:0 ^
 -c:a aac -ar 48000 ^
-f hls ^
-var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2" ^
-master_pl_name index.m3u8 ^
-t 30000 -hls_time 10 ^
 -hls_init_time 4 -hls_list_size 0 ^
-master_pl_publish_rate 10 ^
-hls_flags delete_segments+discont_start+split_by_time "../live/test/vs%%v/manifest.m3u8" 
pause