
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (104)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (12641)
-
Understanding ffmpeg input stream information
9 juillet 2017, par David ParksWhen running
ffmpeg
I get the following input/output/stream statements. I need to understand the details here.$ ffmpeg -y -nostdin -f v4l2 -framerate 30 -video_size 1920x1080 -c:v mjpeg -i /dev/video1 -c:v copy /tmp/v1.mov
Input #0, video4linux2,v4l2, from '/dev/video1':
Duration: N/A, start: 762195.237801, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1920x1080, -5 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Output #0, mov, to '/tmp/v1.mov':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: mjpeg (jpeg / 0x6765706A), yuvj422p, 1920x1080, q=2-31, -5 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (copy)
frame= 1685 fps= 30 q=-1.0 Lsize= 212483kB time=00:00:56.08 bitrate=31036.6kbits/sI want to connect 2 USB cameras over a USB 3.0 hub. My cameras are USB 2.0 cameras. Running 2 cameras at low resolution or framerate works, but at high resolution/framerate, I run out of USB bandwidth.
Does
Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown)
means that
ffmpeg is receiving both the compresses mjpeg stream and and
uncompressed yuv stream ? If this is the case it explains the bandwidth
issue. I ask because I can see that the compressed bitrate is only 31 Mbit in the Stream mapping section.My question would then become, can I force the camera to only
stream the compressed mjpeg stream ?p.s. I know I can plug the cameras into separate USB ports, but I only have 3 ports and need to record 6 cameras, so I need at least 2 cameras per USB (3.0) hub.
-
ffmpeg hls video recording timing information is inaccurate
28 juin 2018, par HarisI am recording the rtsp stream in HLS format which is working fine with below command.
~/bin/ffmpeg -i rtsp://10.0.7.39:554/media/live/1/1 -c:a aac -c:v copy -hls_list_size 65535 -hls_time 2 live.m3u8
But when I check the duration of each
ts
file withlive.m3u8
file content the value is not accurate.Here is the live.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:2.000000,
live0.ts
#EXTINF:2.000000,
live1.ts
#EXTINF:1.200000,
live2.ts
#EXTINF:2.500000,
live3.ts
#EXTINF:2.000000,
live4.ts
#EXTINF:2.600000,
live5.ts
#EXTINF:1.700000,
live6.ts
#EXT-X-ENDLISTAnd when I check the timing information of the ts file
live2.ts
using the command,~/bin/ffprobe -i live2.ts -show_entries format=duration -v quiet -of csv="p=0"
I am getting the value
2.136000
where as in m3u8 file it is1.20000
.I have build the latest FFMPEG based on official guild https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu.
OS : Ubuntu 12.04
ffmpeg Version
$~/bin//ffmpeg -version
ffmpeg version N-91369-g4ac88ba Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.1-2ubuntu1~12.04)
configuration: --prefix=/home/haris/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/haris/ffmpeg_build/include --extra-ldflags=-L/home/haris/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/haris/bin --enable-gpl --enable-libaom --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
libavutil 56. 18.102 / 56. 18.102
libavcodec 58. 20.104 / 58. 20.104
libavformat 58. 17.101 / 58. 17.101
libavdevice 58. 4.101 / 58. 4.101
libavfilter 7. 25.100 / 7. 25.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100Note
If I tested the same command in Ubuntu 16.04 where ffmpeg installed with
apt-get
every thing works fine.Here is the ffmpeg details
$ ~/bin/ffmpeg -version
ffmpeg version 2.8.14-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100What could be the cause, any help will be appreciated.
-
Use FFMPEG as a demuxer-muxer when knowing all needed information about input stream
7 février 2023, par Javierd98I'm working on a project where I need to use FFMEPG only as a demuxer-muxer in order to receive a MPEG source with an audio and video streams and output the different streams separately. I also need it to introduce the smallest possible delay.
In order to do this, I have all the needed information about the input : used container, audio and video codecs, audio and video rate and audio channels, so I would like to provide FFMPEG with that information and avoid the proving phase. However, I can't get FFMPEG to work without specifying a big probesize, which introduces latency, and, depending on the input, causes FFMPEG to fail due to not being able to get the needed info (which I have beforehand).


I've been researching the different options that FFMPEG provides, and I've found the following ones which could help me :


- 

-codec:a
and-codec:v
to provide the information about the input's audio and video codecs.-f
to provide the information about the used container.-r:v
to provide the information about the video framerate. (I've also tried with-framerate
, but it seems that is only supported by a few demuxers, and mpeg is not one of them).-probesize
to avoid spending time probing the input, as I can provide the inpromation.-copy_unknown
to simply copy the streams instead of failing if it can't be recognized.












With all this, I'm using the following command :

./ffmpeg -hide_banner -loglevel debug -codec:v h264 -codec:a pcm_alaw -flags low_delay -probesize 32 -analyzeduration 0 -r:v 15 -f mpeg -i udp://127.0.0.1:41071?listen -y -map 0:a:0? -acodec copy -copy_unknown -ar 8000 -payload_type 8 -f rtp udp://127.0.0.1:33605?pkt_size=1200 -map 0:v:0? -vcodec copy -copy_unknown -payload_type 96 -f rtp udp://127.0.0.1:48527?pkt_size=1200


