
Recherche avancée
Médias (91)
-
Géodiversité
9 septembre 2011, par ,
Mis à jour : Août 2018
Langue : français
Type : Texte
-
USGS Real-time Earthquakes
8 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
SWFUpload Process
6 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
-
Creativecommons informational flyer
16 mai 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (45)
-
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
Soumettre améliorations et plugins supplémentaires
10 avril 2011Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)
Sur d’autres sites (5955)
-
Random Weird HLS generation with ffmpeg
16 août 2022, par user15006279I am doing some live streaming setup for my personal project and I noticed that sometime ffmpeg will not generate any hls auto it was running. I copied the same command and run in shell and it was generating HLS files successfully but somehow it was not generating with nginx.


Enter image description here




The more weird thing is that if i restart nginx for like a couple of times, it will regenerate. I am only playing youtube video from browser somehow ffmpeg process is not generating hls. Even after a couple of restarts, it will generate sometimes but its random. Mostly not generating at all. Can you guys help me with it ?


image




-
ffmpeg incorrectly adds a fixed delay to the end of each video chunk
13 janvier 2023, par SkylerI am trying to combine audio a video data to output as an mp4 file using the command below, the videos are segmented to match the exact length of the audio file they are going to be merged with :


command = 'ffmpeg -y -i {} -i {} -strict -2 -q:v 1 {} -loglevel {} -c:v h264_nvenc'.format(
 audio_file, temp_result_avi, outfile, self.ffmpeg_loglevel
 )
 subprocess.call(command, shell=True)



however each video made by this is exactly 24 ms longer so this causes large delays as they get stitched back together. This doesnt work since the combined video needs to be combined back with another video and the desync gets worse as you get further in the combined videos.


How can I remedy this ?


-
FFmpeg : crossfading audio with multiple files, but works with video only
12 février 2024, par JayCravensI've found this script that cross-fade's all mp4's in the directory. If I try to add the audio with
AUDIO="[0:a]afade=d=1[a0];"
, using the same iteration, it doesn't work.

This works fine...


#!/bin/bash

CMD="ffmpeg"
FILES=(*.mp4)
SIZE=${#FILES[@]}
VIDEO=""
OUT=""

i="0"
total_duration="0"
for file in "${FILES[@]}"; do
 echo "$file"
 CMD="$CMD -i '$file'"

 duration=$(ffprobe -v error -select_streams v:0 -show_entries stream=duration -of csv=p=0 "$file" | cut -d'.' -f1)

 if [[ "$i" == "0" ]]
 then
 VIDEO="[0:v]setpts=PTS-STARTPTS[v0];"
 else
 fade_start=$((total_duration))
 VIDEO="${VIDEO}[${i}:v]format=yuva420p,fade=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+(${fade_start}/TB)[v${i}];"
 if (( i < SIZE-1 ))
 then
 if (( i == 1 ))
 then
 OUT="${OUT}[v0][v1]overlay[outv1];"
 else
 OUT="${OUT}[outv$((i-1))][v${i}]overlay[outv${i}];"
 fi
 else
 if (( SIZE == 2 ))
 then
 OUT="${OUT}[v0][v1]overlay,format=yuv420p[outv]"
 else
 OUT="${OUT}[outv$((i-1))][v${i}]overlay,format=yuv420p[outv]"
 fi
 fi
 fi

 total_duration=$((total_duration+duration))

 i=$((i+1))
done

CMD="$CMD -filter_complex \"${VIDEO}${OUT}\" -c:v libx264 -preset ultrafast -map [outv] crossfade.mp4"

echo "$CMD"

bash -c "$CMD"



I read
acrossfade
requires 32bit little endian, so I went toafade
.
It didn't change anything.

I've got this working via fade in/out, for any number of files, with working audio. I still have to preprocess the audio sections which require fading.


#!/bin/bash

if [ -e *.mkv ]; then
 file_type=".mkv"
else
 file_type=".mp4"
fi

mkdir ./temp
for file in *$file_type; do mv "$file" "in_$file"; done

# Function to fade in video
function fade_in() {
file_list1=(in_*)
 echo "Executing fade_in"
 for file in "${file_list1[@]}"; do
 ffmpeg -i "$file" -y -vf fade=in:0:30 -hide_banner -preset ultrafast "out_$file"
 done
mv in_* ./temp
}
export -f fade_in

# Function to fade out video
function fade_out() {
 file_list2=(out_*)
 echo "Executing fade_out"
 for file in "${file_list2[@]}"; do
 frame_count=$(ffmpeg -i $file -map 0:v:0 -c copy -f null -y /dev/null 2>&1 | grep -Eo 'frame= *[0-9]+ *' | grep -Eo '[0-9]+' | tail -1)
 frame_start=$((frame_count - 30))
 ffmpeg -i "$file" -y -vf fade=out:"$frame_start":30 -hide_banner -preset ultrafast "to_mux_$file"
 done
 mv out_* ./temp
}

export -f fade_out

bash -c "fade_in"
bash -c "fade_out"

ls --quoting-style=shell-always -1v *$file_type > tmp.txt
sed 's/^/file /' tmp.txt > list.txt && rm tmp.txt

ffmpeg -f concat -safe 0 -i list.txt -c copy -shortest -movflags +faststart fade_muxed$file_type

mv to_mux_* ./temp
rm list.txt
#rm -rf ./temp

exit 0



Number the file name's sequentially (i.e. 01_file.mkv 02_file.mkv etc.), to ensure order, or it will be up to the directory sort. Using
ls --quoting-style=shell-always -v1
has proved very reliable. It should handle 99% of naming conventions.It's not a cross fade, but the two second transition is very close. With working and synchronized audio.
If you have a good multi-file concatenation method that includes audio cross-fading, I'm still looking.


Ed Morton, I completely agree, sir. One-hundred percent. I didn't write the first script. I would NEVER use capitals. They're horrible. I
"like_full_words"
with_
's. Never for any reason other than visual though, so that was a great read, I recommend it.