
Recherche avancée
Autres articles (38)
-
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 (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)
Sur d’autres sites (5483)
-
FFMPEG concat demuxer - how to make file formats compatible ?
10 avril 2015, par user206481I need to automate mp4 concatenation server-side and I’m using FFMPEG. I will get uploads of mp4 files and I want to attach a Title.mp4 and End.mp4 to each one. I am also overlaying a soundtrack (the input videos do not have sound) There is a potential high server load so I’d like to do it as efficiently as possible using ffmpeg’s concat demuxer to avoid re-encoding the video.
After receiving samples of each file, I am not successful and I believe it is due to mismatched file formats. My result has good Title.mp4 and audio, then when the sample uploaded mp4 is supposed to play there is garbled green/pink/red pixels on the top half of the video, then the End.mp4 plays fine. Here is my ffmpeg command and output :
$ ffmpeg -f concat -i <(printf "file '%s'\n" Title.mp4 Sample.mp4 End.mp4) -i SoundTrack.wav -c:v copy -strict -2 -y Out.mp4
ffmpeg version 2.6.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-55)
configuration: --prefix=/home/dpmsmobi/ffmpeg_build --extra-cflags=-I/home/dpmsmobi/ffmpeg_build/include --extra-ldflags=-L/home/dpmsmobi/ffmpeg_build/lib --bindir=/home/dpmsmobi/bin --enable-gpl --enable-nonfree --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libx264
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, concat, from '/dev/fd/63':
Duration: N/A, start: 0.000000, bitrate: 1810 kb/s
Stream #0:0: Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 768x512 [SAR 1:1 DAR 3:2], 1810 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, wav, from 'SoundTrack.wav':
Metadata:
encoded_by : Adobe Premiere Pro CC 2014 (Maci
encoder : Adobe Premiere Pro CC 2014 (Macintosh)
date : 2015-04-07
creation_time : 11:12:10
time_reference : 0
Duration: 00:00:15.06, bitrate: 1551 kb/s
Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mp4, to 'Out.mp4':
Metadata:
encoder : Lavf56.25.101
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 768x512 [SAR 1:1 DAR 3:2], q=2-31, 1810 kb/s, 30 fps, 30 tbr, 30k tbn, 30k tbc
Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc56.26.100 aac
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[concat @ 0x1dedc20] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
[concat @ 0x1dedc20] DTS 69750 < 91000 out of order
[mp4 @ 0x1f75060] Non-monotonous DTS in output stream 0:0; previous: 91000, current: 69750; changing to 91001. This may result in incorrect timestamps in the output file.
<----- many more Non-monotonous DTS messages omitted here ---->
frame= 427 fps=0.0 q=-1.0 Lsize= 4123kB time=00:00:15.06 bitrate=2242.5kbits/s
video:3873kB audio:236kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.344173%I can successfully concatenate the Title.mp4 to the End.mp4, and I can successfully concatenate two Sample.mp4 files, so I know I’ve got the ffmpeg command right. I can also successfully concat the files using the following ffmpeg command with filter_complex instead of concat demuxer (this takes considerably longer due to re-encoding) :
ffmpeg -i Title.mp4 -i Sample.mp4 -i End.mp4 -i SoundTrack.wav -filter_complex '[0:0] [1:0] [2:0] concat=n=3:v=1 [v]' -map '[v]' -map 3:0 -crf 20 -strict -2 -y Out2.mp4
Here is the MediaInfo output for each type of mp4 file :
$ mediainfo Title.mp4
General
Complete name : Title.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 693 KiB
Duration : 3s 100ms
Overall bit rate mode : Variable
Overall bit rate : 1 831 Kbps
Encoded date : UTC 2015-04-07 19:15:03
Tagged date : UTC 2015-04-07 19:15:03
©TIM : 00:00:00:00
©TSC : 30
©TSZ : 1
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3s 100ms
Bit rate mode : Variable
Bit rate : 1 811 Kbps
Maximum bit rate : 3 000 Kbps
Width : 768 pixels
Height : 512 pixels
Display aspect ratio : 3:2
Frame rate mode : Constant
Frame rate : 30.000 fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.154
Stream size : 685 KiB (99%)
Language : English
Encoded date : UTC 2015-04-07 19:15:03
Tagged date : UTC 2015-04-07 19:15:03
Color range : Limited
$ mediainfo Sample.mp4
General
Complete name : Sample.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 2.93 MiB
Duration : 7s 9ms
Overall bit rate : 3 505 Kbps
Encoded date : UTC 1970-01-01 00:00:00
Tagged date : UTC 1970-01-01 00:00:00
Writing application : Lavf52.64.2
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L3.1
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=30
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 7s 9ms
Bit rate : 3 500 Kbps
Width : 768 pixels
Height : 512 pixels
Display aspect ratio : 3:2
Frame rate mode : Variable
Frame rate : 30.250 fps
Minimum frame rate : 23.462 fps
Maximum frame rate : 296.053 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.294
Stream size : 2.92 MiB (100%)
Language : English
Encoded date : UTC 1970-01-01 00:00:00
Tagged date : UTC 1970-01-01 00:00:00I’m pretty sure it’s the mp42 vs isom Codec ID’s, and potentially the constant vs variable frame rates. I can’t change the input mp4’s but I know their format will stay the same. How can I reformat the Title and End mp4’s to match the input mp4 files so I can use ffmpeg concat demux ?
-
Progressive or Interlaced misinterpreted when transcoding to DNxHD mxf with ffmpeg
19 avril 2015, par OlleHi, don’t know if i am doing it wrong or is there a bug.
Trying to transcode 1080i Video from Quicktime Animation interlaced upper field with a stereo audio to MXF, DNxHD with discreet mono audio channels and video interlaced.
DNxHD = VC-3 op1a 120M.Everything works as a charm except for the end result is being tagged as Progressive ! I can see, when i look at the video, that it is interlaced and good looking, so everything is in order.
But the MXF file is identifying it self as a Progressive video, so our asset management system treat it as a progressive file 1080p and so does the Avid Mediacomposers.
I can’t se the problem with ffprobe but i can in MediaInfo v0.7.69
Se below.Command that i run :
./ffmpeg -i OLLETEST_MANSZELM_ANIMATION.mov -timecode 10:00:00:00 -threads 16 -map 0:0 -map 0:1 -map 0:1 -map_channel 0.1.0:0.1 -map_channel 0.1.1:0.2 -vcodec dnxhd -b:v 120M -acodec pcm_s24le -ar 48000 -flags +ildct -y test.mxf
The transcoded file run with media info reports this strange result.
Scan type : Progressive
Original scan type : Interlaced
Original scan order : Top Field Firstseems as
-flags +ildct
don’t affect Scan type :The output from ffmpeg :
Olles-MacBook-Pro-2:NoBackUp olso$ ./ffmpeg -i OLLETEST_MANSZELM_ANIMATION.mov -timecode 00:10:00:00 -threads 16 -map 0:0 -map 0:1 -map 0:1 -map_channel 0.1.0:0.1 -map_channel 0.1.1:0.2 -vcodec dnxhd -b:v 120M -acodec pcm_s24le -ar 48000 -flags +ildct -y test.mxf
ffmpeg version 2.6.2-tessus Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
configuration: --cc=/usr/bin/clang --prefix=/Users/helmutt/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-libsoxr --enable-libwavpack --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-libmodplug --enable-fontconfig --enable-libfreetype --enable-libass --enable-libbluray --enable-filters --disable-indev=qtkit --disable-indev=x11grab_xcb --enable-runtime-cpudetect
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'OLLETEST_MANSZELM_ANIMATION.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2015-04-14 20:40:41
Duration: 00:00:11.04, start: 0.000000, bitrate: 1141927 kb/s
Stream #0:0(eng): Video: qtrle (rle / 0x20656C72), rgb24, 1920x1080, 1140363 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc (default)
Metadata:
creation_time : 2015-04-14 20:40:41
handler_name : Apple Alias Data Handler
encoder : Animation
timecode : 00:00:00:00
Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
Metadata:
creation_time : 2015-04-14 20:40:41
handler_name : Apple Alias Data Handler
timecode : 00:00:00:00
Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
Metadata:
creation_time : 2015-04-14 20:41:01
handler_name : Apple Alias Data Handler
timecode : 00:00:00:00
-map_channel is forwarded to lavfi similarly to -af pan=0x4:c0=c0.
[pan @ 0x7f9db1e02600] This syntax is deprecated. Use '|' to separate the list items.
[pan @ 0x7f9db1e02600] Pure channel mapping detected: 0
-map_channel is forwarded to lavfi similarly to -af pan=0x4:c0=c1.
[pan @ 0x7f9db1d241e0] This syntax is deprecated. Use '|' to separate the list items.
[pan @ 0x7f9db1d241e0] Pure channel mapping detected: 1
Output #0, mxf, to 'test.mxf':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
timecode : 00:10:00:00
encoder : Lavf56.25.101
Stream #0:0(eng): Video: dnxhd, yuv422p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-1024, 120000 kb/s, 25 fps, 25 tbn, 25 tbc (default)
Metadata:
creation_time : 2015-04-14 20:40:41
handler_name : Apple Alias Data Handler
timecode : 00:00:00:00
encoder : Lavc56.26.100 dnxhd
Stream #0:1(eng): Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s (default)
Metadata:
creation_time : 2015-04-14 20:40:41
handler_name : Apple Alias Data Handler
timecode : 00:00:00:00
encoder : Lavc56.26.100 pcm_s24le
Stream #0:2(eng): Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s (default)
Metadata:
creation_time : 2015-04-14 20:40:41
handler_name : Apple Alias Data Handler
timecode : 00:00:00:00
encoder : Lavc56.26.100 pcm_s24le
Stream mapping:
Stream #0:0 -> #0:0 (qtrle (native) -> dnxhd (native))
Stream #0:1 -> #0:1 (pcm_s16le (native) -> pcm_s24le (native))
Stream #0:1 -> #0:2 (pcm_s16le (native) -> pcm_s24le (native))
Press [q] to stop, [?] for help
[mxf @ 0x7f9db2806c00] -d10_channelcount requires MXF D-10 and will be ignored/s
Last message repeated 1 times
frame= 276 fps= 26 q=1.0 Lsize= 166981kB time=00:00:11.20 bitrate=122134.7kbits/s
video:163392kB audio:3150kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.263624%Complete output from mediainfo.
General
Complete name : /NoBackUp/test.mxf
Format : MXF
Format profile : OP-1a
Format settings : Closed / Complete
File size : 163 MiB
Duration : 11s 40ms
Overall bit rate : 124 Mbps
Encoded date : 0-00-00 00:00:00.000
Writing application : FFmpeg OP1a Muxer 56.25.101
Writing library : FFmpeg OP1a Muxer 56.25.101
Video
ID : 2
Format : VC-3
Format_Settings_Wrapping : Frame
Codec ID : 0D01030102110100-0401020271080000
Duration : 11s 40ms
Bit rate mode : Constant
Bit rate : 121 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:2
Bit depth : 8 bits
Scan type : Progressive
Original scan type : Interlaced
Original scan order : Top Field First
Bits/(Pixel*Frame) : 2.339
Stream size : 160 MiB (98%)
Audio #1
ID : 3
Format : PCM
Format settings, Endianness : Little
Format_Settings_Wrapping : Frame (AES)
Codec ID : 0D01030102060300
Duration : 11s 40ms
Bit rate mode : Constant
Bit rate : 1 152 Kbps
Channel(s) : 1 channel
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Stream size : 1.52 MiB (1%)
Audio #2
ID : 4
Format : PCM
Format settings, Endianness : Little
Format_Settings_Wrapping : Frame (AES)
Codec ID : 0D01030102060300
Duration : 11s 40ms
Bit rate mode : Constant
Bit rate : 1 152 Kbps
Channel(s) : 1 channel
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Stream size : 1.52 MiB (1%)
Other #1
ID : 1
Type : Time code
Format : MXF TC
Time code of first frame : 00:10:00:00
Time code settings : Striped
Other #2
Type : Time code
Format : SMPTE TC
Muxing mode : SDTI
Time code of first frame : 00:10:00:00 -
stream video with live streaming http using FFmpeg
19 avril 2015, par ranshIs it possible to stream encoded video with http live stream without going through the muxing stage ?
For example can I use http stream with jp2 encoded format (jpeg 2000) without wrapping it first with any muxer ? if not - what can be done instead ?Thank you,
Ran