
Recherche avancée
Médias (91)
-
Head down (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Echoplex (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Discipline (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Letting you (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
1 000 000 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
999 999 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (74)
-
(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 (...) -
Soumettre bugs et patchs
10 avril 2011Un logiciel n’est malheureusement jamais parfait...
Si vous pensez avoir mis la main sur un bug, reportez le dans notre système de tickets en prenant bien soin de nous remonter certaines informations pertinentes : le type de navigateur et sa version exacte avec lequel vous avez l’anomalie ; une explication la plus précise possible du problème rencontré ; si possibles les étapes pour reproduire le problème ; un lien vers le site / la page en question ;
Si vous pensez avoir résolu vous même le bug (...) -
Installation en mode standalone
4 février 2011, parL’installation de la distribution MediaSPIP se fait en plusieurs étapes : la récupération des fichiers nécessaires. À ce moment là deux méthodes sont possibles : en installant l’archive ZIP contenant l’ensemble de la distribution ; via SVN en récupérant les sources de chaque modules séparément ; la préconfiguration ; l’installation définitive ;
[mediaspip_zip]Installation de l’archive ZIP de MediaSPIP
Ce mode d’installation est la méthode la plus simple afin d’installer l’ensemble de la distribution (...)
Sur d’autres sites (8228)
-
How to write HEVC frames to file using FFMpeg ?
2 mai 2018, par boneillI have the following code used to output H264 frames to an mp4 file and this works fine :
typedef struct _AvFileStreamContext
{
AVStream *pStreams[AV_FRAME_MAX];
AVCodecContext *streamCodec;
AVFormatContext *pAvContext; // initialised with avformat_alloc_output_context2 for mp4 container
}_AvFileStreamContext;
static void WriteImageFrameToFile(const unsigned char * frame,
const int frameSize,
const struct timeval *frameTime,
AvFileStreamContext *pContext,
int keyFrame)
{
AVStream *stream pContext->pStreams[AV_FRAME_VIDEO];
AVPacket pkt;
av_init_packet(&pkt);
if (keyFrame)
{
pkt.flags |= AV_PKT_FLAG_KEY;
}
pkt.stream_index = stream->index;
pkt.data = (unsigned char*)frame;
pkt.size = frameSize;
int ptsValue = round((float)( ( (frameTime->tv_sec - pContext->firstFrameTime.tv_sec ) * 1000000 +
(frameTime->tv_usec - pContext->firstFrameTime.tv_usec)) * pContext->streamCodec->time_base.den ) / 1000000);
// Packets PTS/DTS must be in Stream time-base units before writing so
// rescaling between coder and stream time bases is required.
pkt.pts = av_rescale_q(ptsValue, pContext->streamCodec->time_base, stream->time_base);
pkt.dts = av_rescale_q(ptsValue, pContext->streamCodec->time_base, stream->time_base);
av_interleaved_write_frame(pContext->pAvContext, &pkt);
}Once all frames have been received I call the following :
av_write_trailer(pContext->pAvContext);
avio_close(pContext->pAvContext->pb);The above function is supplied from a circular buffer of frames where each entry in the buffer represents a frame for H264. I am trying to understand how I can adapt this to handle H265/HEVC frames. When I blindly try and use this for H265 frames I end up with an mp4 file where each frame only contains a third of a complete frame i.e.
The video continues to play for the correct duration but each frame is only a third of a complete frame. The implementation for receiving frames is the same as H264 and it is my understanding that with H265 each of the buffers I am receiving represents a ’tile’. In my case these are tile columns of which 3 tiles make up one frame. That said, it would seem that the above function would need to be adapted to combine 3 tiles until an end of frame marker is received. I have trawled the FFMpeg v3.3 documentation to find out how I can achieve this but have had limited luck.
I have tried to use the following function call to combine frames :uint8_t * outputBuffer;
unsigned int bufferSize;
stream->parser = av_parser_init (AV_CODEC_ID_HEVC);
int rc = av_parser_parse2(stream->parser, pContext->pAvContext,
&outputBuffer, &bufferSize,
frame, frameSize,
pkt.pts, pkt.dts, -1);It seems that the above call will ultimately call ;
static int hevc_parse(AVCodecParserContext *s,
AVCodecContext *avctx,
const uint8_t **poutbuf, int *poutbuf_size,
const uint8_t *buf, int buf_size)Followed by :
int ff_combine_frame(ParseContext *pc, int next,
const uint8_t **buf, int *buf_size)So it seems this is the correct path, however when I plug this all in the resulting mp4 file is not playable under gstreamer with the following errors :
Prerolling...
(gst-play-1.0:11225): GStreamer-WARNING **: gstpad.c:4943:store_sticky_event: Sticky event misordering, got 'segment' before 'caps'
Redistribute latency...
(gst-play-1.0:11225): GStreamer-WARNING **: gstpad.c:4943:store_sticky_event: Sticky event misordering, got 'segment' before 'caps'And I get the following errors (snippet of errors) from VLC where the frames appear to be correct in terms of height and width but are corrupt or incomplete during playback :
[hevc @ 0x7f8128c30440] PPS changed between slices.
[hevc @ 0x7f8128c42080] PPS changed between slices.
[hevc @ 0x7f8128c53ce0] PPS changed between slices.
[00007f8110293be8] freetype spu text error: Breaking unbreakable line
[hevc @ 0x7f8128c1e0a0] First slice in a frame missing.
[hevc @ 0x7f8128c1e0a0] First slice in a frame missing.
[hevc @ 0x7f8128c1e0a0] Could not find ref with POC 7
[hevc @ 0x7f8128c30440] PPS changed between slices.
[hevc @ 0x7f8128c42080] PPS changed between slices.
[hevc @ 0x7f8128c53ce0] PPS changed between slices.
[hevc @ 0x7f8128c1e0a0] First slice in a frame missing.
[hevc @ 0x7f8128c1e0a0] First slice in a frame missing.
[hevc @ 0x7f8128c1e0a0] Could not find ref with POC 15
[hevc @ 0x7f8128c30440] PPS changed between slices.
[hevc @ 0x7f8128c42080] PPS changed between slices.
[hevc @ 0x7f8128c53ce0] PPS changed between slices.
[hevc @ 0x7f8128c1e0a0] First slice in a frame missing.
[hevc @ 0x7f8128c1e0a0] First slice in a frame missing.
[hevc @ 0x7f8128c1e0a0] Could not find ref with POC 23Here is an example frame from the VLC playback where you can just about see the outline of someone :
It should be noted that when using the call to av_parser_parse2(), a frame is only passed to av_interleaved_write_frame() when outputBuffer is populated which seems to take a number of tiles (greater than 3) so I am possibly not setting something correctly.
- Can I tell FFMpeg that a particular tile is an end of frame ?
- Should I be using some other FFMpeg call to combine H265 tiles ?
- Am I misunderstanding how HEVC operates ? (probably)
- Once combined it the call to av_interleaved_write_frame() still valid ?
- Note that use of libx265 is not possible.
Any help appreciated.
-
Adding C64 SID Music
1er novembre 2012, par Multimedia Mike — GeneralI have been working on adding support for SID files — the music format for the Commodore 64 — to the game music website for awhile. I feel a bit out of my element since I’m not that familiar with the C64. But why should I let that slow me down ? Allow me to go through the steps I have previously outlined in order to make this happen.
I need to know what picture should represent the system in the search results page. The foregoing picture should be fine, but I’m getting way ahead of myself.
Phase 1 is finding adequate player software. The most venerable contender in this arena is libsidplay, or so I first thought. It turns out that there’s libsidplay (originally hosted at Geocities, apparently, and no longer on the net) and also libsidplay2. Both are kind of old (libsidplay2 was last updated in 2004). I tried to compile libsidplay2 and the C++ didn’t agree with current version of g++.
However, a recent effort named libsidplayfp is carrying on the SID emulation tradition. It works rather well, notwithstanding the fact that compiling the entire library has a habit of apparently hanging the Linux VM where I develop this stuff.
Phase 2 is to develop a testbench app around the playback library. With the help of the libsidplayfp library maintainers, I accomplished this. The testbench app consistently requires about 15% of a single core of a fairly powerful Core i7. So I look forward to recommendations that I port that playback library to pure JavaScript.
Phase 3 is plug into the web player. I haven’t worked on this yet. I’m confident that this will work since phase 2 worked (plus, I have a plan to combine phases 2 and 3).
One interesting issue that has arisen is that proper operation of libsidplayfp requires that 3 C64 ROM files be present (the, ahem, KERNAL, BASIC interpreter, and character generator). While these are copyrighted ROMs, they are easily obtainable on the internet. The goal of my project is to eliminate as much friction as possible for enjoying these old tunes. To that end, I will just bake the ROM files directly into the player.
Phase 4 is collecting a SID song corpus. This is the simplest part of the whole process thanks to the remarkable curation efforts of the High Voltage SID Collection (HVSC). Anyone can download a giant archive of every known SID file. So that’s a done deal.
Or is it ? One small issue is that I was hoping that the first iteration of my game music website would focus on, well, game music. There is a lot of music in the HVSC that are original compositions or come from demos. The way that the archive is organized makes it difficult to automatically discern whether a particular SID file comes from a game or not.
Phase 5 is munging the metadata. The good news here is that the files have the metadata built in. The not-so-great news is that there isn’t quite as much as I might like. Each file is tagged with title, author, and publisher/copyright. If there is more than one song in a file, they all have the same metadata. Fortunately, if I can import them all into my game music database, there is an opportunity to add a lot more metadata.
Further, there is no play length metadata for these files. This means I will need to set each to a default length like 2 minutes and do something like I did before in order to automatically determine if any songs terminate sooner.
Oddly, the issue I’m most concerned about is character encoding. This is the first project for which I’m making certain that I understand character encoding since I can’t reasonably get away with assuming that everything is ASCII. So far, based on the random sampling of SID files I have checked, there is a good chance of encountering metadata strings with characters that are not in the lower ASCII set. From what I have observed, these characters map to Unicode code points. So I finally get to learn about manipulating strings in such a way that it preserves the character encoding. At the very least, I need Python to rip the strings out of the binary SID files and make sure the Unicode remains intact while being inserted into an SQLite3 database.
-
Panasonc GH5 4K 10 Bit 25p (cannot allocate memory)
25 novembre 2017, par SebastianI am converting GH5 files with the following script. With my Notebook I get no error and it goes through but at my desktop workstation I get this error. Anybody an idea. I convert 4K 10Bit Panasonic GH5 files to AVID HQX files. No error at the notebook but the desktop pc produces this error message. OS is windows 7 just new installed because of this. Same MeGUI and FFMPEG version and development server.
enter code here
D:\Test>for %f in (*.mov) do "C:\Program Files (x86)\MeGUI\tools\ffmpeg\ffmpeg.e
xe" -i "%~f" -c:a pcm_s16le -c:v dnxhd -profile:v dnxhr_hqx "%~nf_test.mov"
D:\Test>"C:\Program Files (x86)\MeGUI\tools\ffmpeg\ffmpeg.exe" -i "P1011064.MOV"
-c:a pcm_s16le -c:v dnxhd -profile:v dnxhr_hqx "P1011064_test.mov"
ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --e
nable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libblur
ay --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopu
s --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --ena
ble-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-lib
x264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-z
lib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-c
uvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-l
ibmfx
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
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 005a7860] decoding for stream 0 failed
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'P1011064.MOV':
Metadata:
major_brand : qt
minor_version : 537986816
compatible_brands: qt pana
creation_time : 2017-11-19T16:16:23.000000Z
com.panasonic.Semi-Pro.metadata.xml: <?xml version="1.0" encoding="UTF-8" st
andalone="no" ?>
: <clipmain xmlns="urn:schemas-Professional-Plug-in:Semi-Pro:ClipMetadata:v1.0">
: <clipcontent>
: <globalclipid>060A2B340101010501010D2113000000171BA845
E82C2C3470010E90B8D50052</globalclipid>
: <duration>84</duration>
: <editunit>1/25</editunit>
: <essencelist>
: <video>
: <codec bitrate="150">H264_422_LongGOP</codec>
: <activeline>2160</activeline>
: <activepixel>3840</activepixel>
: <bitdepth>10</bitdepth>
: <framerate>25p</framerate>
: <timecodetype>NonDrop</timecodetype>
: <starttimecode>07:12:44:18</starttimecode>
: </video>
: <audio>
: <channel>2</channel>
: <samplingrate>48000</samplingrate>
: <bitspersample>16</bitspersample>
: </audio>
: </essencelist>
: <clipmetadata>
: <rating>0</rating>
: <access>
: <creationdate>2017-11-19T16:16:23+02:00
: <lastupdatedate>2017-11-19T16:16:23+02:00
: </lastupdatedate></creationdate></access>
: <device>
: <manufacturer>Panasonic</manufacturer>
: <modelname>DC-GH5</modelname>
: </device>
: <shoot>
: <startdate>2017-11-19T16:16:23+02:00</startdate>
: </shoot>
: </clipmetadata>
: </clipcontent>
: <userarea>
: <acquisitionmetadata xmlns="urn:schemas-Professional-P
lug-in:P2:CameraMetadata:v1.2">
: <cameraunitmetadata>
: <gamma>
: <capturegamma>CINELIKE_D</capturegamma>
: </gamma>
: <gamut>
: <capturegamut>BT.709</capturegamut>
: </gamut>
: </cameraunitmetadata>
: </acquisitionmetadata>
: </userarea>
: </clipmain>
:
Duration: 00:00:03.36, start: 0.000000, bitrate: 174710 kb/s
Stream #0:0(und): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p10le(
tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 147582 kb/s, 25 fps, 25 tbr, 90k tbn,
50 tbc (default)
Metadata:
creation_time : 2017-11-19T16:16:23.000000Z
timecode : 07:12:44:18
Stream #0:1(und): Audio: pcm_s16be (twos / 0x736F7774), 48000 Hz, stereo, s1
6, 1536 kb/s (default)
Metadata:
creation_time : 2017-11-19T16:16:23.000000Z
timecode : 07:12:44:18
Stream #0:2(und): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
Metadata:
creation_time : 2017-11-19T16:16:23.000000Z
timecode : 07:12:44:18
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> dnxhd (native))
Stream #0:1 -> #0:1 (pcm_s16be (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[dnxhd @ 0542fe60] Cannot allocate memory.
[dnxhd @ 04d508a0] ff_frame_thread_encoder_init failed
Error initializing output stream 0:0 -- Error while opening encoder for output s
tream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
D:\Test>pause
Drücken Sie eine beliebige Taste . . .