Recherche avancée

Médias (0)

Mot : - Tags -/masques

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (111)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

  • Que fait exactement ce script ?

    18 janvier 2011, par

    Ce script est écrit en bash. Il est donc facilement utilisable sur n’importe quel serveur.
    Il n’est compatible qu’avec une liste de distributions précises (voir Liste des distributions compatibles).
    Installation de dépendances de MediaSPIP
    Son rôle principal est d’installer l’ensemble des dépendances logicielles nécessaires coté serveur à savoir :
    Les outils de base pour pouvoir installer le reste des dépendances Les outils de développements : build-essential (via APT depuis les dépôts officiels) ; (...)

  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

Sur d’autres sites (9055)

  • How can several .ts files be converted to one (non-fragmented) .mp4 file using ffmpeg ?

    23 juin 2021, par verified_tinker

    Problem Description

    


    The video player I'm using doesn't support .ts files, but it does play .mp4 files, so I'd like to use ffmpeg to convert my .ts files to .mp4 files.

    


    Goal Solution

    


    Use ffmpeg to download several .ts segments and transcode them into an .mp4 file that I'd load into my video player. Rinse and repeat. It'd add a delay of 10-20 seconds, but that's fine.

    


    The trick is to do the transcoding fast enough so, by the time one .mp4 file is finished playing, the next one is available ; in other words, the transcoding should take less than a second per second of footage. Ideally, it would take significantly less than that, to account for varying processing power on different devices.

    


    To clarify, when I say .mp4, I don't mean fragmented .mp4 files.

    



    


    If transcoding to some other format is faster, that might be fine, too. For example, I know the .mkv format is playable. I'm still exploring the full range of available formats.

    


    What I've Tried

    


    I tested transcoding 1 .ts file into an .mp4 file, and unfortunately it took about 6 seconds when the file was about 4 seconds long. That was with ffmpeg-wasm. I was hoping the JavaScript bridge might be slowing it down and that batching several .ts segments in 1 call might help.

    


    Command

    


    ffmpeg -i test.ts test.mp4


    


    Log

    


    [info] run FS.writeFile test.ts <349304 bytes binary file>
