
Advanced search
Medias (1)
-
The Great Big Beautiful Tomorrow
28 October 2011, by
Updated: October 2011
Language: English
Type: Text
Other articles (34)
-
Creating farms of unique websites
13 April 2011, byMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things): implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 September 2013, byCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo; l’ajout d’une bannière l’ajout d’une image de fond;
-
Les autorisations surchargées par les plugins
27 April 2010, byMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
On other websites (6185)
-
What are the correct conversion steps to generate a video from PDF with ffmpeg and mp4box
25 June 2020, by Michael RallI need to convert a PDF-Document to a DASH-compatible stream. Every page of the PDF should be displayed for one second. Quality should be rather good, so that text and line graphics can still be read clearly. Additionally I want to be able to seek every page, so keyframes(?) should be (exactly) every second.


Im using poppler-tools to extract the pdf-pages as png's -> works


Im using ffmpeg to convert the single images to an x264 encoded mp4 video -> works (but maybe problematic)


string.Format("-r 1 -i \"{0}.page_%d.png\" -r 24 -vcodec libx264 -pix_fmt yuv420p {0}.output.mp4", basePath)



Im using MP4Box to convert that video to dash -> works (but needs improvement)


string.Format("-dash 1000 -frag 1000 -rap -segment-name {1}_dash_$RepresentationID$_$Number$ -url-template {0}.output.mp4 -out \"{0}.{2}\"", basePath, tempDataId, STREAM_MANIFEST_FILE_POSTFIX)



Now I have 2 Problems/Questions


- 

- Are the settings for framerate, quality, outputformat correct for the goals I want to achieve
- When displaying the resulting DASH-Stream in the Demo-Player from https://github.com/Dash-Industry-Forum/dash.js/wiki it plays the stream, but as soon as I try to seek the player starts loading forever. Setting the position to start and let it play again works. The network tab in my browser-debugger shows that the player tries to load the segments and gets them successfully.






I guess its a problem with keyframes, fragments or similar. Can somebody correct my conversion steps?


kind regards


-
How to add arbitrary or custom metadata in MP4?
13 April 2021, by 大大大大萝卜凉The MP4 muxer in
ffmpeg
only allows certain metadata by default. I would like to add:

com.android.model: Mi 10 Pro
xyz: +22.9835+113.3621/
com.android.version: 1
com.android.manufacturer: Xiaomi



How can I add this with
ffmpeg
?

-
How would I assign multiple MMAP's from single file descriptor?
9 June 2011, by Alex StevensSo, for my final year project, I'm using Video4Linux2 to pull YUV420 images from a camera, parse them through to x264 (which uses these images natively), and then send the encoded stream via Live555 to an RTP/RTCP compliant video player on a client over a wireless network. All of this I'm trying to do in real-time, so there'll be a control algorithm, but that's not the scope of this question. All of this - except Live555 - is being written in C. Currently, I'm near the end of encoding the video, but want to improve performance.
To say the least, I've hit a snag... I'm trying to avoid User Space Pointers for V4L2 and use mmap(). I'm encoding video, but since it's YUV420, I've been malloc'ing new memory to hold the Y', U and V planes in three different variables for x264 to read upon. I would like to keep these variables as pointers to an mmap'ed piece of memory.
However, the V4L2 device has one single file descriptor for the buffered stream, and I need to split the stream into three mmap'ed variables adhering to the YUV420 standard, like so...
buffers[n_buffers].y_plane = mmap(NULL, (2 * width * height) / 3,
PROT_READ | PROT_WRITE, MAP_SHARED,
fd, buf.m.offset);
buffers[n_buffers].u_plane = mmap(NULL, width * height / 6,
PROT_READ | PROT_WRITE, MAP_SHARED,
fd, buf.m.offset +
((2 * width * height) / 3 + 1) /
sysconf(_SC_PAGE_SIZE));
buffers[n_buffers].v_plane = mmap(NULL, width * height / 6,
PROT_READ | PROT_WRITE, MAP_SHARED,
fd, buf.m.offset +
((2 * width * height) / 3 +
width * height / 6 + 1) /
sysconf(_SC_PAGE_SIZE));Where "width" and "height" is the resolution of the video (eg. 640x480).
From what I understand... MMAP seeks through a file, kind of like this (pseudoish-code):
fd = v4l2_open(...);
lseek(fd, buf.m.offset + (2 * width * height) / 3);
read(fd, buffers[n_buffers].u_plane, width * height / 6);My code is located in a Launchpad Repo here (for more background):
http://bazaar.launchpad.net/ alex-stevens/+junk/spyPanda/files (Revision 11)And the YUV420 format can be seen clearly from this Wiki illustration: http://en.wikipedia.org/wiki/File:Yuv420.svg (I essentially want to split up the Y, U, and V bytes into each mmap'ed memory)
Anyone care to explain a way to mmap three variables to memory from the one file descriptor, or why I went wrong? Or even hint at a better idea to parse the YUV420 buffer to x264? :P
Cheers! ^^