
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (97)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
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 (8824)
-
How to write unit tests for your plugin – Introducing the Piwik Platform
17 novembre 2014, par Thomas Steur — DevelopmentThis is the next post of our blog series where we introduce the capabilities of the Piwik platform (our previous post was How to verify user permissions). This time you’ll learn how to write unit tests in Piwik. For this tutorial you will need to have basic knowledge of PHP, PHPUnit and the Piwik platform.
When is a test a unit test ?
There are many different opinions on this and it can be sometimes hard to decide. At Piwik we consider a test as a unit test if only a single method or class is being tested and if a test does not have a dependency to the filesystem, web, config, database or to any other plugin.
If a test is slow it can be an indicator that it is not a unit test. “Slow” is of course a bit vague. We will cover how to write other type of tests, such as integration tests, in one of our next blog posts.
Getting started
In this post, we assume that you have already installed Piwik 2.9.0 or later via git, set up your development environment and created a plugin. If not, visit the Piwik Developer Zone where you’ll find the tutorial Setting up Piwik and other Guides that help you to develop a plugin.
Let’s create a unit test
We start by using the Piwik Console to create a new unit test :
./console generate:test --testtype unit
The command will ask you to enter the name of the plugin the created test should belong to. I will use the plugin name “Insights”. Next it will ask you for the name of the test. Here you usually enter the name of the class you want to test. I will use “Widgets” in this example. There should now be a file
plugins/Insights/tests/Unit/WidgetsTest.php
which contains already an example to get you started easily :- /**
- * @group Insights
- * @group WidgetsTest
- * @group Plugins
- */
- class WidgetsTest extends \PHPUnit_Framework_TestCase
- {
- public function testSimpleAddition()
- {
- $this->assertEquals(2, 1+1);
- }
- }
We don’t want to cover how you should write your unit test. This is totally up to you. If you have no experience in writing unit tests yet, we recommend to read articles on the topic, or a book, or to watch videos or anything else that will help you learn best.
Running a test
To run a test we will use the command
tests:run
which allows you to execute a test suite, a specific file or a group of tests.To verify whether the created test works we will run it as follows :
./console tests:run WidgetsTest
This will run all tests having the group
WidgetsTest
. As other tests can use the same group you might want to pass the path to your test file instead :./console tests:run plugins/Insights/tests/Unit/Widgets.php
If you want to run all tests within your plugin pass the name of your plugin as an argument :
./console tests:run insights
Of course you can also define multiple arguments :
./console tests:run insights WidgetsTest
This will execute all tests within the insights plugin having the group WidgetsTest. If you only want to run unit tests within your plugin you can do the following :
./console tests:run insights unit
Advanced features
Isn’t it easy to create a unit test ? We never even created a file ! You can accomplish even more if you want : You can generate other type of tests, you can run tests on Amazon’s AWS and more. Unfortunately, not everything is documented yet so we recommend to discover more features by executing the commands
./console list tests
and./console help tests:run
.If you have any feedback regarding our APIs or our guides in the Developer Zone feel free to send it to us.
-
Piwik awarded Gold Prize at Open Source Software World Challenge
22 décembre 2014, par Matthieu Aubry — AboutWe are excited to announce that Piwik has been awarded the Gold Prize in the Open Source Software World Challenge 2014 !
Winning this award is a testament to the positive impacts of the Piwik platform worldwide. Every day dozens of new people are embracing Piwik to power their web and mobile analytics which gives them full control over their data.
Every member of the Piwik community, from core developer to beginning user, should be proud to be part of this momentum : congratulations to us all !
The Open Source World Challenge is the annual competition hosted by the Ministry of Science, ICT and Future Planning of Korea. This competition is mainly intended to promote open source software and expand various exchanges among open source software developers worldwide.
-
Streaming RTP packets using SDP to ffmpeg
4 avril 2017, par Johnathan KanarekI have RTP packets in node.js server and I want to forward them to ffmpeg.
I generate SDP files in the node.js server side and execute ffmpeg with the SDP as input.SDP :
v=0
o=mediasoup 21881725401d4e8d56cbd79694c7e2b6e6cacb4a 0 IN IP4 192.168.193.182
s=21881725401d4e8d56cbd79694c7e2b6e6cacb4a
c=IN IP4 192.168.193.182
t=0 0
a=group:LS video audio
m=video 33404 RTP/SAVPF 107
a=rtpmap:107 H264/90000
a=fmtp:107 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=control:track0
a=rtcp-fb:107 ccm fir
a=rtcp-fb:107 nack
a=rtcp-fb:107 nack pli
a=rtcp-fb:107 goog-remb
a=rtcp-fb:107 transport-cc
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 urn:3gpp:video-orientation
a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=mid:video
a=sendrecv
m=audio 33402 RTP/SAVPF 111
a=rtpmap:111 opus/48000
a=fmtp:111 minptime=10;useinbandfec=1
a=control:track1
a=rtcp-fb:111 transport-cc
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=mid:audio
a=sendrecvCommand :
ffmpeg -max_delay 5000 -reorder_queue_size 16384 -protocol_whitelist file,crypto,udp,rtp -re -i input.sdp -vcodec copy -acodec aac -y output.mp4
Same with RTMP
ffmpeg -max_delay 5000 -reorder_queue_size 16384 -protocol_whitelist file,crypto,udp,rtp -re -i input.sdp -vcodec copy -acodec aac -f flv rtmp://127.0.0.1:1935/live/myStream
I get weird video that plays some vidoe, then get stuck, then plays some audio, back to video and so on, it never plays both video and audio together.
BTW, when I created separate SDP files for the video and the audio and stream them as two inputs into the same output, I get valid stream but the audio is not in sync (about a second offset).
ffmpeg -max_delay 5000 -reorder_queue_size 16384 -protocol_whitelist file,crypto,udp,rtp -re -i video.0.sdp -max_delay 5000 -reorder_queue_size 16384 -protocol_whitelist file,crypto,udp,rtp -re -i audio.1.sdp -vcodec copy -acodec aac -shortest -y output.mp4
What is wrong with my SDP ?
I tried changing analyzeduration, probesize, rtbufsize, vsync, framerate,
I even tried to remap the streams using -map 0:v -map 0:a,
nothing helpedI also tried to use RTSP server, see log :
ffmpeg version 3.2 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-11)
configuration: --prefix=/opt/kaltura/ffmpeg-3.2 --libdir=/opt/kaltura/ffmpeg-3.2/lib --shlibdir=/opt/kaltura/ffmpeg-3.2/lib --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC -I/opt/kaltura/include' --extra-ldflags=-L/opt/kaltura/lib --disable-devices --enable-bzlib --enable-libgsm --enable-libmp3lame --enable-libschroedinger --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-avisynth --enable-libxvid --enable-filter=movie --enable-avfilter --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libvpx --enable-libspeex --enable-libass --enable-postproc --enable-pthreads --enable-static --enable-shared --enable-gpl --disable-debug --disable-optimizations --enable-gpl --enable-pthreads --enable-swscale --enable-vdpau --enable-bzlib --disable-devices --enable-filter=movie --enable-version3 --enable-indev=lavfi --enable-x11grab
libavutil 55. 34.100 / 55. 34.100
libavcodec 57. 64.100 / 57. 64.100
libavformat 57. 56.100 / 57. 56.100
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-max_delay' ... matched as AVOption 'max_delay' with argument '500000'.
Reading option '-reorder_queue_size' ... matched as AVOption 'reorder_queue_size' with argument '16384'.
Reading option '-analyzeduration' ... matched as AVOption 'analyzeduration' with argument '2147483647'.
Reading option '-probesize' ... matched as AVOption 'probesize' with argument '2147483647'.
Reading option '-protocol_whitelist' ... matched as AVOption 'protocol_whitelist' with argument 'file,crypto,tcp,udp,rtp'.
Reading option '-re' ... matched as option 're' (read input at native frame rate) with argument '1'.
Reading option '-i' ... matched as input file with argument 'rtsp://192.168.193.182:5000/IcL8tHJdU9oWEK3rAAAA.sdp'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'h264'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'aac'.
Reading option '-max_interleave_delta' ... matched as AVOption 'max_interleave_delta' with argument '30000000'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '/opt/mediasoup_sample/recordings/IcL8tHJdU9oWEK3rAAAA.mp4' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input file rtsp://192.168.193.182:5000/IcL8tHJdU9oWEK3rAAAA.sdp.
Applying option re (read input at native frame rate) with argument 1.
Successfully parsed a group of options.
Opening an input file: rtsp://192.168.193.182:5000/IcL8tHJdU9oWEK3rAAAA.sdp.
[rtsp @ 0x19b4fa0] SDP:
v=0
o=mediasoup IcL8tHJdU9oWEK3rAAAA 0 IN IP4 192.168.193.182
s=IcL8tHJdU9oWEK3rAAAA
c=IN IP4 192.168.193.182
t=0 0
a=group:LS audio video
m=audio 0 RTP/SAVPF 111
a=rtpmap:111 opus/48000
a=fmtp:111 minptime=10;useinbandfec=1
a=control:streamid=0
a=rtcp-fb:111 transport-cc
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=mid:audio
a=sendrecv
a=rtcp-mux
m=video 0 RTP/SAVPF 107
a=rtpmap:107 H264/90000
a=fmtp:107 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=control:streamid=1
a=rtcp-fb:107 ccm fir
a=rtcp-fb:107 nack
a=rtcp-fb:107 nack pli
a=rtcp-fb:107 goog-remb
a=rtcp-fb:107 transport-cc
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 urn:3gpp:video-orientation
a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=mid:video
a=sendrecv
a=rtcp-mux
[rtsp @ 0x19b4fa0] audio codec set to: opus
[rtsp @ 0x19b4fa0] audio samplerate set to: 48000
[rtsp @ 0x19b4fa0] audio channels set to: 1
[rtsp @ 0x19b4fa0] video codec set to: h264
[rtsp @ 0x19b4fa0] RTP Packetization Mode: 1
[rtsp @ 0x19b4fa0] RTP Profile IDC: 42 Profile IOP: e0 Level: 1f
[udp @ 0x19b5d60] end receive buffer size reported is 131072
[udp @ 0x19ba020] end receive buffer size reported is 131072
[rtsp @ 0x19b4fa0] setting jitter buffer size to 16384
[udp @ 0x19b7a00] end receive buffer size reported is 131072
[udp @ 0x19daca0] end receive buffer size reported is 131072
[rtsp @ 0x19b4fa0] setting jitter buffer size to 16384
[rtsp @ 0x19b4fa0] hello state=0
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] nal_unit_type: 5, nal_ref_idc: 3
Last message repeated 3 times
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] no frame!
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x19b9ac0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] no frame!
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x19b9ac0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
... a lot of the same ...
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] non-existing PPS 0 referenced
[h264 @ 0x19b9ac0] decode_slice_header error
[h264 @ 0x19b9ac0] no frame!
[h264 @ 0x19b9ac0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x19b9ac0] nal_unit_type: 7, nal_ref_idc: 3
[h264 @ 0x19b9ac0] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x19b9ac0] nal_unit_type: 5, nal_ref_idc: 3
Last message repeated 3 times
[h264 @ 0x19b9ac0] Reinit context to 640x480, pix_fmt: yuv420p
[h264 @ 0x19b9ac0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x19b9ac0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
[h264 @ 0x19b9ac0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x19b9ac0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
[h264 @ 0x19b9ac0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x19b9ac0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
[h264 @ 0x19b9ac0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x19b9ac0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
[h264 @ 0x19b9ac0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x19b9ac0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
[h264 @ 0x19b9ac0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x19b9ac0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
[rtsp @ 0x19b4fa0] All info found
Input #0, rtsp, from 'rtsp://192.168.193.182:5000/IcL8tHJdU9oWEK3rAAAA.sdp':
Metadata:
title : IcL8tHJdU9oWEK3rAAAA
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0, 146, 1/48000: Audio: opus, 48000 Hz, mono, fltp
Stream #0:1, 88, 1/90000: Video: h264 (Constrained Baseline), 1 reference frame, yuv420p(progressive, left), 640x480, 0/1, 30 fps, 30 tbr, 90k tbn, 60 tbc
Successfully opened the file.
Parsing a group of options: output file /opt/mediasoup_sample/recordings/IcL8tHJdU9oWEK3rAAAA.mp4.
Applying option vcodec (force video codec ('copy' to copy stream)) with argument h264.
Applying option acodec (force audio codec ('copy' to copy stream)) with argument aac.
Successfully parsed a group of options.
Opening an output file: /opt/mediasoup_sample/recordings/IcL8tHJdU9oWEK3rAAAA.mp4.
Matched encoder 'libx264' for codec 'h264'.
[file @ 0x1b7bb80] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 1 logical cores
[graph 0 input from stream 0:1 @ 0x1b788c0] Setting 'video_size' to value '640x480'
[graph 0 input from stream 0:1 @ 0x1b788c0] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:1 @ 0x1b788c0] Setting 'time_base' to value '1/90000'
[graph 0 input from stream 0:1 @ 0x1b788c0] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:1 @ 0x1b788c0] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:1 @ 0x1b788c0] Setting 'frame_rate' to value '30/1'
[graph 0 input from stream 0:1 @ 0x1b788c0] w:640 h:480 pixfmt:yuv420p tb:1/90000 fr:30/1 sar:0/1 sws_param:flags=2
[format @ 0x1a78e00] compat: called with args=[yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16]
[format @ 0x1a78e00] Setting 'pix_fmts' to value 'yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16'
[AVFilterGraph @ 0x19ba180] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed
[graph 1 input from stream 0:0 @ 0x1b89ae0] Setting 'time_base' to value '1/48000'
[graph 1 input from stream 0:0 @ 0x1b89ae0] Setting 'sample_rate' to value '48000'
[graph 1 input from stream 0:0 @ 0x1b89ae0] Setting 'sample_fmt' to value 'fltp'
[graph 1 input from stream 0:0 @ 0x1b89ae0] Setting 'channel_layout' to value '0x4'
[graph 1 input from stream 0:0 @ 0x1b89ae0] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x4
[audio format for output stream 0:1 @ 0x1a7aa00] Setting 'sample_fmts' to value 'fltp'
[audio format for output stream 0:1 @ 0x1a7aa00] Setting 'sample_rates' to value '96000|88200|64000|48000|44100|32000|24000|22050|16000|12000|11025|8000|7350'
[AVFilterGraph @ 0x1a7a6e0] query_formats: 4 queried, 9 merged, 0 already done, 0 delayed
[h264 @ 0x1b779a0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x1b779a0] nal_unit_type: 7, nal_ref_idc: 3
[h264 @ 0x1b779a0] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x1b779a0] Ignoring NAL type 9 in extradata
[libx264 @ 0x1a6b5e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x1a6b5e0] profile High, level 3.0
[libx264 @ 0x1a6b5e0] 264 - core 140 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/opt/mediasoup_sample/recordings/IcL8tHJdU9oWEK3rAAAA.mp4':
Metadata:
title : IcL8tHJdU9oWEK3rAAAA
encoder : Lavf57.56.100
Stream #0:0, 0, 1/15360: Video: h264 (libx264), 1 reference frame ([33][0][0][0] / 0x0021), yuv420p(left), 640x480, 0/1, q=-1--1, 30 fps, 15360 tbn, 30 tbc
Metadata:
encoder : Lavc57.64.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1, 0, 1/48000: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, mono, fltp, delay 1024, 69 kb/s
Metadata:
encoder : Lavc57.64.100 aac
Stream mapping:
Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:0 -> #0:1 (opus (native) -> aac (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
Last message repeated 1 times
[SWR @ 0x1af80a0] Using fltp internally between filters
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
Last message repeated 48 times
[h264 @ 0x1b779a0] nal_unit_type: 5, nal_ref_idc: 3
Last message repeated 3 times
[h264 @ 0x1b779a0] Reinit context to 640x480, pix_fmt: yuv420p
*** 67 dup!
[libx264 @ 0x1a6b5e0] frame= 0 QP=16.76 NAL=3 Slice:I Poc:0 I:1200 P:0 SKIP:0 size=29147 bytes
[libx264 @ 0x1a6b5e0] frame= 1 QP=15.49 NAL=2 Slice:P Poc:8 I:1 P:198 SKIP:1001 size=588 bytes
... a lot of the same ...
[libx264 @ 0x1a6b5e0] frame= 25 QP=16.64 NAL=2 Slice:P Poc:56 I:0 P:15 SKIP:1185 size=72 bytes
[libx264 @ 0x1a6b5e0] frame= 26 QP=27.00 NAL=2 Slice:B Poc:52 I:0 P:18 SKIP:1182 size=44 bytes
frame= 68 fps= 38 q=29.0 size= 32kB time=00:00:00.80 bitrate= 332.6kbits/s dup=67 drop=0 speed=0.453x
[h264 @ 0x1b779a0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x1b779a0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
[h264 @ 0x1b779a0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x1b779a0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
... a lot of the same ...
*** dropping frame 68 from stream 0 at ts 64
[h264 @ 0x1b779a0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x1b779a0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
*** dropping frame 68 from stream 0 at ts 65
[libx264 @ 0x1a6b5e0] frame= 27 QP=29.00 NAL=0 Slice:B Poc:50 I:0 P:1 SKIP:1199 size=19 bytes
[h264 @ 0x1b779a0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x1b779a0] nal_unit_type: 1, nal_ref_idc: 3
Last message repeated 3 times
... a lot of the same ...
[libx264 @ 0x1a6b5e0] frame= 362 QP=24.00 NAL=2 Slice:B Poc:208 I:0 P:6 SKIP:1194 size=30 bytes
[libx264 @ 0x1a6b5e0] frame= 363 QP=26.00 NAL=0 Slice:B Poc:206 I:0 P:0 SKIP:1200 size=19 bytes
[h264 @ 0x1b779a0] nal_unit_type: 1, nal_ref_idc: 3
[h264 @ 0x1b779a0] concealing 880 DC, 880 AC, 880 MV errors in P frame
*** 1 dup!
[libx264 @ 0x1a6b5e0] frame= 364 QP=26.00 NAL=0 Slice:B Poc:210 I:0 P:0 SKIP:1200 size=19 bytes
[libx264 @ 0x1a6b5e0] frame= 365 QP=16.71 NAL=2 Slice:P Poc:220 I:0 P:8 SKIP:1192 size=51 bytes
frame= 407 fps= 16 q=29.0 size= 306kB time=00:00:17.48 bitrate= 143.2kbits/s dup=329 drop=65 speed=0.675x
[rtsp @ 0x19b4fa0] max delay reached. need to consume packet
[rtsp @ 0x19b4fa0] RTP: missed 2 packets
[h264 @ 0x1b779a0] nal_unit_type: 9, nal_ref_idc: 0
[h264 @ 0x1b779a0] nal_unit_type: 1, nal_ref_idc: 3
[h264 @ 0x1b779a0] concealing 920 DC, 920 AC, 920 MV errors in P frame
*** 1 dup!
... a lot of the same ...
[libx264 @ 0x1a6b5e0] frame= 420 QP=25.50 NAL=0 Slice:B Poc:322 I:0 P:280 SKIP:920 size=282 bytes
[libx264 @ 0x1a6b5e0] frame= 421 QP=24.51 NAL=2 Slice:P Poc:326 I:0 P:43 SKIP:1157 size=112 bytes
[aac @ 0x1a79de0] Trying to remove 320 more samples than there are in the queue
frame= 422 fps=8.7 q=29.0 Lsize= 379kB time=00:00:17.54 bitrate= 176.7kbits/s dup=338 drop=65 speed=0.36x
video:240kB audio:123kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.257356%
Input file #0 (rtsp://192.168.193.182:5000/IcL8tHJdU9oWEK3rAAAA.sdp):
Input stream #0:0 (audio): 725 packets read (54182 bytes); 725 frames decoded (696000 samples);
Input stream #0:1 (video): 150 packets read (203332 bytes); 150 frames decoded;
Total: 875 packets (257514 bytes) demuxed
Output file #0 (/opt/mediasoup_sample/recordings/IcL8tHJdU9oWEK3rAAAA.mp4):
Output stream #0:0 (video): 422 frames encoded; 422 packets muxed (245681 bytes);
Output stream #0:1 (audio): 680 frames encoded (696000 samples); 681 packets muxed (126146 bytes);
Total: 1103 packets (371827 bytes) muxed
875 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0x1a6c4e0] Statistics: 60 seeks, 1148 writeouts
[libx264 @ 0x1a6b5e0] frame I:3 Avg QP:17.89 size: 17026
[libx264 @ 0x1a6b5e0] frame P:120 Avg QP:18.27 size: 1244
[libx264 @ 0x1a6b5e0] frame B:299 Avg QP:24.50 size: 149
[libx264 @ 0x1a6b5e0] consecutive B-frames: 4.7% 1.9% 1.4% 91.9%
[libx264 @ 0x1a6b5e0] mb I I16..4: 19.9% 48.9% 31.1%
[libx264 @ 0x1a6b5e0] mb P I16..4: 2.1% 5.2% 0.8% P16..4: 10.3% 1.2% 0.6% 0.0% 0.0% skip:79.7%
[libx264 @ 0x1a6b5e0] mb B I16..4: 0.1% 0.1% 0.0% B16..8: 5.4% 0.2% 0.0% direct: 0.8% skip:93.5% L0:56.3% L1:43.1% BI: 0.5%
[libx264 @ 0x1a6b5e0] 8x8 transform intra:60.5% inter:62.3%
[libx264 @ 0x1a6b5e0] coded y,uvDC,uvAC intra: 40.2% 49.9% 19.0% inter: 0.7% 3.2% 0.1%
[libx264 @ 0x1a6b5e0] i16 v,h,dc,p: 26% 30% 9% 36%
[libx264 @ 0x1a6b5e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 44% 27% 13% 3% 2% 2% 3% 3% 3%
[libx264 @ 0x1a6b5e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 38% 28% 11% 3% 5% 4% 5% 4% 3%
[libx264 @ 0x1a6b5e0] i8c dc,h,v,p: 38% 28% 23% 12%
[libx264 @ 0x1a6b5e0] Weighted P-Frames: Y:2.5% UV:2.5%
[libx264 @ 0x1a6b5e0] ref P L0: 82.7% 3.3% 10.6% 3.3% 0.0%
[libx264 @ 0x1a6b5e0] ref B L0: 86.6% 12.6% 0.7%
[libx264 @ 0x1a6b5e0] ref B L1: 96.5% 3.5%
[libx264 @ 0x1a6b5e0] kb/s:139.34
[aac @ 0x1a79de0] Qavg: 212.691Thanks,
Johnathan Kanarek