
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (100)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 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 (...) -
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP 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 (...)
Sur d’autres sites (12873)
-
How can several .ts files be converted to one (non-fragmented) .mp4 file using ffmpeg ?
23 juin 2021, par verified_tinkerProblem 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


-
Cannot find yasm even though I have installed it
20 juin 2016, par zhen leeI got a strange problem. I tried to install x264. When run sudo ./configure —enable-shared,
it gave :Found no assembler
Minimum version is yasm-0.7.0
If you really want to compile without asm, configure with —disable-asm.But I already installed yasm-0.7.0 ,to prove that ,i run yasm —version,it gave :
*yasm 0.7.0.2066
Compiled on May 8 2012.
Copyright (c) 2001-2008 Peter Johnson and other Yasm developers.
Run yasm —license for licensing overview and summary.*I install yasm to /usr/local/yasm,
Why can it not find yasm ? -
Parsing the STDERR output of node.js child_process line by line
3 janvier 2012, par primerI'm writing a simple online conversion tool using FFMPEG and Node.js. I'm trying to figure out how to parse each line of the conversion output received from FFMPEG and only display pertinent results client side in the browser. In my case I want the encoding time counter that FFMPEG spits out on the command line.
My function thus far is :
function metric(ffmpeg, res) {
ffmpeg.stdout.on('data', function(data) {
res.writeHead(200, {'content-type': 'text/html'});
res.write('received upload:\n\n');
console.log(data);
});
ffmpeg.stderr.on('data', function (data) {
var temp += data.toString();
var lines = temp.split('\n');
//for debugging purposes
for(var i = 0;icode>What this ends up returning is multiple arrays, each of which includes the data from the previous array as well as the next data chunk. For example, the function returns array 1 :0=>A, 1=>B, array 2 :0=>A, 1=>B, 2=>C, array 3 :0=>A, 1=>B, 2=>C, 3=>D, and so on.
I'm quite new to Node so I'm probably missing something simple. Any guidance would be much appreciated !