
Recherche avancée
Médias (91)
-
Spoon - Revenge !
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
My Morning Jacket - One Big Holiday
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Zap Mama - Wadidyusay ?
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
David Byrne - My Fair Lady
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Beastie Boys - Now Get Busy
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
Autres articles (47)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
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 -
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
Sur d’autres sites (10201)
-
Create a time-lapse movie by speeding a video up to the time of an audio file
26 décembre 2014, par Peak Reconstruction WavelengthInput
- Audio file, mp3, 2 minutes
- Video file, mov, 1920 x 1080, 29 fps, 13 minutes
I want to know which command to use to have a time-lapse movie mov as a result, which is two minutes long while remaining 29 fps, so it speeds up to match the time of 1. and the audio track of 2. is replaced with 1..
My approach
ffmpeg.exe" -i "x.MOV" -i "y.mp3" -vcodec copy -async 10 -ab 128k "e.MOV"
which only puts the audio file to the beginning.
-
How to catch stdout stream in ffmpeg then pipe it to v4l2loopback
29 août 2015, par TveitanI’m trying to pipe my h264 stream to ffmpeg and then to my v4l2loopback device. Problem is that I’m fairly new to linux, so just can’t get it working.
The stream can be outputted to stdout, but I do not know how to catch it again with ffmpeg and then again pipe it to my v4l2loopback device.Does anybody know how this could be done or maybe a pointer on how to solve it ?
This is the capture program :
PS ! You can find the options for the capture program almost in the bottom of the code.
/*
* V4L2 video capture example, modified by Derek Molloy for the Logitech C920 camera
* Modifications, added the -F mode for H264 capture and associated help detail
* www.derekmolloy.ie
*
* V4L2 video capture example
*
* This program can be used and distributed without restrictions.
*
* This program is provided with the V4L2 API
* see http://linuxtv.org/docs.php for more information
*/
#include
#include
#include
#include
#include /* getopt_long() */
#include /* low-level i/o */
#include
#include
#include <sys></sys>stat.h>
#include <sys></sys>types.h>
#include <sys></sys>time.h>
#include <sys></sys>mman.h>
#include <sys></sys>ioctl.h>
#include <linux></linux>videodev2.h>
#define CLEAR(x) memset(&(x), 0, sizeof(x))
enum io_method {
IO_METHOD_READ,
IO_METHOD_MMAP,
IO_METHOD_USERPTR,
};
struct buffer {
void *start;
size_t length;
};
static char *dev_name;
static enum io_method io = IO_METHOD_MMAP;
static int fd = -1;
struct buffer *buffers;
static unsigned int n_buffers;
static int out_buf;
static int force_format = 0;
static int frame_count = 100;
static void errno_exit(const char *s)
{
fprintf(stderr, "%s error %d, %s\n", s, errno, strerror(errno));
exit(EXIT_FAILURE);
}
static int xioctl(int fh, int request, void *arg)
{
int r;
do {
r = ioctl(fh, request, arg);
} while (-1 == r && EINTR == errno);
return r;
}
static void process_image(const void *p, int size)
{
if (out_buf)
fwrite(p, size, 1, stdout);
fflush(stderr);
fprintf(stderr, ".");
fflush(stdout);
}
static int read_frame(void)
{
struct v4l2_buffer buf;
unsigned int i;
switch (io) {
case IO_METHOD_READ:
if (-1 == read(fd, buffers[0].start, buffers[0].length)) {
switch (errno) {
case EAGAIN:
return 0;
case EIO:
/* Could ignore EIO, see spec. */
/* fall through */
default:
errno_exit("read");
}
}
process_image(buffers[0].start, buffers[0].length);
break;
case IO_METHOD_MMAP:
CLEAR(buf);
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
if (-1 == xioctl(fd, VIDIOC_DQBUF, &buf)) {
switch (errno) {
case EAGAIN:
return 0;
case EIO:
/* Could ignore EIO, see spec. */
/* fall through */
default:
errno_exit("VIDIOC_DQBUF");
}
}
assert(buf.index < n_buffers);
process_image(buffers[buf.index].start, buf.bytesused);
if (-1 == xioctl(fd, VIDIOC_QBUF, &buf))
errno_exit("VIDIOC_QBUF");
break;
case IO_METHOD_USERPTR:
CLEAR(buf);
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_USERPTR;
if (-1 == xioctl(fd, VIDIOC_DQBUF, &buf)) {
switch (errno) {
case EAGAIN:
return 0;
case EIO:
/* Could ignore EIO, see spec. */
/* fall through */
default:
errno_exit("VIDIOC_DQBUF");
}
}
for (i = 0; i < n_buffers; ++i)
if (buf.m.userptr == (unsigned long)buffers[i].start
&& buf.length == buffers[i].length)
break;
assert(i < n_buffers);
process_image((void *)buf.m.userptr, buf.bytesused);
if (-1 == xioctl(fd, VIDIOC_QBUF, &buf))
errno_exit("VIDIOC_QBUF");
break;
}
return 1;
}
static void mainloop(void)
{
unsigned int count;
unsigned int loopIsInfinite = 0;
if (frame_count == 0) loopIsInfinite = 1; //infinite loop
count = frame_count;
while ((count-- > 0) || loopIsInfinite) {
for (;;) {
fd_set fds;
struct timeval tv;
int r;
FD_ZERO(&fds);
FD_SET(fd, &fds);
/* Timeout. */
tv.tv_sec = 2;
tv.tv_usec = 0;
r = select(fd + 1, &fds, NULL, NULL, &tv);
if (-1 == r) {
if (EINTR == errno)
continue;
errno_exit("select");
}
if (0 == r) {
fprintf(stderr, "select timeout\n");
exit(EXIT_FAILURE);
}
if (read_frame())
break;
/* EAGAIN - continue select loop. */
}
}
}
static void stop_capturing(void)
{
enum v4l2_buf_type type;
switch (io) {
case IO_METHOD_READ:
/* Nothing to do. */
break;
case IO_METHOD_MMAP:
case IO_METHOD_USERPTR:
type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
if (-1 == xioctl(fd, VIDIOC_STREAMOFF, &type))
errno_exit("VIDIOC_STREAMOFF");
break;
}
}
static void start_capturing(void)
{
unsigned int i;
enum v4l2_buf_type type;
switch (io) {
case IO_METHOD_READ:
/* Nothing to do. */
break;
case IO_METHOD_MMAP:
for (i = 0; i < n_buffers; ++i) {
struct v4l2_buffer buf;
CLEAR(buf);
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
buf.index = i;
if (-1 == xioctl(fd, VIDIOC_QBUF, &buf))
errno_exit("VIDIOC_QBUF");
}
type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
if (-1 == xioctl(fd, VIDIOC_STREAMON, &type))
errno_exit("VIDIOC_STREAMON");
break;
case IO_METHOD_USERPTR:
for (i = 0; i < n_buffers; ++i) {
struct v4l2_buffer buf;
CLEAR(buf);
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_USERPTR;
buf.index = i;
buf.m.userptr = (unsigned long)buffers[i].start;
buf.length = buffers[i].length;
if (-1 == xioctl(fd, VIDIOC_QBUF, &buf))
errno_exit("VIDIOC_QBUF");
}
type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
if (-1 == xioctl(fd, VIDIOC_STREAMON, &type))
errno_exit("VIDIOC_STREAMON");
break;
}
}
static void uninit_device(void)
{
unsigned int i;
switch (io) {
case IO_METHOD_READ:
free(buffers[0].start);
break;
case IO_METHOD_MMAP:
for (i = 0; i < n_buffers; ++i)
if (-1 == munmap(buffers[i].start, buffers[i].length))
errno_exit("munmap");
break;
case IO_METHOD_USERPTR:
for (i = 0; i < n_buffers; ++i)
free(buffers[i].start);
break;
}
free(buffers);
}
static void init_read(unsigned int buffer_size)
{
buffers = calloc(1, sizeof(*buffers));
if (!buffers) {
fprintf(stderr, "Out of memory\n");
exit(EXIT_FAILURE);
}
buffers[0].length = buffer_size;
buffers[0].start = malloc(buffer_size);
if (!buffers[0].start) {
fprintf(stderr, "Out of memory\n");
exit(EXIT_FAILURE);
}
}
static void init_mmap(void)
{
struct v4l2_requestbuffers req;
CLEAR(req);
req.count = 4;
req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
req.memory = V4L2_MEMORY_MMAP;
if (-1 == xioctl(fd, VIDIOC_REQBUFS, &req)) {
if (EINVAL == errno) {
fprintf(stderr, "%s does not support "
"memory mapping\n", dev_name);
exit(EXIT_FAILURE);
} else {
errno_exit("VIDIOC_REQBUFS");
}
}
if (req.count < 2) {
fprintf(stderr, "Insufficient buffer memory on %s\n",
dev_name);
exit(EXIT_FAILURE);
}
buffers = calloc(req.count, sizeof(*buffers));
if (!buffers) {
fprintf(stderr, "Out of memory\n");
exit(EXIT_FAILURE);
}
for (n_buffers = 0; n_buffers < req.count; ++n_buffers) {
struct v4l2_buffer buf;
CLEAR(buf);
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
buf.index = n_buffers;
if (-1 == xioctl(fd, VIDIOC_QUERYBUF, &buf))
errno_exit("VIDIOC_QUERYBUF");
buffers[n_buffers].length = buf.length;
buffers[n_buffers].start =
mmap(NULL /* start anywhere */,
buf.length,
PROT_READ | PROT_WRITE /* required */,
MAP_SHARED /* recommended */,
fd, buf.m.offset);
if (MAP_FAILED == buffers[n_buffers].start)
errno_exit("mmap");
}
}
static void init_userp(unsigned int buffer_size)
{
struct v4l2_requestbuffers req;
CLEAR(req);
req.count = 4;
req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
req.memory = V4L2_MEMORY_USERPTR;
if (-1 == xioctl(fd, VIDIOC_REQBUFS, &req)) {
if (EINVAL == errno) {
fprintf(stderr, "%s does not support "
"user pointer i/o\n", dev_name);
exit(EXIT_FAILURE);
} else {
errno_exit("VIDIOC_REQBUFS");
}
}
buffers = calloc(4, sizeof(*buffers));
if (!buffers) {
fprintf(stderr, "Out of memory\n");
exit(EXIT_FAILURE);
}
for (n_buffers = 0; n_buffers < 4; ++n_buffers) {
buffers[n_buffers].length = buffer_size;
buffers[n_buffers].start = malloc(buffer_size);
if (!buffers[n_buffers].start) {
fprintf(stderr, "Out of memory\n");
exit(EXIT_FAILURE);
}
}
}
static void init_device(void)
{
struct v4l2_capability cap;
struct v4l2_cropcap cropcap;
struct v4l2_crop crop;
struct v4l2_format fmt;
unsigned int min;
if (-1 == xioctl(fd, VIDIOC_QUERYCAP, &cap)) {
if (EINVAL == errno) {
fprintf(stderr, "%s is no V4L2 device\n",
dev_name);
exit(EXIT_FAILURE);
} else {
errno_exit("VIDIOC_QUERYCAP");
}
}
if (!(cap.capabilities & V4L2_CAP_VIDEO_CAPTURE)) {
fprintf(stderr, "%s is no video capture device\n",
dev_name);
exit(EXIT_FAILURE);
}
switch (io) {
case IO_METHOD_READ:
if (!(cap.capabilities & V4L2_CAP_READWRITE)) {
fprintf(stderr, "%s does not support read i/o\n",
dev_name);
exit(EXIT_FAILURE);
}
break;
case IO_METHOD_MMAP:
case IO_METHOD_USERPTR:
if (!(cap.capabilities & V4L2_CAP_STREAMING)) {
fprintf(stderr, "%s does not support streaming i/o\n",
dev_name);
exit(EXIT_FAILURE);
}
break;
}
/* Select video input, video standard and tune here. */
CLEAR(cropcap);
cropcap.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
if (0 == xioctl(fd, VIDIOC_CROPCAP, &cropcap)) {
crop.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
crop.c = cropcap.defrect; /* reset to default */
if (-1 == xioctl(fd, VIDIOC_S_CROP, &crop)) {
switch (errno) {
case EINVAL:
/* Cropping not supported. */
break;
default:
/* Errors ignored. */
break;
}
}
} else {
/* Errors ignored. */
}
CLEAR(fmt);
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
fprintf(stderr, "Force Format %d\n", force_format);
if (force_format) {
if (force_format==2){
fmt.fmt.pix.width = 1920;
fmt.fmt.pix.height = 1080;
fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_H264;
fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
}
else if(force_format==1){
fmt.fmt.pix.width = 640;
fmt.fmt.pix.height = 480;
fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV;
fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
}
if (-1 == xioctl(fd, VIDIOC_S_FMT, &fmt))
errno_exit("VIDIOC_S_FMT");
/* Note VIDIOC_S_FMT may change width and height. */
} else {
/* Preserve original settings as set by v4l2-ctl for example */
if (-1 == xioctl(fd, VIDIOC_G_FMT, &fmt))
errno_exit("VIDIOC_G_FMT");
}
/* Buggy driver paranoia. */
min = fmt.fmt.pix.width * 2;
if (fmt.fmt.pix.bytesperline < min)
fmt.fmt.pix.bytesperline = min;
min = fmt.fmt.pix.bytesperline * fmt.fmt.pix.height;
if (fmt.fmt.pix.sizeimage < min)
fmt.fmt.pix.sizeimage = min;
switch (io) {
case IO_METHOD_READ:
init_read(fmt.fmt.pix.sizeimage);
break;
case IO_METHOD_MMAP:
init_mmap();
break;
case IO_METHOD_USERPTR:
init_userp(fmt.fmt.pix.sizeimage);
break;
}
}
static void close_device(void)
{
if (-1 == close(fd))
errno_exit("close");
fd = -1;
}
static void open_device(void)
{
struct stat st;
if (-1 == stat(dev_name, &st)) {
fprintf(stderr, "Cannot identify '%s': %d, %s\n",
dev_name, errno, strerror(errno));
exit(EXIT_FAILURE);
}
if (!S_ISCHR(st.st_mode)) {
fprintf(stderr, "%s is no device\n", dev_name);
exit(EXIT_FAILURE);
}
fd = open(dev_name, O_RDWR /* required */ | O_NONBLOCK, 0);
if (-1 == fd) {
fprintf(stderr, "Cannot open '%s': %d, %s\n",
dev_name, errno, strerror(errno));
exit(EXIT_FAILURE);
}
}
static void usage(FILE *fp, int argc, char **argv)
{
fprintf(fp,
"Usage: %s [options]\n\n"
"Version 1.3\n"
"Options:\n"
"-d | --device name Video device name [%s]\n"
"-h | --help Print this message\n"
"-m | --mmap Use memory mapped buffers [default]\n"
"-r | --read Use read() calls\n"
"-u | --userp Use application allocated buffers\n"
"-o | --output Outputs stream to stdout\n"
"-f | --format Force format to 640x480 YUYV\n"
"-F | --formatH264 Force format to 1920x1080 H264\n"
"-c | --count Number of frames to grab [%i] - use 0 for infinite\n"
"\n"
"Example usage: capture -F -o -c 300 > output.raw\n"
"Captures 300 frames of H264 at 1920x1080 - use raw2mpg4 script to convert to mpg4\n",
argv[0], dev_name, frame_count);
}
static const char short_options[] = "d:hmruofFc:";
static const struct option
long_options[] = {
{ "device", required_argument, NULL, 'd' },
{ "help", no_argument, NULL, 'h' },
{ "mmap", no_argument, NULL, 'm' },
{ "read", no_argument, NULL, 'r' },
{ "userp", no_argument, NULL, 'u' },
{ "output", no_argument, NULL, 'o' },
{ "format", no_argument, NULL, 'f' },
{ "formatH264", no_argument, NULL, 'F' },
{ "count", required_argument, NULL, 'c' },
{ 0, 0, 0, 0 }
};
int main(int argc, char **argv)
{
dev_name = "/dev/video0";
for (;;) {
int idx;
int c;
c = getopt_long(argc, argv,
short_options, long_options, &idx);
if (-1 == c)
break;
switch (c) {
case 0: /* getopt_long() flag */
break;
case 'd':
dev_name = optarg;
break;
case 'h':
usage(stdout, argc, argv);
exit(EXIT_SUCCESS);
case 'm':
io = IO_METHOD_MMAP;
break;
case 'r':
io = IO_METHOD_READ;
break;
case 'u':
io = IO_METHOD_USERPTR;
break;
case 'o':
out_buf++;
break;
case 'f':
force_format=1;
break;
case 'F':
force_format=2;
break;
case 'c':
errno = 0;
frame_count = strtol(optarg, NULL, 0);
if (errno)
errno_exit(optarg);
break;
default:
usage(stderr, argc, argv);
exit(EXIT_FAILURE);
}
}
open_device();
init_device();
start_capturing();
mainloop();
stop_capturing();
uninit_device();
close_device();
fprintf(stderr, "\n");
return 0;
}It’s a modified version of a V4L2 video capture example.
Then I know that if I have outputed the streame to a file I would have to run this command to convert the raw format to mp4 format :ffmpeg -f h264 -i output.raw -vcodec copy output.mp4
And the v4l2loopback program I’m using is foud here :
https://github.com/umlaeute/v4l2loopback------------------Update------------------
Okay. So I got the pipe from the capture program to ffmpeg working. It captures, decodes the h264 and I can write it to a mp4 file with this command :
./capture -F -d /dev/video0 -o | ffmpeg -f h264 -i - -vcodec copy out.mp4
Now I am trying to get the last pipe working with this command :
./capture -F -d /dev/video0 -o | ffmpeg -f h264 -i - -vcodec copy -f mp4 - | gst-launch-0.10 -v fdsrc ! v4l2sink device=/dev/video3
I get these errors :
- muxer does not support non seekable output
- Could not write header for output file #0 (incorrect codec parameters ?) : Invalid argument
Any ideas ?
-
How to embed subtitles to .mp4 movie using ffmpeg
25 novembre 2016, par hudacI’m trying to embed subtitles I wrote to a movie I created.
I’m using FFmpeg version :ffmpeg-20150418-git-edbb9b5-win64-static
with the command :
ffmpeg -i in.mp4 -f srt -i subs.srt -c:v copy -c:a copy -c:s mov_text out.mp4
I saw here.But I get errors during the process, and when the process is done there’s an output file
out.mp4
without subtitles embedded.
When I play thein.mp4
in some player such asmedia player classic
with the subtitles separately, the subtitles are sync and everything is fine.The subtitles are
subrip
encoded inUTF8
.I tried to look out for these errors but didn’t find anything useful. it seems something ridiculous.
What am I doing wrong ?Errors such as :
[mp4 @ 00000000003fe020] Codec for stream 0 does not use global headers but container format requires global headers
[mp4 @ 00000000003fe020] Codec for stream 1 does not use global headers but container format requires global headers
[mp4 @ 00000000003fe020] Application provided duration: -8 / timestamp: 72205 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no valueMovie details from
Media info
:Video
ID: 1
Format: AVC
Format/Info: Advanced Video Codec
Format profile: Main@L4.2
Format settings, CABAC: Yes
Format settings, ReFrames: 3 frames
Format settings, GOP: M=4, N=24
Codec ID: avc1
Codec ID/Info: Advanced Video Coding
Duration: 8mn 32s
Source duration: 8mn 32s
Bit rate: 23.4 Mbps
Width: 1920 pixels
Height: 1080 pixels
Display aspect ratio: 16:9
Original display aspect ratio: 2.2:1
Frame rate mode: Variable
Frame rate: 23.976 fps
Minimum frame rate: 23.976 fps
Maximum frame rate: 24.000 fps
Standard: NTSC
Color space: YUV
Chroma subsampling: 4:2:0
Bit depth: 8 bits
Scan type: Progressive
Bits/(Pixel*Frame): 0.472
Stream size: 1.40 GiB (99%)
Source stream size: 1.40 GiB (99%)
Language: English
Encoded date: UTC 2015-04-28 20:31:41
Tagged date: UTC 2015-04-28 20:31:41
mdhd_Duration: 512137Ffmpeg command output :
ffmpeg version N-71497-gedbb9b5 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
libavutil 54. 22.101 / 54. 22.101
libavcodec 56. 34.100 / 56. 34.100
libavformat 56. 30.100 / 56. 30.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 14.100 / 5. 14.100
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 'in.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2015-04-28 20:31:41
Duration: 00:08:32.17, start: 0.000000, bitrate: 23640 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 1920x1080 [SAR 40:33 DAR 640:297], 23444 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 t
bc (default)
Metadata:
creation_time : 2015-04-28 20:31:41
handler_name : ?Mainconcept Video Media Handler
encoder : AVC Coding
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
Metadata:
creation_time : 2015-04-28 20:31:41
handler_name : #Mainconcept MP4 Sound Media Handler
Input #1, srt, from 'subs.srt':
Duration: N/A, bitrate: N/A
Stream #1:0: Subtitle: subrip
[mp4 @ 00000000003fe020] Codec for stream 0 does not use global headers but container format requires global headers
[mp4 @ 00000000003fe020] Codec for stream 1 does not use global headers but container format requires global headers
Output #0, mp4, to 'out.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
encoder : Lavf56.30.100
Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 40:33 DAR 640:297], q=2-31, 23444 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 24k t
bc (default)
Metadata:
creation_time : 2015-04-28 20:31:41
handler_name : ?Mainconcept Video Media Handler
encoder : AVC Coding
Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 189 kb/s (default)
Metadata:
creation_time : 2015-04-28 20:31:41
handler_name : #Mainconcept MP4 Sound Media Handler
Stream #0:2: Subtitle: mov_text ([8][0][0][0] / 0x0008)
Metadata:
encoder : Lavc56.34.100 mov_text
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #1:0 -> #0:2 (subrip (srt) -> mov_text (native))
Press [q] to stop, [?] for help
[mp4 @ 00000000003fe020] Application provided duration: -8 / timestamp: 72205 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -7 / timestamp: 74217 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -8 / timestamp: 76267 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -4 / timestamp: 77872 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -7 / timestamp: 79260 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -1 / timestamp: 88987 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -60 / timestamp: 91489 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -4 / timestamp: 108080 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -1 / timestamp: 112974 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -8 / timestamp: 115528 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -9 / timestamp: 122758 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 124862 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -12 / timestamp: 130307 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -140 / timestamp: 150079 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -144 / timestamp: 156606 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -245 / timestamp: 158916 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 231587 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -1 / timestamp: 234743 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -9 / timestamp: 239406 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 242670 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -4 / timestamp: 249833 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -9 / timestamp: 252669 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 257713 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -2 / timestamp: 272866 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -152 / timestamp: 276417 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -3 / timestamp: 290209 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 302825 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 305466 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -3 / timestamp: 314151 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -8 / timestamp: 315957 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -1 / timestamp: 322568 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -164 / timestamp: 333373 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -3 / timestamp: 379341 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -5 / timestamp: 385070 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -7 / timestamp: 396166 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -7 / timestamp: 402007 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -4 / timestamp: 404571 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -2 / timestamp: 418218 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -5 / timestamp: 428136 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -5 / timestamp: 433347 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -4 / timestamp: 438939 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -7 / timestamp: 445657 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 449039 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 451870 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
[mp4 @ 00000000003fe020] Application provided duration: -5 / timestamp: 456582 is out of range for mov/mp4 format
[mp4 @ 00000000003fe020] pts has no value
frame=12279 fps=138 q=-1.0 Lsize= 1477815kB time=00:08:32.16 bitrate=23637.2kbits/s
video:1465658kB audio:11840kB subtitle:8kB other streams:0kB global headers:0kB muxing overhead: 0.020907%