Recherche avancée

Médias (1)

Mot : - Tags -/vidéo

Autres articles (62)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Le plugin : Gestion de la mutualisation

    2 mars 2010, par

    Le plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
    Installation basique
    On installe les fichiers de SPIP sur le serveur.
    On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
    On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
    < ?php (...)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

Sur d’autres sites (8315)

  • ffmpeg : xstack doesn't work when inputs are scaled to certain dimensions

    4 juin 2020, par dfriend21

    I'm using ffmpeg to create a mosaic of videos using the xstack filter. The input videos may come in varying dimensions, so I'm using the scale filter to scale them beforehand, and I'm using the force_original_aspect_ratio option and then the pad filter to keep the original aspect ratios of each video and add black bars to the sides to make each video have the correct dimensions.

    &#xA;&#xA;

    I have a command that's working - however, it's inconsistent. For some dimensions it works, while for others it doesn't.

    &#xA;&#xA;

    I'm using the fluent-ffmpeg Node.js module to call ffmpeg from Node.js. To do this, I'm passing an array of strings to the complexFilter() function.

    &#xA;&#xA;

    The following strings for the complex filter works :

    &#xA;&#xA;

    "[0:v]scale=400:250:force_original_aspect_ratio=decrease,pad=400:250:(ow-iw)/2:(oh-ih)/2 [s0]"&#xA;"[1:v]scale=400:250:force_original_aspect_ratio=decrease,pad=400:250:(ow-iw)/2:(oh-ih)/2 [s1]"&#xA;"[s0][s1]xstack=inputs=2:fill=&#x27;black&#x27;:layout=0_0|w0_0[v]"&#xA;"[0:a][1:a]amix=inputs=2[a]"&#xA;

    &#xA;&#xA;

    However, if I change the output dimensions of each video to be 400:225 instead of 400:250 it fails.

    &#xA;&#xA;

    "[0:v]scale=400:225:force_original_aspect_ratio=decrease,pad=400:225:(ow-iw)/2:(oh-ih)/2 [s0]"&#xA;"[1:v]scale=400:225:force_original_aspect_ratio=decrease,pad=400:225:(ow-iw)/2:(oh-ih)/2 [s1]"&#xA;"[s0][s1]xstack=inputs=2:fill=&#x27;black&#x27;:layout=0_0|w0_0[v]"&#xA;"[0:a][1:a]amix=inputs=2[a]"&#xA;

    &#xA;&#xA;

    The following error is given :

    &#xA;&#xA;

    An error occurred: ffmpeg exited with code 1: Error reinitializing filters!&#xA;Failed to inject frame into filter network: Invalid argument&#xA;Error while processing the decoded data for stream #1:1&#xA;Conversion failed!&#xA;

    &#xA;&#xA;

    If it's relevant, the first video has dimensions of 1280x720 while the second video has dimensions of 320x240.

    &#xA;&#xA;

    Anyone know why one set of dimensions works while the other doesn't ?

    &#xA;&#xA;

    EDIT : Here is the full ffmpeg log for when it fails :

    &#xA;&#xA;

    ffmpeg version git-2020-05-13-b12b053 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with gcc 9.3.1 (GCC) 20200513&#xA;  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf&#xA;  libavutil      56. 45.100 / 56. 45.100&#xA;  libavcodec     58. 84.100 / 58. 84.100&#xA;  libavformat    58. 43.100 / 58. 43.100&#xA;  libavdevice    58.  9.103 / 58.  9.103&#xA;  libavfilter     7. 80.100 /  7. 80.100&#xA;  libswscale      5.  6.101 /  5.  6.101&#xA;  libswresample   3.  6.100 /  3.  6.100&#xA;  libpostproc    55.  6.100 / 55.  6.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;C:/Users/user_name/Desktop/vids/vid1.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 0&#xA;    compatible_brands: mp41isom&#xA;    creation_time   : 2020-05-21T15:52:20.000000Z&#xA;  Duration: 00:00:10.76, start: 0.000000, bitrate: 8385 kb/s&#xA;    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuvj420p(pc), 1280x720 [SAR 1:1 DAR 16:9], 8237 kb/s, 29.99 fps, 30 tbr, 30k tbn, 60 tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-05-21T15:52:20.000000Z&#xA;      handler_name    : VideoHandler&#xA;      encoder         : AVC Coding&#xA;    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 165 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-05-21T15:52:20.000000Z&#xA;      handler_name    : SoundHandler&#xA;Input #1, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;C:/Users/user_name/Desktop/vids/vid2.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 0&#xA;    compatible_brands: mp41isom&#xA;    creation_time   : 2020-05-21T15:54:37.000000Z&#xA;  Duration: 00:00:11.01, start: 0.000000, bitrate: 836 kb/s&#xA;    Stream #1:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuvj420p(pc), 320x240 [SAR 1:1 DAR 4:3], 669 kb/s, 29.88 fps, 30 tbr, 30k tbn, 60 tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-05-21T15:54:37.000000Z&#xA;      handler_name    : VideoHandler&#xA;      encoder         : AVC Coding&#xA;    Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 163 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-05-21T15:54:37.000000Z&#xA;      handler_name    : SoundHandler&#xA;Stream mapping:&#xA;  Stream #0:0 (h264) -> scale&#xA;  Stream #0:1 (aac) -> amix:input0&#xA;  Stream #1:0 (h264) -> scale&#xA;  Stream #1:1 (aac) -> amix:input1&#xA;  xstack -> Stream #0:0 (libx264)&#xA;  amix -> Stream #0:1 (aac)&#xA;Press [q] to stop, [?] for help&#xA;[swscaler @ 000001343fefc200] deprecated pixel format used, make sure you did set range correctly&#xA;[Parsed_pad_1 @ 000001343f8dc3c0] Padded dimensions cannot be smaller than input dimensions.&#xA;[Parsed_pad_1 @ 000001343f8dc3c0] Failed to configure input pad on Parsed_pad_1&#xA;Error reinitializing filters!&#xA;Failed to inject frame into filter network: Invalid argument&#xA;Error while processing the decoded data for stream #1:1&#xA;Conversion failed!&#xA;&#xA;Done in 0.66s.&#xA;

    &#xA;

  • FFMPEG Streaming to twitch low bitrate

    17 juillet 2020, par El_Presidente

    I have a python script that will produce frames for a video stream. To stream it to twitch I decided to use ffmpeg (as it is the only option I found). However, the bitrate of my stream is very low (70 KB), although in ffmpeg options it's set to 3000K.

    &#xA;

    # This script copies the video frame by frame&#xA;import cv2&#xA;import subprocess as sp&#xA;twitch_stream_key = &#x27;MY_TWITCH_STREAM_KEY&#x27;&#xA;input_file = &#x27;video.mp4&#x27;&#xA;&#xA;cap = cv2.VideoCapture(input_file)&#xA;ret, frame = cap.read()&#xA;height, width, ch = frame.shape&#xA;&#xA;ffmpeg = &#x27;FFMPEG&#x27;&#xA;dimension = &#x27;{}x{}&#x27;.format(width, height)&#xA;&#xA;fps = cap.get(cv2.CAP_PROP_FPS)&#xA;command = []&#xA;command.extend([&#xA;    &#x27;FFMPEG&#x27;,&#xA;    &#x27;-loglevel&#x27;, &#x27;verbose&#x27;,&#xA;    &#x27;-y&#x27;,  # overwrite previous file/stream&#xA;    &#x27;-analyzeduration&#x27;, &#x27;1&#x27;,&#xA;    &#x27;-f&#x27;, &#x27;rawvideo&#x27;,&#xA;    &#x27;-r&#x27;, &#x27;%d&#x27; % fps,  # set a fixed frame rate&#xA;    &#x27;-vcodec&#x27;, &#x27;rawvideo&#x27;,&#xA;    # size of one frame&#xA;    &#x27;-s&#x27;, &#x27;%dx%d&#x27; % (width, height),&#xA;    &#x27;-pix_fmt&#x27;, &#x27;rgb24&#x27;,  # The input are raw bytes&#xA;    &#x27;-thread_queue_size&#x27;, &#x27;1024&#x27;,&#xA;    &#x27;-i&#x27;, &#x27;-&#x27;,  # The input comes from a pipe&#xA;])       &#xA;command.extend([&#xA;    &#x27;-ar&#x27;, &#x27;8000&#x27;,&#xA;    &#x27;-ac&#x27;, &#x27;1&#x27;,&#xA;    &#x27;-f&#x27;, &#x27;s16le&#x27;,&#xA;    &#x27;-i&#x27;, &#x27;work.mp3&#x27;,&#xA;])&#xA;command.extend([&#xA;    # VIDEO CODEC PARAMETERS&#xA;    &#x27;-vcodec&#x27;, &#x27;libx264&#x27;,&#xA;    &#x27;-r&#x27;, &#x27;%d&#x27; % fps,&#xA;    &#x27;-b:v&#x27;, &#x27;3000k&#x27;,&#xA;    &#x27;-s&#x27;, &#x27;%dx%d&#x27; % (width, height),&#xA;    &#x27;-preset&#x27;, &#x27;faster&#x27;, &#x27;-tune&#x27;, &#x27;zerolatency&#x27;,&#xA;    &#x27;-crf&#x27;, &#x27;23&#x27;,&#xA;    &#x27;-pix_fmt&#x27;, &#x27;yuv420p&#x27;,&#xA;&#xA;    &#x27;-minrate&#x27;, &#x27;3000k&#x27;, &#x27;-maxrate&#x27;, &#x27;3000k&#x27;,&#xA;    &#x27;-bufsize&#x27;, &#x27;12000k&#x27;,&#xA;    &#x27;-g&#x27;, &#x27;60&#x27;,  # key frame distance&#xA;    &#x27;-keyint_min&#x27;, &#x27;1&#x27;,&#xA;&#xA;    # AUDIO CODEC PARAMETERS&#xA;    &#x27;-acodec&#x27;, &#x27;libmp3lame&#x27;, &#x27;-ar&#x27;, &#x27;44100&#x27;, &#x27;-b:a&#x27;, &#x27;160k&#x27;,&#xA;    # &#x27;-bufsize&#x27;, &#x27;8192k&#x27;,&#xA;    &#x27;-ac&#x27;, &#x27;1&#x27;,&#xA;    &#x27;-map&#x27;, &#x27;0:v&#x27;, &#x27;-map&#x27;, &#x27;1:a&#x27;,&#xA;&#xA;    &#x27;-threads&#x27;, &#x27;2&#x27;,&#xA;    # STREAM TO TWITCH&#xA;    &#x27;-f&#x27;, &#x27;flv&#x27;, &#x27;rtmp://live-hel.twitch.tv/app/%s&#x27; %&#xA;          twitch_stream_key&#xA;])&#xA;proc = sp.Popen(command, stdin=sp.PIPE, stderr=sp.PIPE)&#xA;&#xA;while True:&#xA;    ret, frame = cap.read()        &#xA;    if not ret:        &#xA;        break    &#xA;    proc.stdin.write(frame.tostring())&#xA;&#xA;cap.release()&#xA;proc.stdin.close()&#xA;proc.stderr.close()&#xA;proc.wait()&#xA;

    &#xA;

    How can I increase the bitrate ? Maybe you can point me towards some different solution on how I can stream python frames to twitch or any other rtmp server.

    &#xA;

    Here is the complete log, the audio is also broken, it's just noise :

    &#xA;

    ffmpeg version git-2020-06-01-dd76226 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with gcc 9.3.1 (GCC) 20200523&#xA;  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf&#xA;  libavutil      56. 49.100 / 56. 49.100&#xA;  libavcodec     58. 90.100 / 58. 90.100&#xA;  libavformat    58. 44.100 / 58. 44.100&#xA;  libavdevice    58.  9.103 / 58.  9.103&#xA;  libavfilter     7. 84.100 /  7. 84.100&#xA;  libswscale      5.  6.101 /  5.  6.101&#xA;  libswresample   3.  6.100 /  3.  6.100&#xA;  libpostproc    55.  6.100 / 55.  6.100&#xA;Input #0, rawvideo, from &#x27;pipe:&#x27;:&#xA;  Duration: N/A, start: 0.000000, bitrate: 1443225 kb/s&#xA;    Stream #0:0: Video: rawvideo, 1 reference frame (RGB[24] / 0x18424752), rgb24, 1920x1080, 1443225 kb/s, 29 tbr, 29 tbn, 29 tbc&#xA;[s16le @ 0000026d64eb5340] Estimating duration from bitrate, this may be inaccurate&#xA;Guessed Channel Layout for Input Stream #1.0 : mono&#xA;Input #1, s16le, from &#x27;work.mp3&#x27;:&#xA;  Metadata:&#xA;    encoded_by      : iTunes v7.0&#xA;  Duration: 00:09:36.13, bitrate: 128 kb/s&#xA;    Stream #1:0: Audio: pcm_s16le, 8000 Hz, mono, s16, 128 kb/s&#xA;[tcp @ 0000026d64ee34c0] Starting connection attempt to 99.181.64.78 port 1935&#xA;[tcp @ 0000026d64ee34c0] Successfully connected to 99.181.64.78 port 1935&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))&#xA;  Stream #1:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))&#xA;[graph 0 input from stream 0:0 @ 0000026d64f47c00] w:1920 h:1080 pixfmt:rgb24 tb:1/29 fr:29/1 sar:0/1&#xA;[scaler_out_0_0 @ 0000026d64f4c780] w:1920 h:1080 flags:&#x27;bicubic&#x27; interl:0&#xA;[scaler_out_0_0 @ 0000026d64f4c780] w:1920 h:1080 fmt:rgb24 sar:0/1 -> w:1920 h:1080 fmt:yuv420p sar:0/1 flags:0x4&#xA;[libx264 @ 0000026d64edf840] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2&#xA;[libx264 @ 0000026d64edf840] profile High, level 4.0, 4:2:0, 8-bit&#xA;[libx264 @ 0000026d64edf840] 264 - core 160 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=4 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=2 lookahead_threads=2 sliced_threads=1 slices=2 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=60 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=3000 vbv_bufsize=12000 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00&#xA;[graph_1_in_1_0 @ 0000026d651319c0] tb:1/8000 samplefmt:s16 samplerate:8000 chlayout:0x4&#xA;[format_out_0_1 @ 0000026d65132d80] auto-inserting filter &#x27;auto_resampler_0&#x27; between the filter &#x27;Parsed_anull_0&#x27; and the filter &#x27;format_out_0_1&#x27;&#xA;[auto_resampler_0 @ 0000026d651331c0] ch:1 chl:mono fmt:s16 r:8000Hz -> ch:1 chl:mono fmt:s16p r:44100Hz&#xA;Output #0, flv, to &#x27;rtmp://live-hel.twitch.tv/app/live_*************&#x27;:&#xA;  Metadata:&#xA;    encoder         : Lavf58.44.100&#xA;    Stream #0:0: Video: h264 (libx264), 1 reference frame ([7][0][0][0] / 0x0007), yuv420p(progressive), 1920x1080, q=-1--1, 3000 kb/s, 29 fps, 1k tbn, 29 tbc&#xA;    Metadata:&#xA;      encoder         : Lavc58.90.100 libx264&#xA;    Side data:&#xA;      cpb: bitrate max/min/avg: 3000000/0/3000000 buffer size: 12000000 vbv_delay: N/A&#xA;    Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100 Hz, mono, s16p, delay 1105, 160 kb/s&#xA;    Metadata:&#xA;      encoder         : Lavc58.90.100 libmp3lame&#xA;

    &#xA;

  • youtube stream from ffmpeg is buffering

    1er juin 2020, par Bartonsen

    I'm using ffmpeg running on a Raspberry Pi 3B with 1GB RAM to stream live video on youtube.&#xA;In the beginning the audio+video stream is excellent, but after some minutes I see error messages in YT studio, and video starts buffering.&#xA;After some more time (could be 30 mins or 1 hr) the youtube stream is gone, although ffmpeg is still running.

    &#xA;&#xA;

    ffmpeg is configured like this :

    &#xA;&#xA;

    ./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree --enable-omx-rpi&#xA;

    &#xA;&#xA;

    Running ffmpeg :

    &#xA;&#xA;

    pi@raspberrypi:~ $ ffmpeg -thread_queue_size 512 -rtsp_transport udp -i "rtsp://10.x.x.x:554/user=user&amp;password=password&amp;channel=1&amp;stream=0.sdp?real_stream" -c:v copy -c:a aac -f flv rtmp://a.rtmp.youtube.com/live2/mykey&#xA;ffmpeg version git-2020-05-01-3c740f2 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with gcc 6.3.0 (Raspbian 6.3.0-18&#x2B;rpi1&#x2B;deb9u1) 20170516&#xA;  configuration: --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree --enable-omx-rpi&#xA;  libavutil      56. 43.100 / 56. 43.100&#xA;  libavcodec     58. 82.100 / 58. 82.100&#xA;  libavformat    58. 42.102 / 58. 42.102&#xA;  libavdevice    58.  9.103 / 58.  9.103&#xA;  libavfilter     7. 80.100 /  7. 80.100&#xA;  libswscale      5.  6.101 /  5.  6.101&#xA;  libswresample   3.  6.100 /  3.  6.100&#xA;  libpostproc    55.  6.100 / 55.  6.100&#xA;[udp @ 0x3a8c370] attempted to set receive buffer to size 393216 but it only ended up set as 327680&#xA;[udp @ 0x3a9ea80] attempted to set receive buffer to size 393216 but it only ended up set as 327680&#xA;[udp @ 0x3a8c3e0] attempted to set receive buffer to size 393216 but it only ended up set as 327680&#xA;[udp @ 0x3abf4d0] attempted to set receive buffer to size 393216 but it only ended up set as 327680&#xA;Guessed Channel Layout for Input Stream #0.1 : mono&#xA;Input #0, rtsp, from &#x27;rtsp://10.x.x.x:554/user=user&amp;password=password&amp;channel=1&amp;stream=0.sdp?real_stream&#x27;:&#xA;  Metadata:&#xA;    title           : RTSP Session&#xA;  Duration: N/A, start: 0.000000, bitrate: N/A&#xA;    Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 1920x1080, 20 fps, 20 tbr, 90k tbn, 180k tbc&#xA;    Stream #0:1: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (copy)&#xA;  Stream #0:1 -> #0:1 (pcm_alaw (native) -> aac (native))&#xA;Press [q] to stop, [?] for help&#xA;[aac @ 0x3ae9f00] Too many bits 8832.000000 > 6144 per frame requested, clamping to max&#xA;Output #0, flv, to &#x27;rtmp://a.rtmp.youtube.com/live2/mykey&#x27;:&#xA;  Metadata:&#xA;    title           : RTSP Session&#xA;    encoder         : Lavf58.42.102&#xA;    Stream #0:0: Video: h264 (Main) ([7][0][0][0] / 0x0007), yuvj420p(pc, bt709, progressive), 1920x1080, q=2-31, 20 fps, 20 tbr, 1k tbn, 90k tbc&#xA;    Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 8000 Hz, mono, fltp, 48 kb/s&#xA;    Metadata:&#xA;      encoder         : Lavc58.82.100 aac&#xA;

    &#xA;&#xA;

    In youtube studio I see this :

    &#xA;&#xA;

    19:36 Good transmission. The quality is excellent.&#xA;19:39 Suggestion: The current sampling rate is 0. Recommended sampling rates are 44.1 kHz and 48 kHz.&#xA;19:39 Suggestion: The current bitrate (0) of the audio stream is lower than the recommended bitrate. We recommend using a 128 Kbps bitrate for the audio stream.&#xA;19:39 Warning: The current bit rate (1974.24 kbps) is lower than the recommended bit rate. We recommend using a 4500 Kbps bitrate for the stream.&#xA;19:41 Suggestion: The current sampling rate is 0. Recommended sampling rates are 44.1 kHz and 48 kHz.&#xA;19:41 Suggestion: The current bitrate (0) of the audio stream is lower than the recommended bitrate. We recommend using a 128 Kbps bitrate for the audio stream.&#xA;19:41 Warning: The current bit rate (2151.41 kbps) is lower than the recommended bit rate. We recommend using a 4500 Kbps bitrate for the stream.&#xA;19:43 Suggestion: The current sampling rate is 0. Recommended sampling rates are 44.1 kHz and 48 kHz.&#xA;19:43 Suggestion: The current bitrate (0) of the audio stream is lower than the recommended bitrate. We recommend using a 128 Kbps bitrate for the audio stream.&#xA;19:45 Suggestion: The current sampling rate is 0. Recommended sampling rates are 44.1 kHz and 48 kHz.&#xA;19:45 Suggestion: The current bitrate (0) of the audio stream is lower than the recommended bitrate. We recommend using a 128 Kbps bitrate for the audio stream.&#xA;19:45 Warning: The current bit rate (1737.61 kbps) is lower than the recommended bit rate. We recommend using a 4500 Kbps bitrate for the stream.&#xA;...&#xA;19:54: Error: YouTube does not receive enough video to maintain consistent streaming. Viewers will therefore experience buffering.&#xA;

    &#xA;&#xA;

    What is the problem ? How can I get rid of the buffering ?&#xA;I've also tried the below two commands, but found the output to be worse...

    &#xA;&#xA;

    ffmpeg -i rtsp://... -c:v libx264  -b:v 4000k -maxrate 4000k -bufsize 8000k -g 40 -preset ultrafast -vf format=yuv420p -c:a aac -f flv output&#xA;ffmpeg -i rtsp://... -c:v h264_omx -b:v 4000k -maxrate 4000k -bufsize 8000k -g 40 -preset ultrafast -vf format=yuv420p -c:a aac -f flv output&#xA;

    &#xA;