
Recherche avancée
Médias (2)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (72)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
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 (...)
Sur d’autres sites (7427)
-
FFMPEG Streaming to twitch low bitrate
17 juillet 2020, par El_PresidenteI 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.


# This script copies the video frame by frame
import cv2
import subprocess as sp
twitch_stream_key = 'MY_TWITCH_STREAM_KEY'
input_file = 'video.mp4'

cap = cv2.VideoCapture(input_file)
ret, frame = cap.read()
height, width, ch = frame.shape

ffmpeg = 'FFMPEG'
dimension = '{}x{}'.format(width, height)

fps = cap.get(cv2.CAP_PROP_FPS)
command = []
command.extend([
 'FFMPEG',
 '-loglevel', 'verbose',
 '-y', # overwrite previous file/stream
 '-analyzeduration', '1',
 '-f', 'rawvideo',
 '-r', '%d' % fps, # set a fixed frame rate
 '-vcodec', 'rawvideo',
 # size of one frame
 '-s', '%dx%d' % (width, height),
 '-pix_fmt', 'rgb24', # The input are raw bytes
 '-thread_queue_size', '1024',
 '-i', '-', # The input comes from a pipe
]) 
command.extend([
 '-ar', '8000',
 '-ac', '1',
 '-f', 's16le',
 '-i', 'work.mp3',
])
command.extend([
 # VIDEO CODEC PARAMETERS
 '-vcodec', 'libx264',
 '-r', '%d' % fps,
 '-b:v', '3000k',
 '-s', '%dx%d' % (width, height),
 '-preset', 'faster', '-tune', 'zerolatency',
 '-crf', '23',
 '-pix_fmt', 'yuv420p',

 '-minrate', '3000k', '-maxrate', '3000k',
 '-bufsize', '12000k',
 '-g', '60', # key frame distance
 '-keyint_min', '1',

 # AUDIO CODEC PARAMETERS
 '-acodec', 'libmp3lame', '-ar', '44100', '-b:a', '160k',
 # '-bufsize', '8192k',
 '-ac', '1',
 '-map', '0:v', '-map', '1:a',

 '-threads', '2',
 # STREAM TO TWITCH
 '-f', 'flv', 'rtmp://live-hel.twitch.tv/app/%s' %
 twitch_stream_key
])
proc = sp.Popen(command, stdin=sp.PIPE, stderr=sp.PIPE)

while True:
 ret, frame = cap.read() 
 if not ret: 
 break 
 proc.stdin.write(frame.tostring())

cap.release()
proc.stdin.close()
proc.stderr.close()
proc.wait()



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.


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


ffmpeg version git-2020-06-01-dd76226 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9.3.1 (GCC) 20200523
 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
 libavutil 56. 49.100 / 56. 49.100
 libavcodec 58. 90.100 / 58. 90.100
 libavformat 58. 44.100 / 58. 44.100
 libavdevice 58. 9.103 / 58. 9.103
 libavfilter 7. 84.100 / 7. 84.100
 libswscale 5. 6.101 / 5. 6.101
 libswresample 3. 6.100 / 3. 6.100
 libpostproc 55. 6.100 / 55. 6.100
Input #0, rawvideo, from 'pipe:':
 Duration: N/A, start: 0.000000, bitrate: 1443225 kb/s
 Stream #0:0: Video: rawvideo, 1 reference frame (RGB[24] / 0x18424752), rgb24, 1920x1080, 1443225 kb/s, 29 tbr, 29 tbn, 29 tbc
[s16le @ 0000026d64eb5340] Estimating duration from bitrate, this may be inaccurate
Guessed Channel Layout for Input Stream #1.0 : mono
Input #1, s16le, from 'work.mp3':
 Metadata:
 encoded_by : iTunes v7.0
 Duration: 00:09:36.13, bitrate: 128 kb/s
 Stream #1:0: Audio: pcm_s16le, 8000 Hz, mono, s16, 128 kb/s
