
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (52)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Soumettre améliorations et plugins supplémentaires
10 avril 2011Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)
Sur d’autres sites (7784)
-
FFmpeg overlay PNG has not necessary black borders
24 mars 2021, par Mikołaj HenklewskiI have a few PNG files that I want to add to the video :


- 

- Two lines text
- Circle
- Red letters
- White letters










but on the final video, some of them have black borders (they do not have it originally !) Actual Result.. The question is why FFmpeg is adding it, and how to avoid adding it ? Command is :


ffmpeg -i 3d9678e2e58c4d08a24363468d0cfd3e.mp4 -i caption-1616544596077.png -i caption-1616544596080.png -i caption-1616544597262.png -i caption-1616544598027.png -filter_complex "[1:v]format=rgba,colorchannelmixer=aa=1[1_alpha];
[1_alpha]setpts=1.0*PTS[1_alpha_speed]; [1_alpha_speed]rotate=6.178465552059927:c=none:ow=rotw(6.178465552059927):oh=roth(6.178465552059927)[1_alpha_speed_rot];
[1_alpha_speed_rot]scale=iw/2:ih/2[1_alpha_speed_rot_scale];
[0:v][1_alpha_speed_rot_scale]overlay=x=288:y=50:enable='between(t,0,3.2)':format=rgb[1_out];
[2:v]format=rgba,colorchannelmixer=aa=1[2_alpha];
[2_alpha]setpts=1.0*PTS[2_alpha_speed];
[2_alpha_speed]rotate=0.0:c=none:ow=rotw(0.0):oh=roth(0.0)[2_alpha_speed_rot];
[2_alpha_speed_rot]scale=iw/2:ih/2[2_alpha_speed_rot_scale];
[1_out][2_alpha_speed_rot_scale]overlay=x=589:y=71:enable='between(t,0,3.2)':format=rgb[2_out];
[3:v]format=rgba,colorchannelmixer=aa=1[3_alpha];
[3_alpha]setpts=1.0*PTS[3_alpha_speed]; [3_alpha_speed]rotate=6.178465552059927:c=none:ow=rotw(6.178465552059927):oh=roth(6.178465552059927)[3_alpha_speed_rot];
[3_alpha_speed_rot]scale=iw/2:ih/2[3_alpha_speed_rot_scale];
[2_out][3_alpha_speed_rot_scale]overlay=x=409:y=104:enable='between(t,0,3.2)':format=rgb[3_out];
[4:v]format=rgba,colorchannelmixer=aa=1[4_alpha];
[4_alpha]setpts=1.0*PTS[4_alpha_speed];
[4_alpha_speed]rotate=0.0:c=none:ow=rotw(0.0):oh=roth(0.0)[4_alpha_speed_rot];
[4_alpha_speed_rot]scale=iw/2:ih/2[4_alpha_speed_rot_scale];
[3_out][4_alpha_speed_rot_scale]overlay=x=593:y=337:enable='between(t,0,3.2)':format=rgb" -preset ultrafast -crf 23 d4d85756d7b54735b95720f9280bf6e2.mp4



Here is also log from ffmpeg :


ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
 built with Apple clang version 12.0.0 (clang-1200.0.32.29)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.2_1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --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-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '3d9678e2e58c4d08a24363468d0cfd3e.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.77.100
 Duration: 00:00:03.72, start: 0.000000, bitrate: 2333 kb/s
 Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2331 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
 Metadata:
 handler_name : VideoHandler
Input #1, png_pipe, from 'caption-1616544596077.png':
 Duration: N/A, bitrate: N/A
 Stream #1:0: Video: png, rgba(pc), 1382x884, 25 tbr, 25 tbn, 25 tbc
Input #2, png_pipe, from 'caption-1616544596080.png':
 Duration: N/A, bitrate: N/A
 Stream #2:0: Video: png, rgba(pc), 612x612, 25 tbr, 25 tbn, 25 tbc
Input #3, png_pipe, from 'caption-1616544597262.png':
 Duration: N/A, bitrate: N/A
 Stream #3:0: Video: png, rgba(pc), 720x266, 25 tbr, 25 tbn, 25 tbc
Input #4, png_pipe, from 'caption-1616544598027.png':
 Duration: N/A, bitrate: N/A
 Stream #4:0: Video: png, rgba(pc), 304x170, 25 tbr, 25 tbn, 25 tbc
File 'd4d85756d7b54735b95720f9280bf6e2.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:0 (h264) -> overlay:main
 Stream #1:0 (png) -> format
 Stream #2:0 (png) -> format
 Stream #3:0 (png) -> format
 Stream #4:0 (png) -> format
 overlay -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[libx264 @ 0x7fb2c7015a00] using SAR=1/1
[libx264 @ 0x7fb2c7015a00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7fb2c7015a00] profile High 4:4:4 Predictive, level 3.1, 4:4:4, 8-bit
[libx264 @ 0x7fb2c7015a00] 264 - core 161 r3048 b86ae3c - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=6 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, mp4, to 'd4d85756d7b54735b95720f9280bf6e2.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.45.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv444p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
 Metadata:
 encoder : Lavc58.91.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 17 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 93 fps=0.0 q=-1.0 Lsize= 972kB time=00:00:03.68 bitrate=2164.1kbits/s speed=4.01x
video:971kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.121794%
[libx264 @ 0x7fb2c7015a00] frame I:1 Avg QP:20.00 size: 90127
[libx264 @ 0x7fb2c7015a00] frame P:92 Avg QP:18.23 size: 9821
[libx264 @ 0x7fb2c7015a00] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x7fb2c7015a00] mb P I16..4: 1.7% 0.0% 0.0% P16..4: 19.9% 0.0% 0.0% 0.0% 0.0% skip:78.4%
[libx264 @ 0x7fb2c7015a00] coded y,u,v intra: 33.9% 3.1% 5.2% inter: 8.6% 0.9% 0.8%
[libx264 @ 0x7fb2c7015a00] i16 v,h,dc,p: 29% 34% 19% 18%
[libx264 @ 0x7fb2c7015a00] kb/s:2136.99



-
Algorithm when recording SegmentTimeline
24 mars 2021, par jgkim0518I packaged a media stream by mpeg-dash transcoded video at twice the speed and audio at normal speed.
Here is the command :


ffmpeg -re -stream_loop -1 -i timing_logic.mp4 -c:v hevc_nvenc -filter:v "setpts=2*PTS" -c:a libfdk_aac -map 0:v -map 0:a -f mpegts udp://xxx.xxx.xxx.xxx:xxxx?pkt_size=1316



The source information used here is as follows :


Input #0, mpegts, from '/home/test/timing_logic/timing_logic.mp4':
Duration: 00:00:30.22, start: 1.400000, bitrate: 16171 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: hevc (Main 10) (HEVC / 0x43564548), yuv420p10le(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 128 kb/s Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> hevc (hevc_nvenc))
Stream #0:1 -> #0:1 (mp2 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A
frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A
Output #0, mpegts, to 'udp://xxx.xxx.xxx.xxx:xxxx?pkt_size=1316':
Metadata:
encoder : Lavf58.45.100
Stream #0:0: Video: hevc (hevc_nvenc) (Main 10), p010le, 3840x2160 [SAR 1:1 DAR 16:9], q=-1--1, 2000 kb/s, 50 fps, 90k tbn, 50 tbc
Metadata:
encoder : Lavc58.91.100 hevc_nvenc
Side data:
cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 4000000 vbv_delay: N/A
Stream #0:1(eng): Audio: aac (libfdk_aac), 48000 Hz, stereo, s16, 139 kb/s
Metadata:
encoder : Lavc58.91.100 libfdk_aac



My shaka packager command is :


packager \ 'in=udp://xxx.xxx.xxx.xxx:xxxx,stream=video,init_segment=/home/test/timing_logic/package/video/0/video.mp4,segment_template=/home/test/timing_logic/package/video/0/$Time$.m4s' \
'in=udp://xxx.xxx.xxx.xxx:xxxx,stream=audio,init_segment=/home/test/timing_logic/package/audio/0/audio.mp4,segment_template=/home/test/timing_logic/package/audio/0/$Time$.m4a' \
--segment_duration 5 --fragment_duration 5 --minimum_update_period 5 --min_buffer_time 5 \
--preserved_segments_outside_live_window 24 --time_shift_buffer_depth 40 \
--allow_codec_switching --allow_approximate_segment_timeline --log_file_generation_deletion \
--mpd_output $OUTPUT/$output_mpd.mpd &



Looking at the mpd generated as a result of packaging, the duration of the audio is twice that of the video, and the number of segments is half.
The following is the content of mpd :


<?xml version="1.0" encoding="UTF-8"?>

<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" minbuffertime="PT5S" type="dynamic" publishtime="2021-03-23T10:01:57Z" availabilitystarttime="2021-03-23T09:59:55Z" minimumupdateperiod="PT5S" timeshiftbufferdepth="PT40S">
<period start="PT0S">
<adaptationset contenttype="audio" segmentalignment="true">
<representation bandwidth="140020" codecs="mp4a.40.2" mimetype="audio/mp4" audiosamplingrate="48000">
<audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>
<segmenttemplate timescale="90000" initialization="/home/test/timing_logic/package/audio/0/audio.mp4" media="/home/test/timing_logic/package/audio/0/$Time$.m4a" startnumber="16">
<segmenttimeline>
<s t="6751436" d="449280"></s>
<s t="7200716" d="451200"></s>
<s t="7651916" d="449280"></s>
<s t="8101196" d="374400"></s>
<s t="8551196" d="449280"></s>
<s t="9000476" d="451200"></s>
<s t="9451674" d="449280"></s>
<s t="9900956" d="449280"></s>
<s t="10350236" d="451200"></s>
<s t="10801434" d="374400"></s>
</segmenttimeline>
</segmenttemplate>
</representation>
</adaptationset>
<adaptationset contenttype="video" width="3840" height="2160" framerate="90000/3600" segmentalignment="true" par="16:9">
<representation bandwidth="1520392" codecs="hvc1.2.4.L153" mimetype="video/mp4" sar="1:1">
<segmenttemplate timescale="90000" initialization="/home/test/timing_logic/package/video/0/video.mp4" media="/home/test/timing_logic/package/video/0/$Time$.m4s" startnumber="19">
<segmenttimeline>
<s t="16954440" d="900000" r="4"></s>
</segmenttimeline>
</segmenttemplate>
</representation>
</adaptationset>
</period>
</mpd>



When looking at the MPD, it seems that the shaka packager checks the PTS or DTS of the TS when creating a segment and recording the contents of the SegmentTimeline.
But I couldn't understand even by looking at the MPEG standard documentation and the DASH-IF documentation.


My question is whether the packager refers to PTS or DTS when creating a segment.
How are SegmentTimeline's S@t and S@d recorded ?
What algorithm is the SegmentTimeline recorded with ? Please help me. Thank you.


-
Could not convert video to audio using ffmpeg or moviepy
5 avril 2021, par Parv JainI want to convert a mp4 video file to mp3/wav audio using python ffmpeg or moviepy.
when I run this command


ffmpeg -i vid.mp4 -ar 44100 -vn audio.wav



It returns


Output file #0 does not contain any stream



Here is the full Log


ffmpeg version N-55702-g920046a Copyright (c) 2000-2013 the FFmpeg developers
 built on Aug 21 2013 18:10:00 with gcc 4.7.3 (GCC)
 configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
 libavutil 52. 42.100 / 52. 42.100
 libavcodec 55. 29.100 / 55. 29.100
 libavformat 55. 14.101 / 55. 14.101
 libavdevice 55. 3.100 / 55. 3.100
 libavfilter 3. 82.100 / 3. 82.100
 libswscale 2. 5.100 / 2. 5.100
 libswresample 0. 17.103 / 0. 17.103
 libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vid.mp4':
 Metadata:
 major_brand : dash
 minor_version : 0
 compatible_brands: iso6avc1mp41
 creation_time : 2021-03-12 14:13:58
 Duration: 00:07:28.87, start: 0.000000, bitrate: 1199 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 1197 kb/s, 23.98 tbr, 24k tbn, 47.95 tbc
 Metadata:
 creation_time : 2021-03-12 14:13:58
 handler_name : ISO Media file produced by Google Inc.
Output #0, wav, to 'audio.wav':
 Metadata:
 major_brand : dash
 minor_version : 0
 compatible_brands: iso6avc1mp41
Output file #0 does not contain any stream



I searched the internet for this but could not find a solution


Please tell if there is a way to do this with ffmpeg or another way


I also tried to use moviepy but it was not successful.


Here is moviepy log


Traceback (most recent call last):
 File "path\to\file\script.py", line 3, in <module>
 clip.audio.write_audiofile(r'audio.mp3')
AttributeError: 'NoneType' object has no attribute 'write_audiofile'
</module>


this is my code for moviepy


import moviepy.editor as mp
clip = mp.VideoFileClip('vid.mp4')
clip.audio.write_audiofile(r'audio.mp3')