
Recherche avancée
Médias (91)
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Paul Westerberg - Looking Up in Heaven
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Le Tigre - Fake French
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Thievery Corporation - DC 3000
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Dan the Automator - Relaxation Spa Treatment
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Gilberto Gil - Oslodum
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (71)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
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 ) (...) -
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
Sur d’autres sites (10504)
-
FFMPEG : audio out of sync
15 novembre 2020, par Martinffmpeg -rtsp_transport tcp -i "rtsp://.............." -re -stream_loop -1 -i audio.m4a -filter_complex "[0:a]highpass=f=200,lowpass=f=3000,volume=0.3[mic];[1:a]volume=0.1[mic2];[mic][mic2]amix=duration=shortest[a]" -map 0:v -map "[a]" -c:v copy -b:a 320k -c:a aac -f flv "rtmp://......."


This is my working very well script thanks to @Ilogan


But now i have a problem with an audio out of sync, i don't care about the second one, its just a file audio but the first one is from a microphone of camera IP so it should be synced with the video but now the sound from a microphone is almost 28 seconds later.


Any tips how to do it ?


adelay=28000
? - nope, that didnt help since i need to delay the video to sync this with an audio.Also tried-use_wallclock_as_timestamps 1
but it didnt help neither.
Also i used -itsoffset 28 it helped but for a while, looks like that the delay time between video and audio is rising and now its 40sec+
Whats going on ?

Now i'm trying with
tpad=start_duration=28


edit :


Metadata:
 title : NVT
 comment : From NVT
 Duration: N/A, start: 0.000000, bitrate: N/A
 Stream #0:0: Video: h264 (High), yuvj420p(pc, progressive), 1920x1080, 5 fps, 30 tbr, 90k tbn, 10 tbc
 Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
 Stream #0:2: Data: none
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'audio.m4a':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2mp41
 title : Nature
 artist : 
 date : 2018
 encoder : Lavf58.20.100
 comment : 
 Duration: 08:20:49.15, start: 0.000000, bitrate: 129 kb/s
 Stream #1:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 01/28/2020.
Stream mapping:
 Stream #0:1 (pcm_mulaw) -> highpass
 Stream #1:0 (aac) -> volume
 Stream #0:0 -> #0:0 (copy)
 amix -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[rtsp @ 0x82e490] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
Output #0, flv, to 'rtmp://....':
 Metadata:
 title : NVT
 comment : From NVT
 encoder : Lavf58.20.100
 Stream #0:0: Video: h264 (High) ([7][0][0][0] / 0x0007), yuvj420p(pc, progressive), 1920x1080, q=2-31, 5 fps, 30 tbr, 1k tbn, 90k tbc
 Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 encoder : Lavc58.35.100 aac