[tcp @ 0000026d64ee34c0] Starting connection attempt to 99.181.64.78 port 1935
[tcp @ 0000026d64ee34c0] Successfully connected to 99.181.64.78 port 1935
Stream mapping:
 Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
 Stream #1:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
[graph 0 input from stream 0:0 @ 0000026d64f47c00] w:1920 h:1080 pixfmt:rgb24 tb:1/29 fr:29/1 sar:0/1
[scaler_out_0_0 @ 0000026d64f4c780] w:1920 h:1080 flags:'bicubic' interl:0
[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
[libx264 @ 0000026d64edf840] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000026d64edf840] profile High, level 4.0, 4:2:0, 8-bit
[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
[graph_1_in_1_0 @ 0000026d651319c0] tb:1/8000 samplefmt:s16 samplerate:8000 chlayout:0x4
[format_out_0_1 @ 0000026d65132d80] auto-inserting filter 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter 'format_out_0_1'
[auto_resampler_0 @ 0000026d651331c0] ch:1 chl:mono fmt:s16 r:8000Hz -> ch:1 chl:mono fmt:s16p r:44100Hz
Output #0, flv, to 'rtmp://live-hel.twitch.tv/app/live_*************':
 Metadata:
 encoder : Lavf58.44.100
 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
 Metadata:
 encoder : Lavc58.90.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 3000000/0/3000000 buffer size: 12000000 vbv_delay: N/A
 Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100 Hz, mono, s16p, delay 1105, 160 kb/s
 Metadata:
 encoder : Lavc58.90.100 libmp3lame



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



ffmpeg is configured like this :



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




Running ffmpeg :



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




In youtube studio I see this :



19:36 Good transmission. The quality is excellent.
19:39 Suggestion: The current sampling rate is 0. Recommended sampling rates are 44.1 kHz and 48 kHz.
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.
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.
19:41 Suggestion: The current sampling rate is 0. Recommended sampling rates are 44.1 kHz and 48 kHz.
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.
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.
19:43 Suggestion: The current sampling rate is 0. Recommended sampling rates are 44.1 kHz and 48 kHz.
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.
19:45 Suggestion: The current sampling rate is 0. Recommended sampling rates are 44.1 kHz and 48 kHz.
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.
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.
...
19:54: Error: YouTube does not receive enough video to maintain consistent streaming. Viewers will therefore experience buffering.




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



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
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



-
I am not able to create an RTMP stream using ffmpeg
11 juin 2020, par Navneet RajuI have set up an rtmp server using Nginx and that seems to be working fine. But when I try to create a RTMP stream using FFmpeg, it gets stuck at a frame and streaming doesn't work(just keeps buffering).



The FFmpeg command run :



ffmpeg -re -i CD_Final_compress.mp4 -vcodec copy -loop -1 -c:a aac -b:a 160k -ar 44100 -strict -2 -f flv rtmp://127.0.0.1/live/bbb




Output :



ffmpeg version N-98112-g7aa7d68 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
 configuration: --prefix=/home/navneet/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/navneet/ffmpeg_build/include --extra-ldflags=-L/home/navneet/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/navneet/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
 libavutil 56. 53.100 / 56. 53.100
 libavcodec 58. 92.100 / 58. 92.100
 libavformat 58. 46.101 / 58. 46.101
 libavdevice 58. 11.100 / 58. 11.100
 libavfilter 7. 86.100 / 7. 86.100
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'CD_Final_compress.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.33.100
 Duration: 00:17:33.85, start: 0.000000, bitrate: 521 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 386 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 126 kb/s (default)
 Metadata:
 handler_name : SoundHandler
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
 Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, flv, to 'rtmp://127.0.0.1/live/bbb':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.46.101
 Stream #0:0(und): Video: h264 (High) ([7][0][0][0] / 0x0007), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 386 kb/s, 30 fps, 30 tbr, 1k tbn, 15360 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 160 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 encoder : Lavc58.92.100 aac
frame= 1652 fps= 30 q=-1.0 size= 4895kB time=00:00:54.96 bitrate= 729.5kbits/s speed=0.999x




Note : I am running this on WSL 1 Ubuntu on Windows