Recherche avancée

Médias (91)

Autres articles (93)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

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

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

    Le 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 (6876)

  • Building FFMPEG library for iOS5.1 ARMv7 Processor

    26 octobre 2012, par Jimmy

    I cleaned up my question a little bit, when I wrote it the first time I was flustered. Now I can be more clear after taking a small break.

    I'm trying to use the FFMPEG library in an XCode 4.5.1 project. And I'm trying to build it for ARMv7. What I'm looking for is the exact process, and some explanation. I understand that this is not a well documented problem. But I know that other pople have had the same problem as me.

    What I have been able to do.

    I have been able to build the library for xCode. here Is what I have been able to do step by step.

    1) I have been able to clone ffmpeg. For beginners this will get you started by creating a directory with the ffmpeg source. (Kudos to the guys who wrote it)

    git clone git ://source.ffmpeg.org/ffmpeg.git ffmpeg

    2) I have been able to write a config file that doesn't have any errors. We will go back to this part later. This is the command I attach to ./configure

    ./configure
    —disable-doc
    —disable-ffmpeg
    —disable-ffplay
    —disable-ffserver
    —enable-cross-compile
    —arch=arm
    —target-os=darwin
    —cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm-gcc-4.2

    —as='gas-preprocessor/gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm-gcc-4.2'

    —sysroot=/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk

    —cpu=cortex-a8
    —extra-ldflags='-arch=armv7 -isysroot /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk'
    —enable-pic —disable-bzlib —disable-gpl —disable-shared —enable-static —disable-mmx —disable-debug —disable-neon —extra-cflags='-pipe -Os -gdwarf-2 -isysroot /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
    -m$thumb_opt :-no-thumb -mthumb-interwork'

    These are some things to note.

    • I had to download ( https://github.com/yuvi/gas-preprocessor ) copy the file gas-preprocessor.pl at /usr/local/bin. Set permissions to read write (777)
    • Make sure I'm using the right GCC compiler : /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm-gcc-4.2
    • Make sure I'm using the right SDK : /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
    • —extra-cflags="-arch armv7" causes : error : unrecognized command line option “-arch”

    Here in lies the problem.

    When I include the library and the declaration. Everything works fine ! (You will want to make sure your library paths in xcode are properly written if it can't find the library. There are plenty of people with this problem, stackover flow has a wealth of knowledge here)

    But when I started to write the encoder. I received this warning, and countless errors.

    ignoring file /Users/Jimmy/Development/source.ffmpeg/Library/libavutil.a, file was built for archive which is not the architecture being linked (armv7s) : /Users/Jimmy/Development/source.ffmpeg/Library/libavutil.a

    That means that I didn't build for ARMv7 and that -arch configuration I took out is actually essential.

    What I'm looking for is someone whose done it before, to walk all of us through the process of building FFMPEG for iOS5.1 and ARMv7 and the majority of things to look out for. If no one comes forth, in time I'll answer my own question and hopefully help out others who are struggling too.

  • FFMPEG rtsp skips frames while transcribing to m3u8/ts file

    22 septembre 2021, par Thomas J.

    The result is always the same or similar, it starts rendering using this command

    


    ffmpeg -strict 1 -rtsp_transport "tcp" -i rtsp://123456:2525 -y -profile baseline -movflags +faststart -hls_time 5 -hls_allow_cache 0 -hls_flags delete_segments -start_number 1 -an "/stream/some_m3_file.m3u8" >& m3LogFile.txt &


    


    And its usually the same, first video flawless and great, the second comes in with some spikes and then eventually spikes up to 2 seconds of frame skips, hare is a gif of the time only, so its clear how its behaving

    


    https://i.gyazo.com/8a04934bc73fa216846eb57696b8329a.mp4

    


    Hare is fraction of the log output (The process looks okay) :

    


      Metadata:
title           : Nvt RTSP, streamed by the LIVE555 Media Server
comment         : 00000002
encoder         : Lavf58.29.100
Stream #0:0: Video: h264 (libx264), yuvj420p(pc), 848x480, q=-1--1, 30 fps, 90k tbn, 30 tbc
Metadata:
  encoder         : Lavc58.54.100 libx264
Side data:
  cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame=   33 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A dup=22 drop=12 speed=   0x    
frame=   49 fps= 44 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A dup=25 drop=12 speed=   0x    
frame=   56 fps= 34 q=29.0 size=N/A time=00:00:00.10 bitrate=N/A dup=26 drop=12 speed=0.0606x    
frame=   69 fps= 29 q=29.0 size=N/A time=00:00:00.53 bitrate=N/A dup=28 drop=12 speed=0.223x    
frame=   86 fps= 26 q=29.0 size=N/A time=00:00:01.10 bitrate=N/A dup=31 drop=12 speed=0.336x    
frame=  103 fps= 25 q=29.0 size=N/A time=00:00:01.66 bitrate=N/A dup=32 drop=12 speed=0.401x    
frame=  120 fps= 26 q=29.0 size=N/A time=00:00:02.23 bitrate=N/A dup=35 drop=12 speed=0.479x    
frame=  123 fps= 24 q=29.0 size=N/A time=00:00:02.33 bitrate=N/A dup=35 drop=12 speed=0.451x    
frame=  139 fps= 23 q=29.0 size=N/A time=00:00:02.86 bitrate=N/A dup=38 drop=12 speed=0.483x    
frame=  155 fps= 24 q=29.0 size=N/A time=00:00:03.40 bitrate=N/A dup=41 drop=12 speed=0.527x    
frame=  162 fps= 23 q=29.0 size=N/A time=00:00:03.63 bitrate=N/A dup=42 drop=12 speed=0.52x    
frame=  175 fps= 23 q=29.0 size=N/A time=00:00:04.06 bitrate=N/A dup=44 drop=12 speed=0.53x    
frame=  191 fps= 23 q=29.0 size=N/A time=00:00:04.60 bitrate=N/A dup=47 drop=12 speed=0.561x    
frame=  197 fps= 23 q=29.0 size=N/A time=00:00:04.80 bitrate=N/A dup=48 drop=12 speed=0.55x    
frame=  211 fps= 22 q=29.0 size=N/A time=00:00:05.26 bitrate=N/A dup=50 drop=12 speed=0.557x    
frame=  227 fps= 23 q=29.0 size=N/A time=00:00:05.80 bitrate=N/A dup=53 drop=12 speed=0.582x    
frame=  234 fps= 22 q=29.0 size=N/A time=00:00:06.03 bitrate=N/A dup=54 drop=12 speed=0.574x    
frame=  247 fps= 22 q=29.0 size=N/A time=00:00:06.46 bitrate=N/A dup=56 drop=12 speed=0.578x    
frame=  262 fps= 22 q=29.0 size=N/A time=00:00:06.96 bitrate=N/A dup=59 drop=12 speed=0.594x    
frame=  266 fps= 22 q=29.0 size=N/A time=00:00:07.10 bitrate=N/A dup=59 drop=12 speed=0.581x    
frame=  282 fps= 22 q=29.0 size=N/A time=00:00:07.63 bitrate=N/A dup=62 drop=12 speed=0.597x    
frame=  292 fps= 22 q=29.0 size=N/A time=00:00:07.96 bitrate=N/A dup=64 drop=12 speed=0.598x    
frame=  300 fps= 22 q=29.0 size=N/A time=00:00:08.23 bitrate=N/A dup=65 drop=12 speed=0.593x    
[hls @ 0x55e1d3062a40] Opening '/stream/some_m3_file.m3u8.tmp' for writing
[hls @ 0x55e1d3062a40] Opening '/stream/some_m3_file2.ts' for writing


    


    And so on.. The whole log looks fine, similar, no errors, however at the end I get :

    


    [h264 @ 0x55e1d31473c0] error while decoding MB 10 17, bytestream -8
[h264 @ 0x55e1d31473c0] concealing 728 DC, 728 AC, 728 MV errors in I frame
[hls @ 0x55e1d3062a40] Opening '/stream/some_m3_file.m3u8.tmp' for writing
frame= 5175 fps= 28 q=-1.0 Lsize=N/A time=00:02:52.50 bitrate=N/A dup=2339 drop=12 speed=0.95x    
video:7533kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0x55e1d3029c00] frame I:21    Avg QP:16.43  size: 29243
[libx264 @ 0x55e1d3029c00] frame P:5154  Avg QP:19.38  size:  1377
[libx264 @ 0x55e1d3029c00] mb I  I16..4: 36.3%  0.0% 63.7%
[libx264 @ 0x55e1d3029c00] mb P  I16..4:  2.7%  0.0%  0.6%  P16..4:  8.6%  1.7%  0.4%  0.0%  0.0%    skip:86.0%
[libx264 @ 0x55e1d3029c00] coded y,uvDC,uvAC intra: 33.4% 38.4% 7.4% inter: 2.0% 6.2% 0.3%
[libx264 @ 0x55e1d3029c00] i16 v,h,dc,p: 20% 15% 15% 50%
[libx264 @ 0x55e1d3029c00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 18% 27%  3%  6%  5%  5%  3%  3%
[libx264 @ 0x55e1d3029c00] i8c dc,h,v,p: 57% 16% 23%  3%
[libx264 @ 0x55e1d3029c00] ref P L0: 82.7%  9.6%  7.7%
[libx264 @ 0x55e1d3029c00] kb/s:357.73


    


    I tried a lot of variations of commands, accidentally lost the history of it, however this is the last command line I've built that was working, but not behaving differently.

    


    ffmpeg -max_delay 1 -strict 1 -initial_pause 0 -rtsp_transport "tcp" -analyzeduration 20M -probesize 20M -i rtsp://123456:2525 -y -s 854x480 -crf 0 -b:v 25K -movflags +faststart -hls_time 5 -hls_allow_cache 0 -hls_flags delete_segments -start_number 1 -an "/stream/some_m3_file.m3u8" >& m3LogFile.txt &


    


    Not sure what's actually going on here, my own speculation is that, the data flow from RTSP is too slow and ffmpeg fast forwards time because its trying to catch up to the current time, but then again, I'd rather make it so it would lag but fully show not skip frames, however I did not find a way to implement it.

    


  • ffmpeg stream chrome kiosk mode ubuntu 16.04 server

    21 décembre 2016, par Raul

    I have a weird out-of-sync issue while using ffmpeg to stream to youtube live a chrome browser from an ub untu 16.04 server.

    Issue : output video streamed to youtube has audio/video out of sync, sometimes with as much as 3s

    Current flow :

    1) start pulseaudio - we using something like this to start it :

    pulseaudio --start -vvv --disallow-exit --log-target=syslog --high-priority --exit-idle-time=-1 --daemonize

    2) start Xvfb

    Xvfb :0 -ac -screen 0 1920x1080x24

    3) start chrome linux in kiosk mode

    google-chrome --kiosk --disable-gpu --incognito --no-first-run --disable-java --disable-plugins --disable-translate --disk-cache-size=$((1024 * 1024)) --disk-cache-dir=/tmp/chrome/ --user-data-dir=/tmp/chrome/ --force-device-scale-factor=1 --window-size=1920,1080 --window-position=0,0 LOCATION_URL

    4) start ffmpeg

    ffmpeg -y \
     -thread_queue_size 8192 -rtbufsize 250M -f x11grab -video_size 1920x1080 -framerate 24 -i :0 \
     -thread_queue_size 8192 -channel_layout stereo -f alsa -i pulse \
     -c:v libx264 -pix_fmt yuv420p -c:v libx264 -g 48 -crf 24 -filter:v fps=24 -preset ultrafast -tune zerolatency \
     -c:a aac -strict -2 -channel_layout stereo -ab 96k -ac 2 -flags +global_header \
     -f flv YOUTUBE_LIVE_STREAMING_RTMP

    Note : this is running on an amazon ec2 instance, meaning there is no soundcard, so alsa and pulseaudio are creating a dummy audio card. However, the latency does not come from there. Logs :

    Nov 25 06:14:22 ip-172-31-29-8 pulseaudio[26602]: [pulseaudio] protocol-native.c: Adjust latency mode enabled, configuring sink latency to half of overall latency.
    Nov 25 06:14:22 ip-172-31-29-8 pulseaudio[26602]: [pulseaudio] protocol-native.c: Requested latency=23.22 ms, Received latency=23.22 ms
    Nov 25 06:14:22 ip-172-31-29-8 pulseaudio[26602]: [pulseaudio] protocol-native.c: Final latency 69.66 ms = 23.22 ms + 2*11.61 ms + 23.22 ms

    At this point, here’s what we observed :

    1. if we start ffmpeg exactly after issuing the command to start chrome, we see the DTS errors from ffmpeg. Audio is out of sync with the video and has delay of 3-5seconds AHEAD. We also noticed the out of sync remains the same for the full duration of the stream

    2. if we start ffmpeg after around 10seconds, audio and video are almost in sync. We then manually added a -itsoffset -0.125 to the ffmpeg command and everything is perfect.

    Questions :

    1. Why would ffmpeg have so much lag if it’s started right after chrome ?
    2. Is starting the ffmpeg after 10s or X seconds the expected behavior ? That is, is this because the system needs to wait for audio/video signals to be "ready" or something ?
    3. Is there a way to 100% calculate or know when Chrome is fully ready and start ffmpeg ? We found sometimes it takes 5s, sometimes 10. Depends on the URL we load.
    4. Besides the DTS error that ffmpeg throws, is there any other way to know if audio/video is out-of-sync ? as sometimes we have a delay of between 0.5 to 1s, but ffmpeg does not report anything. And a restart is required to "re-balance" the audio/video inputs and get them back in sync.
    5. Can pulseaudio be the problem in this scenario ?

    Thank you

    UPDATE Dec 20

    We were able to do some tricks to force chrome to start the audio on page load, and that will force connect to pulseaudio. Doing that, plus adding a 3s delay for ffmpeg to start, there is no more delay when ffmpeg starts.
    However, our app is a webRTC app, and we have a STRANGER thing happening : if we start the page with no webcam/audio, once the webcam/audio is enabled, ffmpeg (while showing no errors) has a delay of 2s or so. While keep talking, in about max 30s, that delay is GONE.

    So the new questions are :

    1. Besides the DTS error that ffmpeg throws, is there any other way to know if audio/video is out-of-sync ? as sometimes we have a delay of between 0.5 to 1s, but ffmpeg does not report anything.
    2. What could cause the initial audio/video out of sync issue and then catching up ?