Splitting the commandline.
Reading option '-hide_banner' ... matched as option 'hide_banner' (do not show program banner) with argument '1'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-codec:v' ... matched as option 'codec' (codec name) with argument 'h264'.
Reading option '-codec:a' ... matched as option 'codec' (codec name) with argument 'pcm_alaw'.
Reading option '-flags' ... matched as AVOption 'flags' with argument 'low_delay'.
Reading option '-probesize' ... matched as AVOption 'probesize' with argument '32'.
Reading option '-analyzeduration' ... matched as AVOption 'analyzeduration' with argument '0'.
Reading option '-r:v' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '15'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'mpeg'.
Reading option '-i' ... matched as input url with argument 'udp://127.0.0.1:41071?listen'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:a:0?'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-copy_unknown' ... matched as option 'copy_unknown' (Copy unknown stream types) with argument '1'.
Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '8000'.
Reading option '-payload_type' ... matched as AVOption 'payload_type' with argument '8'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'rtp'.
Reading option 'udp://127.0.0.1:33605?pkt_size=1200' ... matched as output url.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:v:0?'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-copy_unknown' ... matched as option 'copy_unknown' (Copy unknown stream types) with argument '1'.
Reading option '-payload_type' ... matched as AVOption 'payload_type' with argument '96'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'rtp'.
Reading option 'udp://127.0.0.1:48527?pkt_size=1200' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option hide_banner (do not show program banner) with argument 1.
Applying option loglevel (set logging level) with argument debug.
Applying option y (overwrite output files) with argument 1.
Applying option copy_unknown (Copy unknown stream types) with argument 1.
 Last message repeated 1 times
Successfully parsed a group of options.
Parsing a group of options: input url udp://127.0.0.1:41071?listen.
Applying option codec:v (codec name) with argument h264.
Applying option codec:a (codec name) with argument pcm_alaw.
Applying option r:v (set frame rate (Hz value, fraction or abbreviation)) with argument 15.
Applying option f (force format) with argument mpeg.
Successfully parsed a group of options.
Opening an input file: udp://127.0.0.1:41071?listen.
[mpeg @ 0x55a769cc3d40] Opening 'udp://127.0.0.1:41071?listen' for reading
[udp @ 0x55a769cc4b00] No default whitelist set
[udp @ 0x55a769cc4b00] end receive buffer size reported is 425984
[mpeg @ 0x55a769cc3d40] Before avformat_find_stream_info() pos: 6 bytes read:40 seeks:0 nb_streams:0
[mpeg @ 0x55a769cc3d40] probing stream 1 pp:2500
[mpeg @ 0x55a769cc3d40] probed stream 1
[mpeg @ 0x55a769cc3d40] parser not found for codec pcm_alaw, packets or times may be invalid.
[mpeg @ 0x55a769cc3d40] Probe buffer size limit of 32 bytes reached
[mpeg @ 0x55a769cc3d40] Stream #0: not enough frames to estimate rate; consider increasing probesize
[mpeg @ 0x55a769cc3d40] Could not find codec parameters for stream 0 (Video: h264, 1 reference frame, none): unspecified size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (32) options
[mpeg @ 0x55a769cc3d40] After avformat_find_stream_info() pos: 87804 bytes read:88476 seeks:0 frames:1
Input #0, mpeg, from 'udp://127.0.0.1:41071?listen':
 Duration: N/A, start: 50436.772978, bitrate: 64 kb/s
 Stream #0:0[0x1e0], 0, 1/90000: Video: h264, 1 reference frame, none, 90k tbr, 90k tbn
 Stream #0:1[0x1c0], 1, 1/90000: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s
Successfully opened the file.
Parsing a group of options: output url udp://127.0.0.1:33605?pkt_size=1200.
Applying option map (set input stream mapping) with argument 0:a:0?.
Applying option acodec (force audio codec ('copy' to copy stream)) with argument copy.
Applying option ar (set audio sampling rate (in Hz)) with argument 8000.
Applying option f (force format) with argument rtp.
Successfully parsed a group of options.
Opening an output file: udp://127.0.0.1:33605?pkt_size=1200.
[udp @ 0x55a769cf6500] No default whitelist set
Successfully opened the file.
Parsing a group of options: output url udp://127.0.0.1:48527?pkt_size=1200.
Applying option map (set input stream mapping) with argument 0:v:0?.
Applying option vcodec (force video codec ('copy' to copy stream)) with argument copy.
Applying option f (force format) with argument rtp.
Successfully parsed a group of options.
Opening an output file: udp://127.0.0.1:48527?pkt_size=1200.
[udp @ 0x55a769d08fc0] No default whitelist set
Successfully opened the file.
Output #0, rtp, to 'udp://127.0.0.1:33605?pkt_size=1200':
 Metadata:
 encoder : Lavf59.16.100
 Stream #0:0, 0, 1/8000: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s
[rtp @ 0x55a769d06f40] dimensions not set
Could not write header for output file #1 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 1:0 -- 
Stream mapping:
 Stream #0:1 -> #0:0 (copy)
 Stream #0:0 -> #1:0 (copy)
 Last message repeated 1 times
[AVIOContext @ 0x55a769d06d40] Statistics: 0 bytes written, 0 seeks, 0 writeouts
[AVIOContext @ 0x55a769d19800] Statistics: 0 bytes written, 0 seeks, 0 writeouts
[AVIOContext @ 0x55a769cd4fc0] Statistics: 88476 bytes read, 0 seeks



I'm using FFMPEG 5.0.2, which is a fairly updated version.


As you can see, the
-copy_unknown
option is having no effect, as FFMPEG still crashes when trying to recognize the input (I've also tried specifying it on the input, but the result is the same). From the logs, I think the main problem is that FFMPEG is not interpreting the framerate correctly, which prevents it from demuxing the video. I've been searching for another way to specify it, but couldn't find it.

Is this a bug ? Or maybe 'm missing something ? Does somebody know how could I achieve my goal ?