Recherche avancée

Médias (1)

Mot : - Tags -/musée

Autres articles (76)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque 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, par

    Accé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 (13216)

  • carrierwave-ffmpeg .weba audio convert to .mp3 or .mp4

    14 mai 2018, par nmadoug

    I use react-mic on the front-end of my React/Rails application to capture audio from the user. react-mic formats the audio blob as .weba. I’m trying to convert the .weba to .mp4 or .mp3 using carrierwave-ffmpeg . I can isolate the issue to my Rails uploader, which is as follows :

    require 'fog/aws'

    class UserResponseUploader < CarrierWave::Uploader::Base
     include CarrierWave::FFmpeg

     if Rails.env.test?
       storage :file
     else
       storage :fog
     end

     version :mp3 do
       puts `which ffmpeg`
       # binding.pry
       process encode: [:mp3, audio_codec: "a libmp3lame -qscale:a 2"]
       # process :encode_audio=> [:mp4, audio_codec: "aac",:custom => "-strict experimental -qscale:a 2"]

       def full_filename(for_file)
         super.chomp(File.extname(super)) + '.mp3'
       end
     end

     # Directory where uploaded files will be stored on file system or AWS
     def store_dir
       "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
     end
    end

    ffmpeg is installed on my local PC and I can run the command on the terminal to get an audio file created

    ffmpeg -i audio.weba -codec:a libmp3lame -qscale:a 2 willwork.mp3

    My problem is when I try and run everything in my code, I get the following error message :

    NameError (undefined local variable or method `e' for #):

    I don’t know where it’s complaining. I have a feeling the encoding line is causing the problem and I don’t have it set up properly.

    Any ideas ?

  • ffmpeg RTSP error while decoding MB

    2 mai 2018, par Hugh W

    I’m using ffmpeg to read an h264 RTSP stream from a Cisco 3050 IP camera and reencode it to disk as h264 (there are reasons why I’m not just using -codec:copy).

    The ffmpeg version is as follows :

    ffmpeg version 3.2.6 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 6.3.0 (Alpine 6.3.0)

    I’ve also tried with ffmpeg 2.8.14-0ubuntu0.16.04.1 and the latest ffmpeg built from source (I used this commit) and see the same behaviour as below.

    The command I’m running is :

    ffmpeg -rtsp_transport udp -i 'rtsp://<user>:<pw>@<ip>:554/StreamingSetting?version=1.0&amp;action=getRTSPStream&amp;ChannelID=1&amp;ChannelName=Channel1' -r 10 -c:v h264 -crf 23 -x264-params keyint=60:min-keyint=60 -an -f ssegment -segment_time 60 -strftime 1 /output/%Y%m%d_%H%M%S.ts -abort_on empty_output
    </ip></pw></user>

    I get a variety of errors at a fairly steady rate of at least one per second. Here’s a sample :

    [rtsp @ 0x7f268c5e9220] max delay reached. need to consume packet
    [rtsp @ 0x7f268c5e9220] RTP: missed 40 packets
    [h264 @ 0x55b1e115d400] left block unavailable for requested intra mode
    [h264 @ 0x55b1e115d400] error while decoding MB 0 12, bytestream 114567
    [h264 @ 0x55b1e115d400] concealing 3889 DC, 3889 AC, 3889 MV errors in I frame

    The most common one is ’error while decoding MB x x, bytestream x’. This corresponds to severe corruption in the video file when played back.

    I see many references to that error message on stackoverflow and elsewhere, but I’ve yet to find a satisfying explanation or workaround. It comes from this line which appears to correspond to missing data at the end of the stream. ’left block unavailable’ comes from here and also looks like missing data.

    Others have suggested using -rtsp_transport tcp instead (1, 2, 3) which in my case just gives a slightly different mix of errors, and still video corruption :

    [h264 @ 0x557923191b00] left block unavailable for requested intra4x4 mode -1
    [h264 @ 0x557923191b00] error while decoding MB 0 28, bytestream 31068
    [h264 @ 0x557923191b00] concealing 2609 DC, 2609 AC, 2609 MV errors in I frame
    [rtsp @ 0x7f88e817b220] CSeq 5 expected, 0 received.

    Using Wireshark I confirmed that in both UDP and TCP mode, all of the packets are making it from the camera to the PC (sequential RTP sequence numbers without any missing) which makes me think the data is being lost after it arrives at ffmpeg.

    I also see similar behaviour when running the same command against a Panasonic WV-SFV110 camera, but with less frequent errors overall. Switching from UDP to TCP on the Panasonic camera reduces but does not completely eliminate the errors/corruption.

    I also tried a similar command with VLC and got similar errors (cvlc rtsp://<user>:<pw>@<ip>/MediaInput/h264 :sout='#transcode{vcodec=h264}:std{access=file, mux=ts, dst="output.ts"}</ip></pw></user>) — presumably the code hasn’t diverged much since libav forked from ffmpeg.

    The camera is plugged directly into a PoE port on the PC so network congestion can’t be a problem. Given that the PC has enough CPU to keep up encoding the live stream, it seems to me a problem with ffmpeg that it still drops data from the TCP stream.

    Qualitatively, there are several factors which seem to make the problem worse :

    • Higher video resolution
    • Higher system load on the machine running ffmpeg (e.g. transcoding to a low res .avi file produces fewer errors than transcoding to h264 VBR ; using -codec:copy eliminates all errors except a couple while ffmpeg is starting up)
    • Greater motion within the camera view

    What the does the error mean ? And what can I do about it ?

  • Synchronizing RTSP signals with FFMPEG

    3 décembre 2019, par Taits

    I have achieved to merge two RTSP signals in one with FFMPEG but in the resulting stream, the first input has a delay of between 2 and 5 seconds with respect to the second. And it is always the first input that is delayed compared to the second.

    The two RTSP signals come from the same camera model, same configuration, same room ...

    However, if I put the same RTSP signal (either of the two) as input 1 and input 2, the same thing happens. Despite being the same signal, the first input is delayed compared to the second one.

    How could I get them synchronized ?

    This is the command that I execute :

    ffmpeg -rtsp_transport tcp -thread_queue_size 512 -rtbufsize 50M -r 15
    -i rtsp://XXXX -rtsp_transport tcp -thread_queue_size 512 -rtbufsize 50M -r 15
    -c:a aac -i rtsp://YYYY -filter_complex "[0:v]pad=iw*2:ih,setpts=PTS-STARTPTS[bg];
    [1:v]setpts=PTS-STARTPTS[fg]; [bg][fg]overlay=w[out]" -map "[out]" -f hls
    -hls_time 2 -hls_list_size 5 -use_localtime 1 -use_localtime_mkdir 1
    -hls_segment_filename 'LIVE/file-%s.ts' -map a -ar 16000 -ac 1 -ab 64000 -c:a aac
    -y output.m3u8

    Here you have the process informationn :

    ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
    built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.2 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --disable-jack --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
     libavutil      55. 78.100 / 55. 78.100
     libavcodec     57.107.100 / 57.107.100
     libavformat    57. 83.100 / 57. 83.100
     libavdevice    57. 10.100 / 57. 10.100
     libavfilter     6.107.100 /  6.107.100
     libavresample   3.  7.  0 /  3.  7.  0
     libswscale      4.  8.100 /  4.  8.100
     libswresample   2.  9.100 /  2.  9.100
     libpostproc    54.  7.100 / 54.  7.100
    [rtsp @ 0x7fe284000e00] Missing PPS in sprop-parameter-sets, ignoring
    Input #0, rtsp, from 'rtsp://XXXX':
     Metadata:
       title           : Media Presentation
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720, 15 fps, 15 tbr, 90k tbn, 30 tbc
       Stream #0:1: Audio: aac (LC), 16000 Hz, mono, fltp
    [rtsp @ 0x7fe28484de00] Missing PPS in sprop-parameter-sets, ignoring
    Input #1, rtsp, from 'rtsp://XXXX':
     Metadata:
       title           : Media Presentation
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #1:0: Video: h264 (Main), yuv420p(progressive), 1280x720, 15 fps, 15 tbr, 90k tbn, 30 tbc
       Stream #1:1: Audio: aac (LC), 16000 Hz, mono, fltp
    Stream mapping:
     Stream #0:0 (h264) -> pad (graph 0)
     Stream #1:0 (h264) -> setpts (graph 0)
     overlay (graph 0) -> Stream #0:0 (libx264)
     Stream #0:1 -> #0:1 (aac (native) -> aac (native))
    Press [q] to stop, [?] for help
    [libx264 @ 0x7fe286802000] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 0x7fe286802000] profile High, level 4.0
    [libx264 @ 0x7fe286802000] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - 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=12 lookahead_threads=2 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=1 weightp=2 keyint=250 keyint_min=15 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
    [hls @ 0x7fe286800000] Opening 'LIVE/file-1524728763.ts' for writing
    Output #0, hls, to 'output.m3u8':
     Metadata:
       title           : Media Presentation
       encoder         : Lavf57.83.100
       Stream #0:0: Video: h264 (libx264), yuv420p, 2560x720, q=-1--1, 15 fps, 90k tbn, 15 tbc (default)
       Metadata:
         encoder         : Lavc57.107.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       Stream #0:1: Audio: aac (LC), 16000 Hz, mono, fltp, 64 kb/s
       Metadata:
         encoder         : Lavc57.107.100 aac
    [hls @ 0x7fe286800000] Opening 'LIVE/file-1524728782.ts' for writinged=1.09x    
    [hls @ 0x7fe286800000] Opening 'output.m3u8.tmp' for writing
    [hls @ 0x7fe286800000] Opening 'output.m3u8.tmp' for writing=N/A speed=1.07x    
    frame=  396 fps= 15 q=-1.0 Lsize=N/A time=00:00:27.00 bitrate=N/A speed=1.05x    
    video:2946kB audio:147kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown