
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (59)
-
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
Contribute to a better visual interface
13 avril 2011MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community. -
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...)
Sur d’autres sites (4598)
-
Revision c2876cf0fd : Initial addition of multiple ARF frames This is work-in-progress, it implements
3 avril 2013, par Adrian GrangeChanged Paths : Modify /configure Modify /vp8/encoder/onyx_if.c Modify /vp9/common/vp9_onyxc_int.h Modify /vp9/decoder/vp9_onyxd_if.c Modify /vp9/encoder/vp9_bitstream.c Modify /vp9/encoder/vp9_firstpass.c Modify /vp9/encoder/vp9_onyx_if.c (...)
-
Progress with rtc.io
12 août 2014, par silviaAt the end of July, I gave a presentation about WebRTC and rtc.io at the WDCNZ Web Dev Conference in beautiful Wellington, NZ.
Putting that talk together reminded me about how far we have come in the last year both with the progress of WebRTC, its standards and browser implementations, as well as with our own small team at NICTA and our rtc.io WebRTC toolbox.
One of the most exciting opportunities is still under-exploited : the data channel. When I talked about the above slide and pointed out Bananabread, PeerCDN, Copay, PubNub and also later WebTorrent, that’s where I really started to get Web Developers excited about WebRTC. They can totally see the shift in paradigm to peer-to-peer applications away from the Server-based architecture of the current Web.
Many were also excited to learn more about rtc.io, our own npm nodules based approach to a JavaScript API for WebRTC.
We believe that the World of JavaScript has reached a critical stage where we can no longer code by copy-and-paste of JavaScript snippets from all over the Web universe. We need a more structured module reuse approach to JavaScript. Node with JavaScript on the back end really only motivated this development. However, we’ve needed it for a long time on the front end, too. One big library (jquery anyone ?) that does everything that anyone could ever need on the front-end isn’t going to work any longer with the amount of functionality that we now expect Web applications to support. Just look at the insane growth of npm compared to other module collections :
Packages per day across popular platforms (Shamelessly copied from : http://blog.nodejitsu.com/npm-innovation-through-modularity/) For those that – like myself – found it difficult to understand how to tap into the sheer power of npm modules as a font end developer, simply use browserify. npm modules are prepared following the CommonJS module definition spec. Browserify works natively with that and “compiles” all the dependencies of a npm modules into a single bundle.js file that you can use on the front end through a script tag as you would in plain HTML. You can learn more about browserify and module definitions and how to use browserify.
For those of you not quite ready to dive in with browserify we have prepared prepared the rtc module, which exposes the most commonly used packages of rtc.io through an “RTC” object from a browserified JavaScript file. You can also directly download the JavaScript file from GitHub.
Using rtc.io rtc JS library So, I hope you enjoy rtc.io and I hope you enjoy my slides and large collection of interesting links inside the deck, and of course : enjoy WebRTC ! Thanks to Damon, JEeff, Cathy, Pete and Nathan – you’re an awesome team !
On a side note, I was really excited to meet the author of browserify, James Halliday (@substack) at WDCNZ, whose talk on “building your own tools” seemed to take me back to the times where everything was done on the command-line. I think James is using Node and the Web in a way that would appeal to a Linux Kernel developer. Fascinating !!
The post Progress with rtc.io first appeared on ginger’s thoughts.
-
ffmpeg Progress Bar in php - fps=0.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x for every frame
5 mai 2020, par Mahmood HussainI want the progress of FFmpeg command like how much time is remaining or how much percentage is finished.



this ffmpeg Progress Bar - Encoding Percentage in PHP do the job for dealing with audio and video but failed in my case i.e creating video from images.



similar question Can ffmpeg show a progress bar ? in my case the command is follows



exec("$FFmpegPath -protocol_whitelist file,http,https,tcp,tls,crypto -f concat -safe 0 -i '$image_txt_file' -vsync vfr -pix_fmt yuv420p -vf 'pad=ceil(iw/2)*2:ceil(ih/2)*2' '$out_vid_name' 1>'output.txt' 2>&1", $output, $return_var);




and in my output file this is what I have



ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
 built with Apple clang version 11.0.0 (clang-1100.0.33.16)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2_1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include/darwin -fno-stack-check' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Input #0, concat, from '../LiveLapseData/image_file_5eb13b6cb0bb6.txt':
 Duration: 00:00:02.50, start: 0.000000, bitrate: 33 kb/s
 Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 2697x1800 [SAR 1:1 DAR 899:600], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[swscaler @ 0x10c679000] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 0x7f9def030200] using SAR=1/1
[libx264 @ 0x7f9def030200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7f9def030200] profile High, level 5.0
[libx264 @ 0x7f9def030200] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - 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=25 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
Output #0, mp4, to '../LiveLapseData/init_video_5eb13b6cb0bc2.mp4':
 Metadata:
 encoder : Lavf58.29.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 2698x1800 [SAR 1:1 DAR 1349:900], q=-1--1, 25 fps, 12800 tbn, 25 tbc
 Metadata:
 encoder : Lavc58.54.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame= 3 fps=0.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 4 fps=0.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 5 fps=0.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 6 fps=0.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 7 fps=0.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 8 fps=0.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 9 fps=0.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 10 fps=0.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 11 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 12 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 13 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
frame= 14 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 





<?php
// The file has JSON type.
header('Content-Type: application/json');

$content = @file_get_contents('output.txt');

if ($content) {
 //get duration of source
 preg_match("/Duration: (.*?), start:/", $content, $matches);

 $rawDuration = $matches[1];
 //rawDuration is in 00:00:00.00 format. This converts it to seconds.
 $ar = array_reverse(explode(":", $rawDuration));
 $duration = floatval($ar[0]);
 if (!empty($ar[1])) $duration += intval($ar[1]) * 60;
 if (!empty($ar[2])) $duration += intval($ar[2]) * 60 * 60;

 //get the time in the file that is already encoded
 preg_match_all("/time=(.*?) bitrate/", $content, $matches);

 $rawTime = array_pop($matches);

 //this is needed if there is more than one match
 if (is_array($rawTime)) {
 $rawTime = array_pop($rawTime);
 }

 //rawTime is in 00:00:00.00 format. This converts it to seconds.
 $ar = array_reverse(explode(":", $rawTime));
 $time = floatval($ar[0]);
 if (!empty($ar[1])) $time += intval($ar[1]) * 60;
 if (!empty($ar[2])) $time += intval($ar[2]) * 60 * 60;

 //calculate the progress
 $progress = round(($time / $duration) * 100);

 echo "Duration: " . $duration . "<br />";
 echo "Current Time: " . $time . "<br />";
 echo "Progress: " . $progress . "%";






and always I receive is progress 0 and last progress 88