
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (63)
-
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 (...) -
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (9376)
-
How to configure ffmpeg on ubuntu to convert *.3gp to pcm *.wav ? [migrated]
31 juillet 2012, par Monica SolI'm using linux Ubuntu ver 10.04.
I need to convert file *.3gp to PCM *.wav. I'm using for that ffmpeg program.When it's installed from repository by using aptitude install ffmpeg it's installing some basic version of it and I cannot convert what I need.
I've read some stuff on the Internet and I've made what there was written.
I've installed the latest yasm ver.1.1.0 and the newest x264 - 0.125.2208. After that I got ffmpeg using git from http://ffmpeg.org/download.html (git clone git ://source.ffmpeg.org/ffmpeg.git ffmpeg).I`ve tried to configure ffmpeg by myself using :
./configure --enable-gpl --enable-version3 --enable-postproc
--enable-nonfree --enable-swscale --enable-pthreads --enable-libmp3lame
--enable-libx264 --enable-libopencore-amrnb --enable-libopencore-amrwbthan : time make && make install.
Till this time everything was ok. After conversion (ffmpeg -i audiotest.3gp -f s16le -ar 8000 -acodec pcm_s16le audio.wav) I wanted to check information about this PCM *.wav file (ffmpeg -i audio.wav) and I`ve got this error :
~# ffmpeg -i audio.wav
ffmpeg version N-42619-g6b7849e Copyright (c) 2000-2012 the FFmpeg developers
built on Jul 21 2012 00:50:52 with gcc 4.4.3
configuration: --enable-gpl --enable-version3 --enable-postproc --enable-nonfree --enable-swscale --enable-pthreads --enable-libmp3lame --enable-libx264 --enable-libopencore-amrnb --enable-libopencore-amrwb
libavutil 51. 65.100 / 51. 65.100
libavcodec 54. 41.100 / 54. 41.100
libavformat 54. 17.100 / 54. 17.100
libavdevice 54. 1.100 / 54. 1.100
libavfilter 3. 2.100 / 3. 2.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
[aac @ 0x943d4e0] Format aac detected only with low score of 1, misdetection possible!
[aac @ 0x9443740] channel element 0.0 is not allocated
Last message repeated 2 times
[aac @ 0x9443740] More than one AAC RDB per ADTS frame is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Number of bands (16) exceeds limit (4).
[aac @ 0x9443740] Number of bands (7) exceeds limit (2).
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x9443740] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
[aac @ 0x9443740] channel element 2.0 is not allocated
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] channel element 0.0 is not allocated
[aac @ 0x9443740] Number of bands (31) exceeds limit (1).
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Number of bands (16) exceeds limit (2).
[aac @ 0x9443740] channel element 0.7 is not allocated
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Number of scalefactor bands in group (62) exceeds limit (41).
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] channel element 0.2 is not allocated
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] channel element 0.15 is not allocated
[aac @ 0x9443740] Pulse data corrupt or invalid.
[aac @ 0x9443740] Number of scalefactor bands in group (48) exceeds limit (41).
[aac @ 0x9443740] channel element 2.0 is not allocated
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Number of bands (16) exceeds limit (4).
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
Last message repeated 1 times
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] channel element 2.0 is not allocated
[aac @ 0x9443740] Number of bands (31) exceeds limit (4).
[aac @ 0x9443740] Pulse data corrupt or invalid.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x9443740] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] channel element 0.0 is not allocated
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] channel element 0.3 is not allocated
[aac @ 0x9443740] Pulse data corrupt or invalid.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Number of bands (35) exceeds limit (16).
[aac @ 0x9443740] Number of scalefactor bands in group (63) exceeds limit (41).
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] channel element 0.0 is not allocated
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] channel element 0.0 is not allocated
[aac @ 0x9443740] Number of bands (38) exceeds limit (10).
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] channel element 0.2 is not allocated
[aac @ 0x9443740] channel element 0.7 is not allocated
[aac @ 0x9443740] Reserved bit set.
Last message repeated 2 times
[aac @ 0x9443740] channel element 0.2 is not allocated
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
Last message repeated 1 times
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] decode_band_types: Input buffer exhausted before END element found
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Error decoding AAC frame header.
Last message repeated 1 times
[aac @ 0x9443740] Reserved bit set.
Last message repeated 1 times
[aac @ 0x9443740] Number of bands (4) exceeds limit (1).
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Number of bands (31) exceeds limit (8).
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Number of bands (31) exceeds limit (2).
[aac @ 0x9443740] Number of bands (28) exceeds limit (1).
[aac @ 0x9443740] channel element 0.0 is not allocated
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Number of bands (16) exceeds limit (2).
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x943d4e0] decoding for stream 0 failed
[aac @ 0x943d4e0] Could not find codec parameters for stream 0 (Audio: aac, 4.0, s16, 383 kb/s): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[aac @ 0x943d4e0] Estimating duration from bitrate, this may be inaccurate
audio.wav: could not find codec parametersCan anyone help me with this ? What I'm doing wrong ? I'm linux newbie, but I really need to get this thing works.
-
ffmpeg, how to add new audio (not mixing) in video
15 février 2016, par VetalllI used a command like :
ffmpeg -i video.avi -i audio.mp3 -vcodec codec -acodec codec output_video.avi -newaudio
in latest version for adding new audio track to video (not mix). But i updated the ffmpeg to newest version
ffmpeg version git-2012-06-16-809d71d
And now in this version the parameter "-newaudio" doesn’t work.
Tell me please how i can add new audio to my video(not mix) using ffmpeg.
p.s. sorry my English
-
Adjusting The Timetable and SQL Shame
My Game Music Appreciation website has a big problem that many visitors quickly notice and comment upon. The problem looks like this :
The problem is that all of these songs are 2m30s in length. During the initial import process, unless a chiptune file already had curated length metadata attached, my metadata utility emitted a default play length of 150 seconds. This is not good if you want to listen to all the songs in a soundtrack without interacting with the player page, but have various short songs (think “game over” or other quick jingles) that are over in a few seconds. Such songs still pad out 150 seconds of silence.
So I needed to correct this. Possible solutions :
- Manually : At first, I figured I could ask the database which songs needed fixing and listen to them to determine the proper lengths. Then I realized that there were well over 1400 games affected by this problem. This just screams “automated solution”.
- Automatically : Ask the database which songs need fixing and then somehow ask the computer to listen to the songs and decide their proper lengths. This sounds like a winner, provided that I can figure out how to programmatically determine if a song has “finished”.
SQL Shame
This play adjustment task has been on my plate for a long time. A key factor that has blocked me is that I couldn’t figure out a single SQL query to feed to the SQLite database underlying the site which would give me all the songs I needed. To be clear, it was very simple and obvious to me how to write a program that would query the database in phases to get all the information. However, I felt that it would be impure to proceed with the task unless I could figure out one giant query to get all the information.This always seems to come up whenever I start interacting with a database in any serious way. I call it SQL shame. This task got some traction when I got over this nagging doubt and told myself that there’s nothing wrong with the multi-step query program if it solves the problem at hand.
Suddenly, I had a flash of inspiration about why the so-called NoSQL movement exists. Maybe there are a lot more people who don’t like trying to derive such long queries and are happy to allow other languages to pick up the slack.
Estimating Lengths
Anyway, my solution involved writing a Python script to iterate through all the games whose metadata was output by a certain engine (the one that makes the default play length 150 seconds). For each of those games, the script queries the song table and determines if each song is exactly 150 seconds. If it is, then go to work trying to estimate the true length.The forgoing paragraph describes what I figured was possible with only a single (possibly large) SQL query.
For each song represented in the chiptune file, I ran it through a custom length estimator program. My brilliant (err, naïve) solution to the length estimation problem was to synthesize seconds of audio up to a maximum of 120 seconds (tightening up the default length just a bit) and counting how many of those seconds had all 0 samples. If the count reached 5 consecutive seconds of silence, then the estimator rewound the running length by 5 seconds and declared that to be the proper length. Update the database.
There were about 1430 chiptune files whose songs needed updates. Some files had 1 single song. Some files had over 100. When I let the script run, it took nearly 65 minutes to process all the files. That was a single-threaded solution, of course. Even though I already had the data I needed, I wanted to try to hand at parallelizing the script. So I went to work with Python’s multiprocessing module and quickly refactored it to use all 4 CPU threads on the machine where the files live. Results :
- Single-threaded solution : 64m42s to process corpus (22 games/minute)
- Multi-threaded solution : 18m48s with 4 CPU threads (75 games/minute)
More than a 3x speedup across 4 CPU threads, which is decent for a primarily CPU-bound operation.
Epilogue
I suspect that this task will require some refinement or manual intervention. Maybe there are songs which actually have more than 5 legitimate seconds of silence. Also, I entertained the possibility that some songs would generate very low amplitude noise rather than being perfectly silent. In that case, I could refine the script to stipulate that amplitudes below a certain threshold count as 0. Fortunately, I marked which games were modified by this method, so I can run a new script as necessary.SQL Schema
Here is the schema of my SQlite3 database, for those who want to try their hand at a proper query. I am confident that it’s possible ; I just didn’t have the patience to work it out. The task is to retrieve all the rows from the games table where all of the corresponding songs in the songs table is 150000 milliseconds.
-
CREATE TABLE games
-
(
-
id INTEGER PRIMARY KEY AUTOINCREMENT,
-
uncompressed_sha1 TEXT,
-
uncompressed_size INTEGER,
-
compressed_sha1 TEXT,
-
compressed_size INTEGER,
-
system TEXT,
-
game TEXT,
-
gme_system TEXT default NULL,
-
canonical_url TEXT default NULL,
-
extension TEXT default "gamemusicxz",
-
enabled INTEGER default 1,
-
redirect_to_id INT DEFAULT -1,
-
play_lengths_modified INT DEFAULT NULL) ;
-
CREATE TABLE songs
-
(
-
game_id INTEGER,
-
song_number INTEGER NOT NULL,
-
song TEXT,
-
author TEXT,
-
copyright TEXT,
-
dumper TEXT,
-
length INTEGER,
-
intro_length INTEGER,
-
loop_length INTEGER,
-
play_length INTEGER,
-
play_order INTEGER default -1) ;
-
CREATE TABLE tags
-
(
-
game_id INTEGER,
-
tag TEXT NOT NULL,
-
tag_type TEXT default "filename") ;
-
CREATE INDEX gameid_index_songs ON songs(game_id) ;
-
CREATE INDEX gameid_index_tag ON tags(game_id) ;
-
CREATE UNIQUE INDEX sha1_index ON games(uncompressed_sha1) ;