
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 (111)
-
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras. -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (9752)
-
Lean Analytics in a Privacy-First Environment – Bootcamp with Timo Dechau
29 novembre 2024, par Daniel Crough — Banking and Financial Services, GDPR, Marketing, Privacy, Videos, Featured Banking Content -
GStreamer : How to set "stream-number" pad property of mpegtsmux element ? [closed]
8 novembre 2024, par TishSergAccroding to
gst-inspect-1.0 mpegtsmux
, mpegtsmux's sink pads have writablestream-number
property :

...
Pad Templates:
 SINK template: 'sink_%d'
 Availability: On request
 Capabilities:
 ...
 Type: GstBaseTsMuxPad
 Pad Properties:
 ...

 stream-number : stream number
 flags: readable, writable
 Integer. Range: 0 - 31 Default: 0



But when I try to set it, GStreamer says there's no such property. The following listing shows I can run multi-stream pipeline without setting that property, but when I add that property it doesn't work.


PS C:\gstreamer\1.0\msvc_x86_64\bin> ./gst-launch-1.0 mpegtsmux name=mux ! udpsink host=192.168.144.255 port=5600 sync=no `
>> videotestsrc is-live=true pattern=ball ! "video/x-raw, width=1920, height=1080, profile=main" ! x264enc ! mux.sink_300 `
>> videotestsrc is-live=true ! "video/x-raw, width=720, height=576" ! x264enc ! mux.sink_301
Use Windows high-resolution clock, precision: 1 ms
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
Redistribute latency...
Redistribute latency...
handling interrupt.9.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:03.773243400
Setting pipeline to NULL ...
Freeing pipeline ...
PS C:\gstreamer\1.0\msvc_x86_64\bin> ./gst-launch-1.0 mpegtsmux name=mux sink_300::stream-number=1 ! udpsink host=192.168.144.255 port=5600 sync=no `
>> videotestsrc is-live=true pattern=ball ! "video/x-raw, width=1920, height=1080, profile=main" ! x264enc ! mux.sink_300 `
>> videotestsrc is-live=true ! "video/x-raw, width=720, height=576" ! x264enc ! mux.sink_301
WARNING: erroneous pipeline: no property "sink_300::stream-number" in element "mpegtsmux"
PS C:\gstreamer\1.0\msvc_x86_64\bin> .\gst-launch-1.0.exe --version
gst-launch-1.0 version 1.24.8
GStreamer 1.24.8
Unknown package origin
PS C:\gstreamer\1.0\msvc_x86_64\bin> .\gst-launch-1.0.exe --version
gst-launch-1.0 version 1.24.9
GStreamer 1.24.9
Unknown package origin
PS C:\gstreamer\1.0\msvc_x86_64\bin> ./gst-launch-1.0 mpegtsmux name=mux sink_300::stream-number=1 ! udpsink host=192.168.144.255 port=5600 sync=no `
>> videotestsrc is-live=true pattern=ball ! "video/x-raw, width=1920, height=1080, profile=main" ! x264enc ! mux.sink_300 `
>> videotestsrc is-live=true ! "video/x-raw, width=720, height=576" ! x264enc ! mux.sink_301
WARNING: erroneous pipeline: no property "sink_300::stream-number" in element "mpegtsmux"



I even updated GStreamer, but still no luck. I tried that because I found news saying there were updates regarding that property :


397 ### MPEG-TS improvements
 398 
 399 - mpegtsdemux gained support for
 400 - segment seeking for seamless non-flushing looping, and
 401 - synchronous KLV
 402 - mpegtsmux now
 403 - allows attaching PCR to non-PES streams
 404 - allows setting of the PES stream number for AAC audio and AVC video streams via a new “stream-number” property on the
 405 muxer sink pads. Currently, the PES stream number is hard-coded to zero for these stream types.



The syntax seems correct (pad_name::pad_prop_name on the element). I ran out of ideas about what I'm doing wrong with that property.


Broader context :


I want to set that property because I want an exact sequence of streams I mixing.


When I feed
mpegtsmux
with two video streams and one audio stream (from capture devices) without specifying the stream numbers I get them muxed in a random sequence (checking it usingffprobe
). Sometimes they are in the desired sequence, but sometimes they aren't. The worst case is when the audio stream is the first stream in the file, so video players get mad when trying to play such.ts
file. I have to remux such files using-map
key offfmpeg
. If I could set exact stream indices inmpegtsmux
(not to be confused with stream PID) I could avoid analyzing actual stream layout and remuxing.

Example of the real layout of the streams (
ffprobe
output) :

Input #0, mpegts, from '████████████████████████████████████████':
 Duration: 00:20:09.64, start: 3870.816656, bitrate: 6390 kb/s
 Program 1
 Stream #0:2[0x41]: Video: h264 (Baseline) (HDMV / 0x564D4448), yuvj420p(pc, bt709, progressive), 1920x1080, 30 fps, 30 tbr, 90k tbn
 Stream #0:1[0x4b]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, mono, fltp, 130 kb/s
 Program 2
 Stream #0:0[0x42]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(progressive), 720x576, 25 fps, 25 tbr, 90k tbn



You can see 3 streams :


- 

- FullHD video with PID 0x41 (defined by me as
mpegtsmux0.sink_65
) has index 2 while I want it to be 0 - PAL video with PID 0x42 (defined by me as
mpegtsmux0.sink_66
) has index 0 while I want it to be 1 - Audio with PID 0x4b (defined by me as
mpegtsmux0.sink_75
) has index 1 while I want it to be 2








