Recherche avancée

Médias (91)

Autres articles (85)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

Sur d’autres sites (7045)

  • Use Google Analytics and risk fines, after CJEU ruling on Privacy Shield

    27 août 2020, par Joselyn Khor — Privacy

    EU websites using Google Analytics and Facebook are being targeted by European privacy group noyb after the invalidation of the Privacy Shield. They filed a complaint against 101 websites for continuing to send data to the US. 

    “A quick analysis of the HTML source code of major EU webpages shows that many companies still use Google Analytics or Facebook Connect one month after a major judgment by the Court of Justice of the European Union (CJEU) - despite both companies clearly falling under US surveillance laws, such as FISA 702. Neither Facebook nor Google seem to have a legal basis for the data transfers.”

    noyb website
    CJEU invalidates the Google Privacy Shield

    The Privacy Shield previously allowed for EU data to be transferred to the US. However, this was invalidated by the Court of Justice of the European Union (CJEU) on July 16, 2020. The CJEU deemed it illegal for any websites to transfer the personal data of European citizens to the US. 

    They also made it clear in a press release that “data subjects can claim compensation for inadmissible data exports (marginal no. 143 of the judgment). This should in particular include non-material damage (“compensation for pain and suffering”) and must be of a deterrent amount under European law.” Which puts extra financial pressure on websites to take the new ruling seriously.

    Immediate action is required after Google Privacy Shield invalidation

    The Berlin Commissioner for Data Protection and Freedom of Information therefore calls on all those responsible under its supervision to observe the decision of the ECJ [CJEU]. Those responsible who transfer personal data to the USA - especially when using cloud services - are now required to immediately switch to service providers in the European Union or in a country with an adequate level of data protection.

    The Berlin Commissioner for Data Protection and Freedom of Information

    As the ruling is effective immediately, there’s a pressing need for websites using Google Analytics to act, or face getting fined.

    What does this mean for you ?

    If you’re using Google Analytics the safest bet is to stop using it immediately

    "Neither Google Analytics nor Facebook Connect are necessary for the operation of these websites and could therefore have been replaced or at least deactivated in the meantime."

    Max Schrems, Honorary Chairman of noyb 

    If you still need to use it, then you’ll need to inform your visitors via a clear consent screen. This banner needs to make clear their personal data will be sent to the US, and to educate them about any potential risk related to this. They will then need to explicitly agree to this. 

    Another downside of cookie consent screens is that you may also suffer a damaging loss of visitors. After implementing cookie consent best practices, the UK’s data regulator the Information Commissioner’s Office (ICO) found a 90% drop in traffic, “implying a ninety percent drop in opt-in rates.”

    With an acceptance rate for such consent screens being lower than 10% your analytics becomes guesswork rather than science. 

    Looking for a privacy-respecting alternative to Google Analytics ?

    Privacy compliant Matomo Analytics is one of the best Google Analytics alternatives availalble. 

    With Matomo you’re able to continue using analytics without facing the wrath of both the GDPR and the CJEU. Matomo On-Premise lets you choose where your data is stored, so you can ensure no data is processed in the US. 

    Matomo is privacy-friendly and can be tweaked to comply with all privacy laws. Including the GDPR, HIPAA, CCPA and PECR. The benefits of this include : not needing to use tracking or cookie consent screens (like with GA) ; and avoiding fines because no personal data is collected. You also get 100% accurate data and the ability to protect your user’s privacy.

    Matomo is the privacy-respecting Google Analytics alternative

    Is your EU business at risk of being fined for using Google Analytics ?

  • Setting up RTP on Nginx

    2 février 2021, par Swap

    I'm trying to use Janus Media Server to relay WebRTC streams to a particular RTP host/port, from where ffmpeg can pick it up as an input and convert it further to an rtmp stream, which can then be used to broadcast to various social media platforms (such as, YouTube, Twitch, Facebook, etc.)

    


    My inspiration for this has been the following blog - https://www.meetecho.com/blog/firefox-webrtc-youtube-kinda/

    


    Specifically, I'm trying to replicate the following architecture -

    


    architecture

    


    And Janus, as per their documentation, has a very neat API for doing it -

    


    {&#xA;    "request" : "rtp_forward",&#xA;    "room" : <unique numeric="numeric" of="of" the="the" room="room" publisher="publisher" is="is" in="in">,&#xA;    "publisher_id" : <unique numeric="numeric" of="of" the="the" publisher="publisher" to="to" relay="relay" externally="externally">,&#xA;    "host" : "<host address="address" to="to" forward="forward" the="the" rtp="rtp" and="and" packets="packets">",&#xA;    "host_family" : "",&#xA;    "audio_port" : <port to="to" forward="forward" the="the" audio="audio" rtp="rtp" packets="packets">,&#xA;    "audio_ssrc" : <audio ssrc="ssrc" to="to" use="use" when="when" optional="optional">,&#xA;    "audio_pt" : <audio payload="payload" type="type" to="to" use="use" when="when" optional="optional">,&#xA;    "audio_rtcp_port" : <port to="to" contact="contact" receive="receive" audio="audio" rtcp="rtcp" feedback="feedback" from="from" the="the" and="and" currently="currently" unused="unused" for="for">,&#xA;    "video_port" : <port to="to" forward="forward" the="the" video="video" rtp="rtp" packets="packets">,&#xA;    "video_ssrc" : <video ssrc="ssrc" to="to" use="use" when="when" optional="optional">,&#xA;    "video_pt" : <video payload="payload" type="type" to="to" use="use" when="when" optional="optional">,&#xA;    "video_rtcp_port" : <port to="to" contact="contact" receive="receive" video="video" rtcp="rtcp" feedback="feedback" from="from" the="the" optional="optional">,&#xA;    "simulcast" : ,&#xA;    "video_port_2" : <if simulcasting="simulcasting" and="and" forwarding="forwarding" each="each" port="port" to="to" forward="forward" the="the" video="video" rtp="rtp" packets="packets" from="from" second="second" substream="substream"></if>layer to>,&#xA;    "video_ssrc_2" : <if simulcasting="simulcasting" and="and" forwarding="forwarding" each="each" video="video" ssrc="ssrc" to="to" use="use" the="the" second="second" substream="substream"></if>layer; optional>,&#xA;    "video_pt_2" : <if simulcasting="simulcasting" and="and" forwarding="forwarding" each="each" video="video" payload="payload" type="type" to="to" use="use" the="the" second="second" substream="substream"></if>layer; optional>,&#xA;    "video_port_3" : <if simulcasting="simulcasting" and="and" forwarding="forwarding" each="each" port="port" to="to" forward="forward" the="the" video="video" rtp="rtp" packets="packets" from="from" third="third" substream="substream"></if>layer to>,&#xA;    "video_ssrc_3" : <if simulcasting="simulcasting" and="and" forwarding="forwarding" each="each" video="video" ssrc="ssrc" to="to" use="use" the="the" third="third" substream="substream"></if>layer; optional>,&#xA;    "video_pt_3" : <if simulcasting="simulcasting" and="and" forwarding="forwarding" each="each" video="video" payload="payload" type="type" to="to" use="use" the="the" third="third" substream="substream"></if>layer; optional>,&#xA;    "data_port" : <port to="to" forward="forward" the="the" messages="messages">,&#xA;    "srtp_suite" : <length of="of" authentication="authentication" tag="tag" or="or" optional="optional">,&#xA;    "srtp_crypto" : "<key to="to" use="use" as="as" crypto="crypto" encoded="encoded" key="key" in="in" optional="optional">"&#xA;}&#xA;</key></length></port></port></video></video></port></port></audio></audio></port></host></unique></unique>

    &#xA;

    For this, I've setup a Nginx server, where I've also installed Janus and everything's been running smoothly so far. But I'm quite clueless as to how to setup my Nginx server so that it accepts RTP connections (which will be forwarded as RTMP using ffmpeg).

    &#xA;

    Please guide me to any relevant resources that would help me achieve this. Thanks in advance !

    &#xA;

  • ffmpeg issue when using it from kurento to rtmp stream

    15 juillet 2020, par Maxi

    I successfully managed to connect ffmpeg with an RTP endpoint of my kurento server. On many tries before I got a "Connection timed out" due my docker configuration. In my docker logs I see following now after RTP endpoint creation and starting ffmpeg :

    &#xA;

    streamy-server_1  | 2020-07-15 08:30:20.397  INFO 49 --- [nio-8080-exec-1] net.bramp.ffmpeg.RunProcessFunction      : ffmpeg -y -v error -protocol_whitelist file,http,https,tcp,tls,udp,rtp -rtbufsize 1500M -re -i /tmp/test.sdp -f flv -vcodec libx264 -pix_fmt yuv420p -s 640x480 -r 20/1 -b:v 1000000 -acodec libmp3lame -ar 44100 -b:a 1000000 -bufsize 4000k -maxrate 1000k -profile:v baseline -deinterlace -preset medium -g 60 -r 30 rtmps://live-api-s.facebook.com:443/rtmp/3163232097002611?xyz&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] non-existing PPS 0 referenced&#xA;streamy-server_1  |     Last message repeated 1 times&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] decode_slice_header error&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] no frame!&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] non-existing PPS 0 referenced&#xA;streamy-server_1  |     Last message repeated 1 times&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] decode_slice_header error&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] no frame!&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] non-existing PPS 0 referenced&#xA;streamy-server_1  |     Last message repeated 1 times&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] decode_slice_header error&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] no frame!&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] non-existing PPS 0 referenced&#xA;streamy-server_1  |     Last message repeated 1 times&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] decode_slice_header error&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] no frame!&#xA;streamy-server_1  | [h264 @ 0x56538aeae0a0] non-existing PPS 0 referenced&#xA;streamy-server_1  |     Last message repeated 1 times&#xA;[...] (this is repeated for the next ~20-30 seconds, then continues with:)&#xA;kurento_1         | 0:03:00.152967182     1 0x7faa58093b30 INFO    KurentoWebSocketTransport WebSocketTransport.cpp:296:keepAliveSessions: Keep alive 998a9271-615e-490c-acce-6bc22d9592f7&#xA;streamy-server_1  | Too many packets buffered for output stream 0:0.&#xA;streamy-server_1  | 2020-07-15 08:30:38.361 ERROR 49 --- [nio-8080-exec-1] c.maximummgt.streamy.WebsocketsHandler   : Unknown error while websockets session&#xA;streamy-server_1  | &#xA;streamy-server_1  | java.lang.RuntimeException: java.io.IOException: ffmpeg returned non-zero exit status. Check stdout.&#xA;streamy-server_1  |     at net.bramp.ffmpeg.job.SinglePassFFmpegJob.run(SinglePassFFmpegJob.java:46) ~[ffmpeg-0.6.2.jar:0.6.2]&#xA;

    &#xA;

    At facebook live it does not receive the video stream. In log I just see this message :

    &#xA;

    Facebook has not received video signal from the video source for some time. Check that the connectivity between the video source and Facebook is sufficient for the source resolution and bitrate. Check your video encoder logs for details. If problems persist, consider improving connection quality or reducing the bitrate of your video source.

    &#xA;

    On Kurento Java code I am doing following :

    &#xA;

      &#xA;
    1. Create an RTP endpoint

      &#xA;

    2. &#xA;

    3. Connect it with the video source from the user

      &#xA;

    4. &#xA;

    5. Create an SDP offer and save it to a file (currently /tmp/test.sdp)

      &#xA;

    6. &#xA;

    7. Process SDP offer with the RTP endpoint

      &#xA;

    8. &#xA;

    9. Start the ffmpeg process with (net.bramp.ffmpeg.builder.FFmpegBuilder) :

      &#xA;

      FFmpegBuilder builder = new FFmpegBuilder()&#xA;.addExtraArgs("-protocol_whitelist", "file,http,https,tcp,tls,udp,rtp")&#xA;.addExtraArgs("-rtbufsize", "1500M")&#xA;.addExtraArgs("-re")&#xA;.setInput("/tmp/test.sdp")&#xA;.addOutput(rtmpURL)&#xA;.setFormat("flv")&#xA;.addExtraArgs("-bufsize", "4000k")&#xA;.addExtraArgs("-maxrate", "1000k")&#xA;.setAudioCodec("libmp3lame")&#xA;.setAudioSampleRate(FFmpeg.AUDIO_SAMPLE_44100)&#xA;.setAudioBitRate(1_000_000)&#xA;.addExtraArgs("-profile:v", "baseline")&#xA;.setVideoCodec("libx264")&#xA;.setVideoPixelFormat("yuv420p")&#xA;.setVideoResolution(width, height)&#xA;.setVideoBitRate(1_000_000)&#xA;.setVideoFrameRate(20)&#xA;.addExtraArgs("-deinterlace")&#xA;.addExtraArgs("-preset", "medium")&#xA;.addExtraArgs("-g", "60")&#xA;.addExtraArgs("-r", "30")&#xA;.done();&#xA;&#xA;FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);&#xA;executor.createJob(builder).run();&#xA;&#xA;

      &#xA;

    10. &#xA;

    &#xA;

    Can somebody guide here on this issue ? Thanks in advance

    &#xA;

    EDIT 01 : I disabled now

    &#xA;

    // FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);&#xA;// executor.createJob(builder).run();&#xA;

    &#xA;

    so that ffmpeg does not start automatically. After java created the test.sdp, I ran ffmpeg by myself in the console not to stream to facebook but to a mp4 :

    &#xA;

    ffmpeg -loglevel debug -protocol_whitelist file,crypto,udp,rtp -re -vcodec libvpx -acodec opus -i /tmp/test.sdp -vcodec libx264 -acodec aac -y output.mp4

    &#xA;

    The output looks as following - I interrupted it after 25s with CTRL + C

    &#xA;

    root@app:/var/www# ffmpeg -loglevel debug -protocol_whitelist file,crypto,udp,rtp -re -vcodec libvpx -acodec opus -i /tmp/test.sdp -vcodec libx264 -acodec aac -y output.mp4&#xA;ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers&#xA;  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)&#xA;  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --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-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --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-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared&#xA;  libavutil      55. 78.100 / 55. 78.100&#xA;  libavcodec     57.107.100 / 57.107.100&#xA;  libavformat    57. 83.100 / 57. 83.100&#xA;  libavdevice    57. 10.100 / 57. 10.100&#xA;  libavfilter     6.107.100 /  6.107.100&#xA;  libavresample   3.  7.  0 /  3.  7.  0&#xA;  libswscale      4.  8.100 /  4.  8.100&#xA;  libswresample   2.  9.100 /  2.  9.100&#xA;  libpostproc    54.  7.100 / 54.  7.100&#xA;Splitting the commandline.&#xA;Reading option &#x27;-loglevel&#x27; ... matched as option &#x27;loglevel&#x27; (set logging level) with argument &#x27;debug&#x27;.&#xA;Reading option &#x27;-protocol_whitelist&#x27; ... matched as AVOption &#x27;protocol_whitelist&#x27; with argument &#x27;file,crypto,udp,rtp&#x27;.&#xA;Reading option &#x27;-re&#x27; ... matched as option &#x27;re&#x27; (read input at native frame rate) with argument &#x27;1&#x27;.&#xA;Reading option &#x27;-vcodec&#x27; ... matched as option &#x27;vcodec&#x27; (force video codec (&#x27;copy&#x27; to copy stream)) with argument &#x27;libvpx&#x27;.&#xA;Reading option &#x27;-acodec&#x27; ... matched as option &#x27;acodec&#x27; (force audio codec (&#x27;copy&#x27; to copy stream)) with argument &#x27;opus&#x27;.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;/tmp/test.sdp&#x27;.&#xA;Reading option &#x27;-vcodec&#x27; ... matched as option &#x27;vcodec&#x27; (force video codec (&#x27;copy&#x27; to copy stream)) with argument &#x27;libx264&#x27;.&#xA;Reading option &#x27;-acodec&#x27; ... matched as option &#x27;acodec&#x27; (force audio codec (&#x27;copy&#x27; to copy stream)) with argument &#x27;aac&#x27;.&#xA;Reading option &#x27;-y&#x27; ... matched as option &#x27;y&#x27; (overwrite output files) with argument &#x27;1&#x27;.&#xA;Reading option &#x27;output.mp4&#x27; ... matched as output url.&#xA;Finished splitting the commandline.&#xA;Parsing a group of options: global .&#xA;Applying option loglevel (set logging level) with argument debug.&#xA;Applying option y (overwrite output files) with argument 1.&#xA;Successfully parsed a group of options.&#xA;Parsing a group of options: input url /tmp/test.sdp.&#xA;Applying option re (read input at native frame rate) with argument 1.&#xA;Applying option vcodec (force video codec (&#x27;copy&#x27; to copy stream)) with argument libvpx.&#xA;Applying option acodec (force audio codec (&#x27;copy&#x27; to copy stream)) with argument opus.&#xA;Successfully parsed a group of options.&#xA;Opening an input file: /tmp/test.sdp.&#xA;[NULL @ 0x55c2344e6a00] Opening &#x27;/tmp/test.sdp&#x27; for reading&#xA;[sdp @ 0x55c2344e6a00] Format sdp probed with size=2048 and score=50&#xA;[sdp @ 0x55c2344e6a00] audio codec set to: pcm_mulaw&#xA;[sdp @ 0x55c2344e6a00] audio samplerate set to: 44000&#xA;[sdp @ 0x55c2344e6a00] audio channels set to: 1&#xA;[sdp @ 0x55c2344e6a00] video codec set to: h264&#xA;[sdp @ 0x55c2344e6a00] RTP Packetization Mode: 1&#xA;[udp @ 0x55c2344e90c0] end receive buffer size reported is 131072&#xA;[udp @ 0x55c2344e9320] end receive buffer size reported is 131072&#xA;[sdp @ 0x55c2344e6a00] setting jitter buffer size to 500&#xA;[udp @ 0x55c2344ea0a0] end receive buffer size reported is 131072&#xA;[udp @ 0x55c2344ea180] end receive buffer size reported is 131072&#xA;[sdp @ 0x55c2344e6a00] setting jitter buffer size to 500&#xA;[sdp @ 0x55c2344e6a00] Before avformat_find_stream_info() pos: 305 bytes read:305 seeks:0 nb_streams:2&#xA;[libvpx @ 0x55c2344eeb80] v1.7.0&#xA;[libvpx @ 0x55c2344eeb80] --prefix=/usr --enable-pic --enable-shared --disable-install-bins --disable-install-srcs --size-limit=16384x16384 --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --target=x86_64-linux-gcc&#xA;[libvpx @ 0x55c2344eeb80] Invalid sync code e06101.&#xA;[libvpx @ 0x55c2344eeb80] Failed to decode frame: Bitstream not supported by this decoder&#xA;[libvpx @ 0x55c2344eeb80] Invalid sync code e06101.&#xA;[libvpx @ 0x55c2344eeb80] Failed to decode frame: Bitstream not supported by this decoder&#xA;    Last message repeated 1 times&#xA;[libvpx @ 0x55c2344eeb80] Invalid sync code e06101.&#xA;[libvpx @ 0x55c2344eeb80] Failed to decode frame: Bitstream not supported by this decoder&#xA;[sdp @ 0x55c2344e6a00] Non-increasing DTS in stream 1: packet 3 with DTS 5940, packet 4 with DTS 5940&#xA;[...]&#xA;[sdp @ 0x55c2344e6a00] Non-increasing DTS in stream 1: packet 956 with DTS 2027726, packet 957 with DTS 2027726&#xA;[libvpx @ 0x55c2344eeb80] Failed to decode frame: Bitstream not supported by this decoder&#xA;[libvpx @ 0x55c2344eeb80] Invalid sync code e06101.&#xA;[libvpx @ 0x55c2344eeb80] Failed to decode frame: Bitstream not supported by this decoder&#xA;[libvpx @ 0x55c2344eeb80] Invalid sync code e06101.&#xA;[libvpx @ 0x55c2344eeb80] Failed to decode frame: Bitstream not supported by this decoder&#xA;[libvpx @ 0x55c2344eeb80] Invalid sync code e06101.&#xA;[libvpx @ 0x55c2344eeb80] Failed to decode frame: Bitstream not supported by this decoder&#xA;[libvpx @ 0x55c2344eeb80] Invalid sync code 4a3bd8.&#xA;[sdp @ 0x55c2344e6a00] Non-increasing DTS in stream 1: packet 960 with DTS 2036690, packet 961 with DTS 2036690&#xA;[libvpx @ 0x55c2344eeb80] Failed to decode frame: Bitstream not supported by this decoder&#xA;[sdp @ 0x55c2344e6a00] interrupted&#xA;[sdp @ 0x55c2344e6a00] decoding for stream 1 failed&#xA;[sdp @ 0x55c2344e6a00] rfps: 30.000000 0.000926&#xA;[sdp @ 0x55c2344e6a00] rfps: 60.000000 0.003706&#xA;[sdp @ 0x55c2344e6a00] rfps: 120.000000 0.014824&#xA;[sdp @ 0x55c2344e6a00] Setting avg frame rate based on r frame rate&#xA;[sdp @ 0x55c2344e6a00] Could not find codec parameters for stream 1 (Video: vp8 (libvpx), 1 reference frame, none(progressive)): unspecified size&#xA;Consider increasing the value for the &#x27;analyzeduration&#x27; and &#x27;probesize&#x27; options&#xA;[sdp @ 0x55c2344e6a00] After avformat_find_stream_info() pos: 305 bytes read:305 seeks:0 frames:962&#xA;Input #0, sdp, from &#x27;/tmp/test.sdp&#x27;:&#xA;  Metadata:&#xA;    title           : KMS&#xA;  Duration: N/A, start: 0.033000, bitrate: N/A&#xA;    Stream #0:0, 0, 1/44000: Audio: opus, 48000 Hz, mono, fltp&#xA;    Stream #0:1, 962, 1/90000: Video: vp8, 1 reference frame, none(progressive), 30 fps, 30 tbr, 90k tbn, 90k tbc&#xA;Successfully opened the file.&#xA;Parsing a group of options: output url output.mp4.&#xA;Applying option vcodec (force video codec (&#x27;copy&#x27; to copy stream)) with argument libx264.&#xA;Applying option acodec (force audio codec (&#x27;copy&#x27; to copy stream)) with argument aac.&#xA;Successfully parsed a group of options.&#xA;Opening an output file: output.mp4.&#xA;[file @ 0x55c234563320] Setting default whitelist &#x27;file,crypto&#x27;&#xA;Successfully opened the file.&#xA;[libvpx @ 0x55c2344eb0e0] v1.7.0&#xA;[libvpx @ 0x55c2344eb0e0] --prefix=/usr --enable-pic --enable-shared --disable-install-bins --disable-install-srcs --size-limit=16384x16384 --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --target=x86_64-linux-gcc&#xA;Stream mapping:&#xA;  Stream #0:1 -> #0:0 (vp8 (libvpx) -> h264 (libx264))&#xA;  Stream #0:0 -> #0:1 (opus (native) -> aac (native))&#xA;Press [q] to stop, [?] for help&#xA;Finishing stream 0:0 without any data written to it.&#xA;Finishing stream 0:1 without any data written to it.&#xA;detected 2 logical cores&#xA;[graph_1_in_0_0 @ 0x55c234561360] Setting &#x27;time_base&#x27; to value &#x27;1/48000&#x27;&#xA;[graph_1_in_0_0 @ 0x55c234561360] Setting &#x27;sample_rate&#x27; to value &#x27;48000&#x27;&#xA;[graph_1_in_0_0 @ 0x55c234561360] Setting &#x27;sample_fmt&#x27; to value &#x27;fltp&#x27;&#xA;[graph_1_in_0_0 @ 0x55c234561360] Setting &#x27;channel_layout&#x27; to value &#x27;0x4&#x27;&#xA;[graph_1_in_0_0 @ 0x55c234561360] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x4&#xA;[format_out_0_1 @ 0x55c2345611e0] Setting &#x27;sample_fmts&#x27; to value &#x27;fltp&#x27;&#xA;[format_out_0_1 @ 0x55c2345611e0] Setting &#x27;sample_rates&#x27; to value &#x27;96000|88200|64000|48000|44100|32000|24000|22050|16000|12000|11025|8000|7350&#x27;&#xA;[AVFilterGraph @ 0x55c234560620] query_formats: 4 queried, 9 merged, 0 already done, 0 delayed&#xA;Nothing was written into output file 0 (output.mp4), because at least one of its streams received no packets.&#xA;frame=    0 fps=0.0 q=0.0 Lsize=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A&#xA;video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown&#xA;Input file #0 (/tmp/test.sdp):&#xA;  Input stream #0:0 (audio): 0 packets read (0 bytes); 0 frames decoded (0 samples);&#xA;  Input stream #0:1 (video): 0 packets read (0 bytes); 0 frames decoded;&#xA;  Total: 0 packets (0 bytes) demuxed&#xA;Output file #0 (output.mp4):&#xA;  Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0 bytes);&#xA;  Output stream #0:1 (audio): 0 frames encoded (0 samples); 0 packets muxed (0 bytes);&#xA;  Total: 0 packets (0 bytes) muxed&#xA;0 frames successfully decoded, 0 decoding errors&#xA;[AVIOContext @ 0x55c234563420] Statistics: 0 seeks, 0 writeouts&#xA;[aac @ 0x55c23458bea0] Qavg: -nan&#xA;[AVIOContext @ 0x55c2344ef6e0] Statistics: 305 bytes read, 0 seeks&#xA;Exiting normally, received signal 2.&#xA;root@app:/var/www# ls -lt&#xA;total 72&#xA;-rw-r--r-- 1 root root     0 Jul 15 09:12 output.mp4&#xA;

    &#xA;