
Recherche avancée
Autres articles (28)
-
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 (...) -
ANNEXE : Les extensions, plugins SPIP des canaux
11 février 2010, parUn plugin est un ajout fonctionnel au noyau principal de SPIP. MediaSPIP consiste en un choix délibéré de plugins existant ou pas auparavant dans la communauté SPIP, qui ont pour certains nécessité soit leur création de A à Z, soit des ajouts de fonctionnalités.
Les extensions que MediaSPIP nécessite pour fonctionner
Depuis la version 2.1.0, SPIP permet d’ajouter des plugins dans le répertoire extensions/.
Les "extensions" ne sont ni plus ni moins que des plugins dont la particularité est qu’ils se (...) -
MediaSPIP Core : La Configuration
9 novembre 2010, parMediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)
Sur d’autres sites (5642)
-
sws_scale() does not convert image simply copying it from source to target
14 mars 2020, par SlavTrying to read arbitrary video as plain RGB24 pixels so convert frame with
sws_scale()
this way ://...
AVFrame* pic_out = av_frame_alloc();
pic_out->format = AV_PIX_FMT_RGB24;
pic_out->width = 1920;
pic_out->height = 1080;
av_frame_get_buffer( pic_out, 32 );
struct SwsContext * img_convert_ctx = sws_getContext(
1920, 1080, AV_PIX_FMT_YUV420P,
1920, 1080, AV_PIX_FMT_RGB24,
SWS_BICUBIC,
NULL, NULL, NULL
);
//...
sws_scale(
img_convert_ctx,
pic_src->data, //pic_src is from avcodec_receive_frame()
pic_src->linesize,
0,
1080,
pic_out->data,
pic_out->linesize
);Everything goes without any errors, but
pic_out
ends up having the same data aspic_src
.
What could be the problem ?Full minimal example is here (supposed to be RGB24 image is there as 2.bmp which looks like actually being YUV-something)
-
How to sum audio from two streams in ffmpeg
9 février 2021, par user3188445I have a video file with two audio streams, representing two people talking at different times. The two people never talk at the same time, so there is no danger of clipping by summing the audio. I would like to sum the audio into one stream without reducing the volume. The ffmpeg amix filter has an option that would seem to do what I want, but the option does not seem to work. Here are two minimal non-working examples (the audio tracks are [0:2] and [0:3]) :


ffmpeg -i input.mkv -map 0:0 -c:v copy \
 -filter_complex '[0:2][0:3]amix' \
 output.m4v

ffmpeg -i input.mkv -map 0:0 -c:v copy \
 -filter_complex '[0:2][0:3]amix=sum=sum' \
 output.m4v



The first example diminishes the audio volume. The second example is a syntax error. I tried other variants like
amix=sum
andamix=sum=1
, but despite the documentation I don't think the sum option exists any more.ffmpeg -h filter=amix
does not mention the sum option (ffmpeg version n4.3.1).

My questions :


- 

-
Can I sum two audio tracks with ffmpeg, without losing resolution. (I'd rather not cut the volume in half and scale it up, but if there's no other way I guess I'd accept and answer that sacrifices a bit.)


-
Is there an easy way to adjust the relative delay of one of the tracks by a few milliseconds ?








-
-
Create a mkv file with colored background and containing a given audio and subtitle stream
25 mai 2023, par rdrg109Table of contents


- 

- The context
- Minimal working example
- What I've tried

- 

- Create a mkv file with colored background and an audio stream
- Create a mkv file with colored background, an audio stream and a subtitles stream






- The question












The context


I have a
*.flac
file and a*.srt
file. I want to merge those files in a MKV file, but at the same time, I want to add a video stream. I want the video stream to show a green background the entire time.



Minimal working example


For our experimentation, let's create two sample files : one
*.flac
file and one*.srt
file.

The following command creates a
*.flac
file that lasts 60 seconds and contains a sine wave.

$ ffmpeg -y -f lavfi -i "sine=f=1000:d=60" input.flac



The following command creates a
*.srt
file. Note that our last subtitle lasts until the sixth second, this is intended.

$ cat << EOF > input.srt
1
00:00:00,000 --> 00:00:03,000
This is the first subtitle in a
SRT file.

2
00:00:03,000 --> 00:00:06,000
This is the second subtitle in a
SRT file.
EOF





What I've tried




Create a mkv file with colored background and an audio stream


I know how to create a MKV file containing a given audio stream and a colored background as the video stream.


The following command creates a MKV file containing
input.flac
as the audio stream and green background as the video stream. The MKV file have the same duration asinput.flac
.

$ ffmpeg \
 -y \
 -f lavfi \
 -i color=c=green:s=2x2 \
 -i input.flac \
 -c:v libx264 \
 -c:a copy \
 -shortest \
 output.mkv



The following command shows the duration of the streams in the resulting file.


$ ffprobe -v error -print_format json -show_entries stream=codec_type:stream_tags=duration output.mkv | jq -r ''



{
 "programs": [],
 "streams": [
 {
 "codec_type": "video",
 "tags": {
 "DURATION": "00:00:58.200000000"
 }
 },
 {
 "codec_type": "audio",
 "tags": {
 "DURATION": "00:01:00.000000000"
 }
 }
 ]
}





Create a mkv file with colored background, an audio stream and a subtitles stream


To add a subtitles stream, I just need to specify the
*.srt
file. However, when I do this, the duration of the video is set to the time of the last subtitle in the*.srt
file. This is expected because I have used-shortest
. I would get the result I'm looking for if it were possible to specify the stream that-shortest
gives top priority to. I haven't found this information on the Internet.

$ ffmpeg \
 -y \
 -f lavfi \
 -i color=c=green:s=2x2 \
 -i input.flac \
 -i input.srt \
 -c:v libx264 \
 -c:a copy \
 -shortest \
 output.mkv



The following command shows the duration of the streams in the resulting file. Note that the maximum duration of the resulting file is 6 seconds, while in the resulting file from the previous section it was 1 minute.


$ ffprobe -v error -print_format json -show_entries stream=codec_type:stream_tags=duration output.mkv | jq -r ''



{
 "programs": [],
 "streams": [
 {
 "codec_type": "video",
 "tags": {
 "DURATION": "00:00:01.160000000"
 }
 },
 {
 "codec_type": "audio",
 "tags": {
 "DURATION": "00:00:03.134000000"
 }
 },
 {
 "codec_type": "subtitle",
 "tags": {
 "DURATION": "00:00:06.000000000"
 }
 }
 ]
}





The question


Given a
*.flac
file and a*.srt
file. How to merge them in a*.mkv
file so that it has the*.flac
file as the audio stream, the*.srt
file as the subtitles stream and a green background as the video stream ?