
Recherche avancée
Autres articles (34)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
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 (5561)
-
FFMPEG extracting 1 second resized with copy codec
28 avril 2019, par boblapointeHow can I extract 1 second ( using fast seek ) from a video, resize it, using vp9 ? I always get the same errors. Here are the bare bone commands I’m trying :
ffmpeg -ss 00:00:10 -i test.webm -to 00:00:01 -filter:v "scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease" -c:v libvpx-vp9 -y output.webm
It returns :
"Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
After playing around I realize that this will work :
ffmpeg -ss 00:00:10 -i test.webm -to 00:00:01 -c copy -y output.webm
Not ideal but at least it works, so I add the filter :
ffmpeg -ss 00:00:10 -i test.webm -to 00:00:01 -filter:v "scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease" -c copy -y output.webm
Ant then I get :
"Filtering and streamcopy cannot be used together."
I’ve tried all kinds of combinations, unsuccessfully. Any hint would be appreciated. Thank you
Here is the full log of the first command :
ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7 (Ubuntu 7.3.0-16ubuntu3) configuration : —prefix=/usr —extra-version=0ubuntu0.18.04.1 —toolchain=hardened —libdir=/usr/lib/x86_64-linux-gnu —incdir=/usr/include/x86_64-linux-gnu —enable-gpl —disable-stripping —enable-avresample —enable-avisynth —enable-gnutls —enable-ladspa —enable-libass —enable-libbluray —enable-libbs2b —enable-libcaca —enable-libcdio —enable-libflite —enable-libfontconfig —enable-libfreetype —enable-libfribidi —enable-libgme —enable-libgsm —enable-libmp3lame —enable-libmysofa —enable-libopenjpeg —enable-libopenmpt —enable-libopus —enable-libpulse —enable-librubberband —enable-librsvg —enable-libshine —enable-libsnappy —enable-libsoxr —enable-libspeex —enable-libssh —enable-libtheora —enable-libtwolame —enable-libvorbis —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx265 —enable-libxml2 —enable-libxvid —enable-libzmq —enable-libzvbi —enable-omx —enable-openal —enable-opengl —enable-sdl2 —enable-libdc1394 —enable-libdrm —enable-libiec61883 —enable-chromaprint —enable-frei0r —enable-libopencv —enable-libx264 —enable-shared 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 Splitting the commandline. Reading option ’-ss’ ... matched as option ’ss’ (set the start time offset) with argument ’00:00:10’. Reading option ’-i’ ... matched as input url with argument ’test.webm’. Reading option ’-to’ ... matched as option ’to’ (record or transcode stop time) with argument ’00:00:01’. Reading option ’-filter:v’ ... matched as option ’filter’ (set stream filtergraph) with argument ’scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease’. Reading option ’-c:v’ ... matched as option ’c’ (codec name) with argument ’libvpx-vp9’. Reading option ’-y’ ... matched as option ’y’ (overwrite output files) with argument ’1’. Reading option ’-v’ ... matched as option ’v’ (set logging level) with argument ’debug’. Reading option ’output.webm’ ... matched as output url. Finished splitting the commandline. Parsing a group of options : global . Applying option y (overwrite output files) with argument 1. Applying option v (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options : input url test.webm. Applying option ss (set the start time offset) with argument 00:00:10. Successfully parsed a group of options. Opening an input file : test.webm. [NULL @ 0x55ce679f8920] Opening ’test.webm’ for reading [file @ 0x55ce679f9340] Setting default whitelist ’file,crypto’ [matroska,webm @ 0x55ce679f8920] Format matroska,webm probed with size=2048 and score=100 st:0 removing common factor 1000000 from timebase [matroska,webm @ 0x55ce679f8920] Before avformat_find_stream_info() pos : 566 bytes read:32768 seeks:0 nb_streams:1 [matroska,webm @ 0x55ce679f8920] All info found [matroska,webm @ 0x55ce679f8920] After avformat_find_stream_info() pos : 72449 bytes read:72449 seeks:0 frames:1 Input #0, matroska,webm, from ’test.webm’ : Metadata : ENCODER : Lavf57.83.100 Duration : 00:00:15.03, start : 5.016000, bitrate : 1146 kb/s Stream #0:0(eng), 1, 1/1000 : Video : vp9 (Profile 0), 1 reference frame, yuv420p(tv), 1280x720, 0/1, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default) Metadata : DURATION : 00:00:15.025000000 Successfully opened the file. Parsing a group of options : output url output.webm. Applying option to (record or transcode stop time) with argument 00:00:01. Applying option filter:v (set stream filtergraph) with argument scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease. Applying option c:v (codec name) with argument libvpx-vp9. Successfully parsed a group of options. Opening an output file : output.webm. [file @ 0x55ce67b1e820] Setting default whitelist ’file,crypto’ Successfully opened the file. detected 8 logical cores Stream mapping : Stream #0:0 -> #0:0 (vp9 (native) -> vp9 (libvpx-vp9)) Press [q] to stop, [?] for help cur_dts is invalid (this is harmless if it occurs once at the start per stream) Last message repeated 1 times [matroska,webm @ 0x55ce679f8920] first_dts 5016 not matching first dts 10395 (pts 10395, duration 41) in the queue cur_dts is invalid (this is harmless if it occurs once at the start per stream) Last message repeated 6 times [Parsed_scale_0 @ 0x55ce67a7c520] Setting ’w’ to value ’min(iw,1280)’ [Parsed_scale_0 @ 0x55ce67a7c520] Setting ’h’ to value ’min(ih,720)’ [Parsed_scale_0 @ 0x55ce67a7c520] Setting ’force_original_aspect_ratio’ to value ’decrease’ [Parsed_scale_0 @ 0x55ce67a7c520] Setting ’flags’ to value ’bicubic’ [Parsed_scale_0 @ 0x55ce67a7c520] w:min(iw,1280) h:min(ih,720) flags :’bicubic’ interl:0 [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’video_size’ to value ’1280x720’ [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’pix_fmt’ to value ’0’ [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’time_base’ to value ’1/1000’ [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’pixel_aspect’ to value ’1/1’ [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’sws_param’ to value ’flags=2’ [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’frame_rate’ to value ’24000/1001’ [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] w:1280 h:720 pixfmt:yuv420p tb:1/1000 fr:24000/1001 sar:1/1 sws_param:flags=2 [format @ 0x55ce67ad7d60] compat : called with args=[yuv420p|yuva420p|yuv422p|yuv440p|yuv444p|gbrp] [format @ 0x55ce67ad7d60] Setting ’pix_fmts’ to value ’yuv420p|yuva420p|yuv422p|yuv440p|yuv444p|gbrp’ [AVFilterGraph @ 0x55ce67aec740] query_formats : 6 queried, 5 merged, 0 already done, 0 delayed [Parsed_scale_0 @ 0x55ce67a7c520] w:1280 h:720 fmt:yuv420p sar:1/1 -> w:1280 h:720 fmt:yuv420p sar:1/1 flags:0x4 [libvpx-vp9 @ 0x55ce67b32200] v1.7.0 [libvpx-vp9 @ 0x55ce67b32200] —prefix=/usr —enable-pic —enable-shared —disable-install-bins —disable-install-srcs —size-limit=16384x16384 —enable-postproc —enable-multi-res-encoding —enable-temporal-denoising —enable-vp9-temporal-denoising —enable-vp9-postproc —target=x86_64-linux-gcc [libvpx-vp9 @ 0x55ce67b32200] vpx_codec_enc_cfg [libvpx-vp9 @ 0x55ce67b32200] generic settings g_usage : 0 g_threads : 8 g_profile : 0 g_w : 320 g_h : 240 g_bit_depth : 8 g_input_bit_depth : 8 g_timebase : 1/30 g_error_resilient : 0 g_pass : 0 g_lag_in_frames : 25 [libvpx-vp9 @ 0x55ce67b32200] rate control settings rc_dropframe_thresh : 0 rc_resize_allowed : 0 rc_resize_up_thresh : 60 rc_resize_down_thresh : 30 rc_end_usage : 0 rc_twopass_stats_in : (nil)(0) rc_target_bitrate : 256 [libvpx-vp9 @ 0x55ce67b32200] quantizer settings rc_min_quantizer : 0 rc_max_quantizer : 63 [libvpx-vp9 @ 0x55ce67b32200] bitrate tolerance rc_undershoot_pct : 25 rc_overshoot_pct : 25 [libvpx-vp9 @ 0x55ce67b32200] decoder buffer model rc_buf_sz : 6000 rc_buf_initial_sz : 4000 rc_buf_optimal_sz : 5000 [libvpx-vp9 @ 0x55ce67b32200] 2 pass rate control settings rc_2pass_vbr_bias_pct : 50 rc_2pass_vbr_minsection_pct : 0 rc_2pass_vbr_maxsection_pct : 2000 [libvpx-vp9 @ 0x55ce67b32200] keyframing settings kf_mode : 1 kf_min_dist : 0 kf_max_dist : 128 [libvpx-vp9 @ 0x55ce67b32200] [libvpx-vp9 @ 0x55ce67b32200] vpx_codec_enc_cfg [libvpx-vp9 @ 0x55ce67b32200] generic settings g_usage : 0 g_threads : 0 g_profile : 0 g_w : 1280 g_h : 720 g_bit_depth : 8 g_input_bit_depth : 8 g_timebase : 1001/24000 g_error_resilient : 0 g_pass : 0 g_lag_in_frames : 25 [libvpx-vp9 @ 0x55ce67b32200] rate control settings rc_dropframe_thresh : 0 rc_resize_allowed : 0 rc_resize_up_thresh : 60 rc_resize_down_thresh : 30 rc_end_usage : 0 rc_twopass_stats_in : (nil)(0) rc_target_bitrate : 200 [libvpx-vp9 @ 0x55ce67b32200] quantizer settings rc_min_quantizer : 0 rc_max_quantizer : 63 [libvpx-vp9 @ 0x55ce67b32200] bitrate tolerance rc_undershoot_pct : 25 rc_overshoot_pct : 25 [libvpx-vp9 @ 0x55ce67b32200] decoder buffer model rc_buf_sz : 6000 rc_buf_initial_sz : 4000 rc_buf_optimal_sz : 5000 [libvpx-vp9 @ 0x55ce67b32200] 2 pass rate control settings rc_2pass_vbr_bias_pct : 50 rc_2pass_vbr_minsection_pct : 0 rc_2pass_vbr_maxsection_pct : 2000 [libvpx-vp9 @ 0x55ce67b32200] keyframing settings kf_mode : 1 kf_min_dist : 0 kf_max_dist : 128 [libvpx-vp9 @ 0x55ce67b32200] [libvpx-vp9 @ 0x55ce67b32200] vpx_codec_control [libvpx-vp9 @ 0x55ce67b32200] VP8E_SET_CPUUSED : 1 [libvpx-vp9 @ 0x55ce67b32200] VP8E_SET_ARNR_MAXFRAMES : 0 [libvpx-vp9 @ 0x55ce67b32200] VP8E_SET_ARNR_STRENGTH : 3 [libvpx-vp9 @ 0x55ce67b32200] VP8E_SET_ARNR_TYPE : 3 [libvpx-vp9 @ 0x55ce67b32200] VP8E_SET_STATIC_THRESHOLD : 0 [libvpx-vp9 @ 0x55ce67b32200] VP9E_SET_COLOR_SPACE : 0 [libvpx-vp9 @ 0x55ce67b32200] VP9E_SET_COLOR_RANGE : 0 [libvpx-vp9 @ 0x55ce67b32200] VP9E_SET_TARGET_LEVEL : 255 [libvpx-vp9 @ 0x55ce67b32200] Using deadline : 1000000 Output #0, webm, to ’output.webm’ : Metadata : encoder : Lavf57.83.100 Stream #0:0(eng), 0, 1/1000 : Video : vp9 (libvpx-vp9), 1 reference frame, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 0/1, q=-1—1, 200 kb/s, 23.98 fps, 1k tbn, 23.98 tbc (default) Metadata : DURATION : 00:00:15.025000000 encoder : Lavc57.107.100 libvpx-vp9 Side data : cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay : -1 cur_dts is invalid (this is harmless if it occurs once at the start per stream) Last message repeated 120 times [out_0_0 @ 0x55ce67ac35a0] EOF on sink link out_0_0:default. No more output streams to write to, finishing. [webm @ 0x55ce67b2e2a0] get_metadata_duration returned : 15025000 [webm @ 0x55ce67b2e2a0] Write early duration from recording time = 1000 [webm @ 0x55ce67b2e2a0] end duration = 0 [webm @ 0x55ce67b2e2a0] stream 0 end duration = 0 frame= 0 fps=0.0 q=0.0 Lsize= 1kB time=00:00:00.00 bitrate=N/A speed= 0x video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead : unknown Input file #0 (test.webm) : Input stream #0:0 (video) : 120 packets read (1031599 bytes) ; 112 frames decoded ; Total : 120 packets (1031599 bytes) demuxed Output file #0 (output.webm) : Output stream #0:0 (video) : 0 frames encoded ; 0 packets muxed (0 bytes) ; Total : 0 packets (0 bytes) muxed Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) 112 frames successfully decoded, 0 decoding errors [AVIOContext @ 0x55ce67b2e9a0] Statistics : 13 seeks, 9 writeouts [AVIOContext @ 0x55ce67a01660] Statistics : 2137508 bytes read, 4 seeks
-
using uploaded filename for ffmpeg input in php script
12 mars 2015, par MarkjoseI am looking for a solution to pull the filename recently uploaded and into this ffmpeg syntax
shell_exec("ffmpeg -re -i ( Uploaded filename) -vcodec copy -acodec copy -f mpegts udp://239.1.1.1:5000");
The above syntax works fine if I replace "(uploaded filename)" with a .ts video file.
I have had a look around but there is nothing which fits this description.my upload.php script
if(isset($_FILES['uploadedfile']) && !empty($_FILES['uploadedfile'])){
$target_path = "upload/";
$target = $target_path . basename($_FILES['uploadedfile']['name']);
}
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'] , $target))
{
$_SESSION['upload_success'] = "File successfully uploaded.";
shell_exec("ffmpeg -re -i /var/www/html/upload/x265manual.ts -vcodec copy -acodec copy -f mpegts udp://239.1.1.1:5000");This works fine for playing back x265manual.ts after file upload, but i would like the system to obtain the file name from the uploaded filename.
Is this possible ?
Would it be easier for me to create a new php file for the ffmpeg syntax ?Thanks
Mark
-
PHP unable to move uploaded file
11 mars 2015, par MarkjoseI have been trying to create an upload.php script however the condition doesn’t seem to work and PHP can not move the uploaded file to the folder upload.
Apache2 log output below
PHP Warning: move_uploaded_file(): The second argument to copy() function cannot be a directory in /var/www/html/upload.php on line 18, referer: http://192.168.0.110/stream.php
PHP Warning: move_uploaded_file(): Unable to move '/tmp/phpC34Agu' to '/var/www/html/upload/' in /var/www/html/upload.php on line 18, referer: http://192.168.0.110/stream.phpUpload.php code
<?php
$target_path = "/var/www/html/upload/";
$target = $target_path . basename($_FILES['uploadedfile']['name'][0] );
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'] [0], $target_path))
{
echo "The file ". basename( $_FILES['uploadefile']['name'] [0]). " has been uploaded";
}
else {
echo "Sorry, there was a problem uploading your file.";
}
?>I would also like php to execute this ffmpeg command directly afterwards, but i’m unsure where to insert it.
FFMPEG command
ffmpeg -re -i uploadedfile.name -vcodec copy -f mpegts udp://239.1.1.1:5000
Thanks for all your help.
Kind Regards,
Mark Couto