frame= 7 fps=0.0 q=-1.0 size= 572kB time=00:00:00.44 bitrate=10634.7kbitsframe= 13 fps= 13 q=-1.0 size= 697kB time=00:00:00.88 bitrate=6463.4kbits/frame= 25 fps= 16 q=-1.0 size= 1185kB time=00:00:01.48 bitrate=6533.1kbits/frame= 33 fps= 16 q=-1.0 size= 1390kB time=00:00:01.99 bitrate=5702.1kbits```



-
c++ how to use lambdas to set ffmpeg's av_log_set_callback() to a member function ?
13 février 2018, par Blake SenftnerI’ve been researching how to use lambdas as callbacks, but I do not seem to be getting my syntax correct. I am working in C++ via Visual Studio 2013 Community, & I am pretty sure this type of lambda use is supported. I am working on a video library which is based on the FFMPEG libav libraries.
The basic issue is the logging callback provided to library clients of FFMPEG’s libav. It has this calling structure :
void logging_callback( void *ptr, int level, const char *fmt, va_list vargs );
This is fine for C or fine for C++ when the logging callback is a static member function, but I want to install a class member function, which needs the this parameter per the C++ nature of calling method functions.
What I have so far looks like : (unrelated portions removed)
class my_libav
{
// logging messages callback for use by library client, any log messages generated
// by the library will be sent thru this to the lib client's logic:
typedef void(*STREAM_LOGGING_CALLBACK_CB) (std::string msg, void* p_object);
// my lib's logger has a void* param so clients can redirect to member functs easier
void SetStreamLoggingCallback(STREAM_LOGGING_CALLBACK_CB p_stream_logger, void* p_object);
// member function to be installed as FFMPEG's av_log_set_callback():
void RedirectLoggingOutputs( void *ptr, int level, const char *fmt, va_list vargs );
STREAM_LOGGING_CALLBACK_CB mp_stream_logging_callback; // client's callback
void* mp_stream_logging_object; // client's data
};
void my_libav::SetStreamLoggingCallback(STREAM_LOGGING_CALLBACK_CB p_stream_logger, void* p_object)
{
mp_stream_logging_callback = p_stream_logger;
mp_stream_logging_object = p_object;
}
void my_libav::RedirectLoggingOutputs(void *ptr, int level, const char *fmt, va_list vargs )
{
// logic that resolves the message and sends through client's callback
// installed int mp_stream_logging_callback
}
my_libav::my_libav()
{
// this is the old static member function I deleted:
// av_log_set_callback( &my_libav::logging_callback );
// I tried using std::bind & placeholders, but this syntax is wrong too:
// namespace ph = std::placeholders;
// auto callback = std::bind( &my_libav::RedirectLoggingOutputs, this, ph::_1, ph::_2, ph::_3, ph::_4 );
//
// av_log_set_callback( callback ); // <- 'callback' is not the correct type
// this is my try at a lambda. I know that the *this* cannot be
// in the capture, but I don't know the right syntax to work around
// this issue:
std::function
f2 = [this](void *ptr, int level, const char *fmt, va_list vargs ){
RedirectLoggingOutputs( ptr, level, fmt, vargs ); };
av_log_set_callback( f2 ); // <- 'f2' is not the correct type, how to fix?The syntax I am trying to fix is in the last 4 lines. What is the correct form ?
-
Metal Gear Solid VP3 Easter Egg
4 août 2011, par Multimedia Mike — Game HackingMetal Gear Solid : The Twin Snakes for the Nintendo GameCube is very heavy on the cutscenes. Most of them are animated in real-time but there are a bunch of clips — normally of a more photo-realistic nature — that the developers needed to compress using a conventional video codec. What did they decide to use for this task ? On2 VP3 (forerunner of Theora) in a custom transport format. This is only the second game I have seen in the wild that uses pure On2 VP3 (first was a horse game). Reimar and I sorted out most of the details sometime ago. I sat down today and wrote a FFmpeg / Libav demuxer for the format, mostly to prove to myself that I still could.
Things went pretty smoothly. We suspected that there was an integer field that indicated the frame rate, but 18 fps is a bit strange. I kept fixating on a header field that read
0x41F00000
. Where have I seen that number before ? Oh, of course — it’s the number 30.0 expressed as an IEEE 32-bit float. The 4XM format pulled the same trick.Hexadecimal Easter Egg
I know I finished the game years ago but I really can’t recall any of the clips present in the samples directory. The file mgs1-60.vp3 contains a computer screen granting the player access and illustrates this with a hexdump. It looks something like this :
Funny, there are only 22 bytes on a line when there should be 32 according to the offsets. But, leave it to me to try to figure out what the file type is, regardless. I squinted and copied the first 22 bytes into a file :
1F 8B 08 00 85 E2 17 38 00 03 EC 3A 0D 78 54 D5 38 00 03 EC 3A 0D
And the answer to the big question :
$ file mgsfile mgsfile : gzip compressed data, from Unix, last modified : Wed Oct 27 22:43:33 1999
A gzip’d file from 1999. I don’t know why I find this stuff so interesting, but I do. I guess it’s no more and less strange than writing playback systems like this.