log.js:15 [info] run ffmpeg command: -i test.ts test.mp4
log.js:15 [fferr] ffmpeg version v0.9.0-2-gb11e5c1495 Copyright (c) 2000-2020 the FFmpeg developers
log.js:15 [fferr]   built with emcc (Emscripten gcc/clang-like replacement) 2.0.8 (d059fd603d0b45b584f634dc2365bc9e9a6ec1dd)
log.js:15 [fferr]   configuration: --target-os=none --arch=x86_32 --enable-cross-compile --disable-x86asm --disable-inline-asm --disable-stripping --disable-programs --disable-doc --disable-debug --disable-runtime-cpudetect --disable-autodetect --extra-cflags='-s USE_PTHREADS=1 -I/src/build/include -O3 --closure 1' --extra-cxxflags='-s USE_PTHREADS=1 -I/src/build/include -O3 --closure 1' --extra-ldflags='-s USE_PTHREADS=1 -I/src/build/include -O3 --closure 1 -L/src/build/lib' --pkg-config-flags=--static --nm=llvm-nm --ar=emar --ranlib=emranlib --cc=emcc --cxx=em++ --objcc=emcc --dep-cc=emcc --enable-gpl --enable-nonfree --enable-zlib --enable-libx264 --enable-libx265 --enable-libvpx --enable-libwavpack --enable-libmp3lame --enable-libfdk-aac --enable-libtheora --enable-libvorbis --enable-libfreetype --enable-libopus --enable-libwebp --enable-libass --enable-libfribidi
log.js:15 [fferr]   libavutil      56. 51.100 / 56. 51.100
log.js:15 [fferr]   libavcodec     58. 91.100 / 58. 91.100
log.js:15 [fferr]   libavformat    58. 45.100 / 58. 45.100
log.js:15 [fferr]   libavdevice    58. 10.100 / 58. 10.100
log.js:15 [fferr]   libavfilter     7. 85.100 /  7. 85.100
log.js:15 [fferr]   libswscale      5.  7.100 /  5.  7.100
log.js:15 [fferr]   libswresample   3.  7.100 /  3.  7.100
log.js:15 [fferr]   libpostproc    55.  7.100 / 55.  7.100
log.js:15 [fferr] Input #0, mpegts, from 'test.ts':
log.js:15 [fferr]   Duration: 00:00:04.00, start: 10.006000, bitrate: 698 kb/s
log.js:15 [fferr]   Program 1 
log.js:15 [fferr]     Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720, 23.98 tbr, 90k tbn, 1411200000.00 tbc
log.js:15 [fferr]     Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 130 kb/s
log.js:15 [fferr] Stream mapping:
log.js:15 [fferr]   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
log.js:15 [fferr]   Stream #0:1 -> #0:1 (aac (native) -> aac (native))
log.js:15 [fferr] [libx264 @ 0x1f5f080] using cpu capabilities: none!
log.js:15 [fferr] [libx264 @ 0x1f5f080] profile High, level 3.1, 4:2:0, 8-bit
log.js:15 [fferr] [libx264 @ 0x1f5f080] 264 - core 160 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - 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=6 lookahead_threads=1 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=0 weightp=2 keyint=250 keyint_min=23 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
log.js:15 [fferr] Output #0, mp4, to 'test.mp4':
log.js:15 [fferr]   Metadata:
log.js:15 [fferr]     encoder         : Lavf58.45.100
log.js:15 [fferr]     Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720, q=-1--1, 23.98 fps, 24k tbn, 23.98 tbc
log.js:15 [fferr]     Metadata:
log.js:15 [fferr]       encoder         : Lavc58.91.100 libx264
log.js:15 [fferr]     Side data:
log.js:15 [fferr]       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
log.js:15 [fferr]     Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s
log.js:15 [fferr]     Metadata:
log.js:15 [fferr]       encoder         : Lavc58.91.100 aac
log.js:15 [fferr] frame=    3 fps=0.0 q=0.0 size=       0kB time=00:00:00.38 bitrate=   1.0kbits/s dup=1 drop=0 speed=0.521x    
log.js:15 [fferr] frame=   47 fps= 27 q=0.0 size=       0kB time=00:00:02.09 bitrate=   0.2kbits/s dup=1 drop=0 speed=1.22x    
log.js:15 [fferr] frame=   57 fps= 25 q=28.0 size=       0kB time=00:00:02.51 bitrate=   0.2kbits/s dup=1 drop=0 speed=1.13x    
log.js:15 [fferr] frame=   67 fps= 24 q=28.0 size=       0kB time=00:00:02.96 bitrate=   0.1kbits/s dup=1 drop=0 speed=1.08x    
log.js:15 [fferr] frame=   77 fps= 23 q=28.0 size=       0kB time=00:00:03.37 bitrate=   0.1kbits/s dup=1 drop=0 speed=1.03x    
log.js:15 [fferr] frame=   89 fps= 23 q=28.0 size=       0kB time=00:00:03.96 bitrate=   0.1kbits/s dup=1 drop=0 speed=1.04x    
log.js:15 [fferr] frame=   96 fps= 15 q=-1.0 Lsize=      60kB time=00:00:04.01 bitrate= 122.8kbits/s dup=1 drop=0 speed=0.646x    
log.js:15 [fferr] video:55kB audio:1kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 7.249582%
log.js:15 [fferr] [libx264 @ 0x1f5f080] frame I:1     Avg QP:17.20  size: 31521
log.js:15 [fferr] [libx264 @ 0x1f5f080] frame P:24    Avg QP:16.17  size:   735
log.js:15 [fferr] [libx264 @ 0x1f5f080] frame B:71    Avg QP:27.68  size:    91
log.js:15 [fferr] [libx264 @ 0x1f5f080] consecutive B-frames:  1.0%  0.0%  3.1% 95.8%
log.js:15 [fferr] [libx264 @ 0x1f5f080] mb I  I16..4: 26.2% 56.4% 17.4%
log.js:15 [fferr] [libx264 @ 0x1f5f080] mb P  I16..4:  0.1%  0.2%  0.0%  P16..4:  3.5%  0.4%  0.2%  0.0%  0.0%    skip:95.4%
log.js:15 [fferr] [libx264 @ 0x1f5f080] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  1.6%  0.0%  0.0%  direct: 0.0%  skip:98.3%  L0:31.0% L1:69.0% BI: 0.0%
log.js:15 [fferr] [libx264 @ 0x1f5f080] 8x8 transform intra:56.5% inter:59.4%
log.js:15 [fferr] [libx264 @ 0x1f5f080] coded y,uvDC,uvAC intra: 17.4% 15.4% 7.5% inter: 0.2% 0.4% 0.0%
log.js:15 [fferr] [libx264 @ 0x1f5f080] i16 v,h,dc,p: 29% 63%  1%  7%
log.js:15 [fferr] [libx264 @ 0x1f5f080] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 51% 31% 14%  0%  2%  1%  1%  0%  1%
log.js:15 [fferr] [libx264 @ 0x1f5f080] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 45% 11%  2%  3%  2%  4%  2%  4%
log.js:15 [fferr] [libx264 @ 0x1f5f080] i8c dc,h,v,p: 76% 17%  6%  1%
log.js:15 [fferr] [libx264 @ 0x1f5f080] Weighted P-Frames: Y:0.0% UV:0.0%
log.js:15 [fferr] [libx264 @ 0x1f5f080] ref P L0: 89.5%  1.6%  6.7%  2.3%
log.js:15 [fferr] [libx264 @ 0x1f5f080] ref B L0: 38.5% 60.9%  0.6%
log.js:15 [fferr] [libx264 @ 0x1f5f080] ref B L1: 97.7%  2.3%
log.js:15 [fferr] [libx264 @ 0x1f5f080] kb/s:111.08
log.js:15 [fferr] [aac @ 0x1f48100] Qavg: 65536.000
log.js:15 [ffout] FFMPEG_END
log.js:15 [info] run FS.readFile test.mp4
(index):38 Time elapsed: 6345 (This one's my own code.)
[info] run FS.readFile test.mp4


    


    (I'm running this on the browser. For the purposes of this question, consider the HTML player unavailable for use.)

    



    


    I also tested feeding the HLS live-stream URL as input to ffmpeg and outputting a single .mp4 file, but I couldn't play it until I ended the live-stream and ffmpeg finished downloading it.

    


    This one I ran on the (Windows) PC ; not the browser.

    


    Command

    


    ffmpeg -i https://stream.mux.com/lngMYGqNpHhYg2ZXqpH8WODVGzuenaZuhckdyunGpzU.m3u8 -acodec copy -bsf:a aac_adtstoasc -vcodec copy out.mp4


    


    Log

    


    The log is too large and StackOverflow won't let me paste it here, so I uploaded it to PasteBin : https://pastebin.com/FqvPQ1DZ

    


  • avstring : fix "warning : return discards const qualifier from pointer target type"

    30 janvier 2013, par Michael Niedermayer

    avstring : fix "warning : return discards const qualifier from pointer target type"

  • vp3dec : move threads check out of header packet type check

    28 janvier 2013, par Michael Niedermayer

    vp3dec : move threads check out of header packet type check