- FullHD video with PID 0x41 (defined by me as
-
Unable to set "stream-number" pad property of mpegtsmux
8 novembre 2024, par TishSergAccroding to
gst-inspect-1.0 mpegtsmux
, mpegtsmux's sink pads have writablestream-number
property :

...
Pad Templates:
 SINK template: 'sink_%d'
 Availability: On request
 Capabilities:
 ...
 Type: GstBaseTsMuxPad
 Pad Properties:
 ...

 stream-number : stream number
 flags: readable, writable
 Integer. Range: 0 - 31 Default: 0



But when I try to set it, GStreamer says there's no such property. The following listing shows I can run multi-stream pipeline without setting that property, but when I add that property it doesn't work.


PS C:\gstreamer\1.0\msvc_x86_64\bin> ./gst-launch-1.0 mpegtsmux name=mux ! udpsink host=192.168.144.255 port=5600 sync=no `
>> videotestsrc is-live=true pattern=ball ! "video/x-raw, width=1920, height=1080, profile=main" ! x264enc ! mux.sink_300 `
>> videotestsrc is-live=true ! "video/x-raw, width=720, height=576" ! x264enc ! mux.sink_301
Use Windows high-resolution clock, precision: 1 ms
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
Redistribute latency...
Redistribute latency...
handling interrupt.9.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:03.773243400
Setting pipeline to NULL ...
Freeing pipeline ...
PS C:\gstreamer\1.0\msvc_x86_64\bin> ./gst-launch-1.0 mpegtsmux name=mux sink_300::stream-number=1 ! udpsink host=192.168.144.255 port=5600 sync=no `
>> videotestsrc is-live=true pattern=ball ! "video/x-raw, width=1920, height=1080, profile=main" ! x264enc ! mux.sink_300 `
>> videotestsrc is-live=true ! "video/x-raw, width=720, height=576" ! x264enc ! mux.sink_301
WARNING: erroneous pipeline: no property "sink_300::stream-number" in element "mpegtsmux"
PS C:\gstreamer\1.0\msvc_x86_64\bin> .\gst-launch-1.0.exe --version
gst-launch-1.0 version 1.24.8
GStreamer 1.24.8
Unknown package origin
PS C:\gstreamer\1.0\msvc_x86_64\bin> .\gst-launch-1.0.exe --version
gst-launch-1.0 version 1.24.9
GStreamer 1.24.9
Unknown package origin
PS C:\gstreamer\1.0\msvc_x86_64\bin> ./gst-launch-1.0 mpegtsmux name=mux sink_300::stream-number=1 ! udpsink host=192.168.144.255 port=5600 sync=no `
>> videotestsrc is-live=true pattern=ball ! "video/x-raw, width=1920, height=1080, profile=main" ! x264enc ! mux.sink_300 `
>> videotestsrc is-live=true ! "video/x-raw, width=720, height=576" ! x264enc ! mux.sink_301
WARNING: erroneous pipeline: no property "sink_300::stream-number" in element "mpegtsmux"



I even updated GStreamer, but still no luck. I tried that because I found news saying there were updates regarding that property :


397 ### MPEG-TS improvements
 398 
 399 - mpegtsdemux gained support for
 400 - segment seeking for seamless non-flushing looping, and
 401 - synchronous KLV
 402 - mpegtsmux now
 403 - allows attaching PCR to non-PES streams
 404 - allows setting of the PES stream number for AAC audio and AVC video streams via a new “stream-number” property on the
 405 muxer sink pads. Currently, the PES stream number is hard-coded to zero for these stream types.



The syntax seems correct (pad_name::pad_prop_name on the element). I ran out of ideas about what I'm doing wrong with that property.


Broader context :


I want to set that property because I want an exact sequence of streams I mixing.


When I feed
mpegtsmux
with two video streams and one audio stream (from capture devices) without specifying the stream numbers I get them muxed in a random sequence (checking it usingffprobe
). Sometimes they are in the desired sequence, but sometimes they aren't. The worst case is when the audio stream is the first stream in the file, so video players get mad when trying to play such.ts
file. I have to remux such files using-map
key offfmpeg
. If I could set exact stream indices inmpegtsmux
(not to be confused with stream PID) I could avoid analyzing actual stream layout and remuxing.

Example of the real layout of the streams (
ffprobe
output) :

Input #0, mpegts, from '████████████████████████████████████████':
 Duration: 00:20:09.64, start: 3870.816656, bitrate: 6390 kb/s
 Program 1
 Stream #0:2[0x41]: Video: h264 (Baseline) (HDMV / 0x564D4448), yuvj420p(pc, bt709, progressive), 1920x1080, 30 fps, 30 tbr, 90k tbn
 Stream #0:1[0x4b]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, mono, fltp, 130 kb/s
 Program 2
 Stream #0:0[0x42]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(progressive), 720x576, 25 fps, 25 tbr, 90k tbn



You can see 3 streams :


- 

- FullHD video with PID 0x41 (defined by me as
mpegtsmux0.sink_65
) has index 2 while I want it to be 0 - PAL video with PID 0x42 (defined by me as
mpegtsmux0.sink_66
) has index 0 while I want it to be 1 - Audio with PID 0x4b (defined by me as
mpegtsmux0.sink_75
) has index 1 while I want it to be 2








- FullHD video with PID 0x41 (defined by me as