
Recherche avancée
Médias (91)
-
999,999
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Demon seed (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
The four of us are dying (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Corona radiata (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Lights in the sky (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (63)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
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. -
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (9030)
-
FFmpeg conversion to mp3 works in terminal, not in script
19 juillet 2013, par user2598172I can run
ffmpeg -i test.m4a -vn -acodec libmp3lame -ab 256k test.mp3
And it works perfectly. However, when I have the line :
./ffmpeg -i "$SONG_SAVE.m4a" -vn -acodec libmp3lame -ab 256k "$SONG_SAVE$EXT" &> /dev/null
running in a .sh script (downloading the same file that I was able to successfully convert through the terminal), it returns an mp3 file with no audio data. Does anyone have any idea what could be causing this ? Thanks !
EDIT : here is the whole script :
#!/bin/bash
TITLE="$(echo "$1" | ./recode html..ascii | tr -d '\' | tr -s ' ' | sed 's|\ *$||')"
TAG_TITLE="$2"
ARTIST="$(echo "$3" | ./recode html..ascii | tr -d '\' | tr -s ' ')"
ALBUM="$(echo "$4" | ./recode html..ascii | tr -d '\' | tr -s ' ')"
IMG="$5"
TRACK_NUMBER="$6"
TOTAL_TRACKS="$7"
URL="$8"
MIX_TITLE="$9"
CONVERT="${10}"
RECURSIVE="${11}"
SESSION_ID="${12}"
DOWNLOAD_ID="${13}"
SONG_ID="${14}"
SONG_SAVE="songs/$SONG_ID"
ZIP_SAVE="$SESSION_ID-$DOWNLOAD_ID.zip"
ZIP_DIR="$MIX_TITLE/"
ARTWORK_SAVE="artwork/$MIX_TITLE.png"
SAVE_TITLE="$(echo "$TITLE" | sed 's|/|-|g;s|^\.||g')"
[ "$TAG_TITLE" == "false" ] && unset TITLE
[ "$ARTIST" == "false" ] && unset ARTIST
[ "$ALBUM" == "false" ] && unset ALBUM
[ "$IMG" == "false" ] && unset IMG
[ "$TRACK_NUMBER" == "false" ] && unset TRACK_NUMBER TOTAL_TRACKS
[ "$CONVERT" == "false" ] && unset CONVERT
[ "$RECURSIVE" == "false" ] && unset RECURSIVE
while [ -f "SONG_SAVE".part ]; do
sleep 2
done
if [ -f "$SONG_SAVE".m4a ]; then
EXT=".m4a"
touch "$SONG_SAVE$EXT"
elif [ -f "$SONG_SAVE".mp3 ]; then
EXT=".mp3"
touch "$SONG_SAVE$EXT"
else
curl -Lso "$SONG_SAVE".part "$URL"
if [ -n "$(file -b "$SONG_SAVE".part | grep "MPEG ADTS")" ]; then
EXT=".mp3"
elif [ -n "$(file -b "$SONG_SAVE".part | grep "MPEG v4")" ]; then
EXT=".m4a"
else
EXT=".txt"
echo "Unable to download: $URL. Sorry ):" > "$SONG_SAVE".part
fi
mv "$SONG_SAVE".part "$SONG_SAVE$EXT"
fi
if [ -n "$CONVERT" ] && [ "$EXT" == ".m4a" ]; then
EXT=".mp3"
if [ ! -f "$SONG_SAVE$EXT" ]; then
./ffmpeg -i "$SONG_SAVE.m4a" -vn -acodec libmp3lame -ab 256k "$SONG_SAVE$EXT" &> /dev/null
fi
fi
if [ "$EXT" == ".mp3" ]; then
./eyeD3 --remove-images -t "$TITLE" -a "$ARTIST" -A "$ALBUM" -n "$TRACK_NUMBER" -N "$TOTAL_TRACKS" "$SONG_SAVE$EXT" &> /dev/null
if [ -n "$IMG" ]; then
[ ! -f "$ARTWORK_SAVE" ] && curl -Lso "$ARTWORK_SAVE" "$IMG"
./eyeD3 --add-image="$ARTWORK_SAVE":FRONT_COVER "$SONG_SAVE$EXT" &> /dev/null
fi
elif [ "$EXT" == ".m4a" ]; then
if [ -n "$IMG" ]; then
[ ! -f "$ARTWORK_SAVE" ] && curl -Lso "$ARTWORK_SAVE" "$IMG"
if [ -n "$TRACK_NUMBER" ]; then
./mp4tags -P "$ARTWORK_SAVE" -s "$TITLE" -a "$ARTIST" -R "" -A "$ALBUM" -t "$TRACK_NUMBER" -T "$TOTAL_TRACKS" "$SONG_SAVE$EXT" &> /dev/null
else
./mp4tags -P "$ARTWORK_SAVE" -s "$TITLE" -a "$ARTIST" -R "" -A "$ALBUM" "$SONG_SAVE$EXT" &> /dev/null
fi
else
if [ -n "$TRACK_NUMBER" ]; then
./mp4tags -r P -s "$TITLE" -a "$ARTIST" -R "" -A "$ALBUM" -t "$TRACK_NUMBER" -T "$TOTAL_TRACKS" "$SONG_SAVE$EXT" &> /dev/null
else
./mp4tags -r P -s "$TITLE" -a "$ARTIST" -R "" -A "$ALBUM" "$SONG_SAVE$EXT" &> /dev/null
fi
fi
fi
if [ -n "$RECURSIVE" ]; then
cd archives
mkdir -p "$ZIP_DIR"
chmod 777 "$ZIP_DIR"
cp "../$SONG_SAVE$EXT" "$ZIP_DIR$SAVE_TITLE$EXT"
./zip -q -0 -D -r "$ZIP_DIR$ZIP_SAVE" "$ZIP_DIR$SAVE_TITLE$EXT" &> /dev/null
rm -f "$ZIP_DIR$SAVE_TITLE$EXT"
printf "archives/$ZIP_DIR$ZIP_SAVE\n$MIX_TITLE.zip\n$EXT\n"
echo "$(du -h "$ZIP_DIR$ZIP_SAVE" | tr '\t' '\n' | head -1)"
else
printf "$SONG_SAVE$EXT\n$SAVE_TITLE$EXT\n$EXT"
fi -
mov : Export geotag metadata fields
3 juin 2014, par Martin Storsjömov : Export geotag metadata fields
The ’ ?xyz’ form is used by android devices (and according to apple
mailing list archives, also by older iOS devices). The ’loci’ field
(defined in 3GPP 26.244) is used by recent iOS devices.Even though the loci field can contain an altitude, it was plain
0 in my sample. Just export longitude and latitude, in a string
format matching the one used by the ’ ?xyz’ metadata field.Signed-off-by : Martin Storsjö <martin@martin.st>
-
Input seeking for frame at specified timestamp with Py-AV
9 décembre 2019, par neonScarecrowI have a project already using Py-AV and am trying to replicate a specific ffmpeg command. The goal is to get a frame roughly around the specified timestamp.
Here’s the ffmpeg commmand :
https://trac.ffmpeg.org/wiki/Seekingffmpeg -ss 14 -i https://some_url.mp4 -frames:v 1 frame_at_14_seconds.jpg
Here’s my code :
#return one frame around 14 seconds into the movie
target_sec = 14
container = av.open('https://some_url.mp4', 'r')
container.streams.video[0].thread_type = 'AUTO'
video_stream = next(s for s in container.streams if s.type == 'video')
time_base = float(video_stream.time_base)
target_timestamp = int(target_sec / time_base) + video_stream.start_time
video_stream.seek(target_timestamp)
for frame in container.decode(video_stream):
frame.to_image().save('frame_at_14_seconds.jpg')
breakAdditionally, I have found any documentation about this, but does anyone know if either command (ffmpeg/av.open) is downloading the entire file to a tmp file behind the scenes. I’m looking for a less memory-intensive way to read a frame for every second in an up to 60 second video.