Re: [FFmpeg-user] Copy Audio

2018-12-18 Thread Chris

FWIW, PCM audio isn't allowed in MP4, only MOV,

FWIW both my Sony and Canon camcorders put out PCM audio in .mp4 containers. 
ffmpeg is merely being asked to copy the existing audio.

-Original Message-
From: Gyan 
To: ffmpeg-user 
Sent: Tue, Dec 18, 2018 9:37 pm
Subject: Re: [FFmpeg-user] Copy Audio



On 19-12-2018 09:51 AM, Chris wrote:
> The original audio is:
>
> ID                                       : 2
> Format                                   : PCM
> Format settings                          : Big / Signed
> Codec ID                                 : twos
> Duration                                 : 1 min 42 s
> Bit rate mode                            : Constant
> Bit rate                                 : 1 536 kb/s
> Channel(s)                               : 2 channels
> Sampling rate                            : 48.0 kHz
> Bit depth                                : 16 bits
>
>>> This is writing invalid files. mp4 does not allow pcm_s16be.
> That is the audio ffmpeg is being told to copy. In v 4.0 it successfully 
> copies the audio which can then be played back.
>
> In v 4.1 it does not copy the audio but rather throws errors.
Changed by commit 4cfb01d6ae5 : lavf/movenc: Fail when codec tag is 
invalid for format

FWIW, PCM audio isn't allowed in MP4, only MOV, see 
http://mp4ra.org/#/codecs
It was a regression in ffmpeg 3.4 - 40 that allowed this.

Gyan

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Copy Audio

2018-12-18 Thread Gyan


On 19-12-2018 09:51 AM, Chris wrote:

The original audio is:

ID   : 2
Format   : PCM
Format settings  : Big / Signed
Codec ID : twos
Duration : 1 min 42 s
Bit rate mode: Constant
Bit rate : 1 536 kb/s
Channel(s)   : 2 channels
Sampling rate: 48.0 kHz
Bit depth: 16 bits


This is writing invalid files. mp4 does not allow pcm_s16be.

That is the audio ffmpeg is being told to copy. In v 4.0 it successfully copies 
the audio which can then be played back.

In v 4.1 it does not copy the audio but rather throws errors.
Changed by commit 4cfb01d6ae5 : lavf/movenc: Fail when codec tag is 
invalid for format


FWIW, PCM audio isn't allowed in MP4, only MOV, see 
http://mp4ra.org/#/codecs

It was a regression in ffmpeg 3.4 - 40 that allowed this.

Gyan
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Creation of timelapse video stops at 133080144 bytes

2018-12-18 Thread David Ulevitch
I've solved my own issue. Replying for the archives benefit... ffmpeg does
not like jpg's of zero size in the pipeline.
Running:

$ find ./ -type f -iname '*.jpg' -size 0 -exec rm {}\;

and removing the few zero byte images has resolved my issue and now the
videos are building.

Thanks,
David


On Tue, Dec 18, 2018 at 9:10 PM David Ulevitch  wrote:

> Sorry for replying to my own thread but I have figured out I can't get my
> clip to have more than 7310 images in the input.
>
> Having trouble figuring out where this is being capped. There are 9000+
> images in the directory now.
>
> Thanks,
> David
>
>
> On Tue, Dec 18, 2018 at 9:10 AM David Ulevitch  wrote:
>
>> Hi ffmpeg-users,
>>
>> I have been creating a timelapse video of images pulled from a security
>> camera and all was going great until a few days ago when the ffmpeg process
>> completes (seemingly without error) but the video size is no longer growing
>> and the video length stops at 2:01, despite the input file count growing (1
>> new image per minute).
>>
>> Each output video file is now 133080144 bytes and never grows. Nothing
>> else has changed, I'm using pattern_type glob and the shell should have no
>> issue with 8000+ files on the command line.
>>
>> Here is my command to generate the video:
>>
>> #!/bin/sh
>> export TZ=America/Denver
>> date=$(date +"%Y-%m-%d_%H:%M");
>> ffmpeg -r 60 -pattern_type glob -i 'unifi/unifi*.jpg' -s hd1080 -movflags
>> +faststart -vcodec libx264 -loglevel quiet -y unifi-lot835-hd-$date.mp4
>>
>>
>> `ls 'unifi/unifi*.jpg' | wc` shows 8700+ files, and grows by 1 file each
>> minute. Yet the ffmpeg command now just stops at the same timelength and
>> filesize each time.
>>
>> Any ideas what limits I'm hitting or why it's no longer making the file
>> larger / longer? What else can I answer or look into to help debug this?
>>
>> I do get a lot of these, but the Internet seems to indicate I should
>> ignore them:
>>
>> Past duration 0.92 too large  126341kB time=00:01:58.80
>> bitrate=8712.0kbits/s dup=1 drop=0
>> Last message repeated 6 times
>>
>>
>> I've attached the top x lines of the command without the quiet log level
>> below. I changed a few CLI flags when running outside the script as you'll
>> see, but the problem remains the same.
>>
>> Thanks,
>> David
>>
>> - Debug stuff below ---
>>
>> Command Start Output
>> $ time ffmpeg -r 60 -pattern_type glob -i "unifi/unifi*.jpg" -movflags
>> +faststart -s hd1080 -vcodec libx264 unifi-lot835-hd-2018-12-18.mp4 && ln
>> -sf unifi-lot835-hd-2018-12-18.mp4 unifi-hd.mp4
>> ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg
>> developers
>>   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
>>   configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1
>> --build-suffix=-ffmpeg --toolchain=hardened
>> --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu
>> --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping
>> --disable-decoder=libopenjpeg --disable-decoder=libschroedinger
>> --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa
>> --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
>> --enable-libcdio --enable-libflite --enable-libfontconfig
>> --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm
>> --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg
>> --enable-libopus --enable-libpulse --enable-librtmp
>> --enable-libschroedinger --enable-libshine --enable-libsnappy
>> --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora
>> --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack
>> --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi
>> --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394
>> --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264
>> --enable-libopencv
>>   libavutil  54. 31.100 / 54. 31.100
>>   libavcodec 56. 60.100 / 56. 60.100
>>   libavformat56. 40.101 / 56. 40.101
>>   libavdevice56.  4.100 / 56.  4.100
>>   libavfilter 5. 40.101 /  5. 40.101
>>   libavresample   2.  1.  0 /  2.  1.  0
>>   libswscale  3.  1.101 /  3.  1.101
>>   libswresample   1.  2.101 /  1.  2.101
>>   libpostproc53.  3.100 / 53.  3.100
>> [mjpeg @ 0x1f44700] Changeing bps to 8
>> Input #0, image2, from 'unifi/unifi*.jpg':
>>   Duration: 00:05:52.12, start: 0.00, bitrate: N/A
>> Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown),
>> 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
>> File 'unifi-lot835-hd-2018-12-18.mp4' already exists. Overwrite ? [y/N] y
>> No pixel format specified, yuvj420p for H.264 encoding chosen.
>> Use -pix_fmt yuv420p for compatibility with outdated media players.
>> [libx264 @ 0x1f53d00] using SAR=1/1
>> [libx264 @ 0x1f53d00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
>> AVX
>> [libx264 @ 0x1f53d00] profile High, level 4.2
>> [libx264 @ 0x

Re: [FFmpeg-user] Creation of timelapse video stops at 133080144 bytes

2018-12-18 Thread David Ulevitch
Sorry for replying to my own thread but I have figured out I can't get my
clip to have more than 7310 images in the input.

Having trouble figuring out where this is being capped. There are 9000+
images in the directory now.

Thanks,
David


On Tue, Dec 18, 2018 at 9:10 AM David Ulevitch  wrote:

> Hi ffmpeg-users,
>
> I have been creating a timelapse video of images pulled from a security
> camera and all was going great until a few days ago when the ffmpeg process
> completes (seemingly without error) but the video size is no longer growing
> and the video length stops at 2:01, despite the input file count growing (1
> new image per minute).
>
> Each output video file is now 133080144 bytes and never grows. Nothing
> else has changed, I'm using pattern_type glob and the shell should have no
> issue with 8000+ files on the command line.
>
> Here is my command to generate the video:
>
> #!/bin/sh
> export TZ=America/Denver
> date=$(date +"%Y-%m-%d_%H:%M");
> ffmpeg -r 60 -pattern_type glob -i 'unifi/unifi*.jpg' -s hd1080 -movflags
> +faststart -vcodec libx264 -loglevel quiet -y unifi-lot835-hd-$date.mp4
>
>
> `ls 'unifi/unifi*.jpg' | wc` shows 8700+ files, and grows by 1 file each
> minute. Yet the ffmpeg command now just stops at the same timelength and
> filesize each time.
>
> Any ideas what limits I'm hitting or why it's no longer making the file
> larger / longer? What else can I answer or look into to help debug this?
>
> I do get a lot of these, but the Internet seems to indicate I should
> ignore them:
>
> Past duration 0.92 too large  126341kB time=00:01:58.80
> bitrate=8712.0kbits/s dup=1 drop=0
> Last message repeated 6 times
>
>
> I've attached the top x lines of the command without the quiet log level
> below. I changed a few CLI flags when running outside the script as you'll
> see, but the problem remains the same.
>
> Thanks,
> David
>
> - Debug stuff below ---
>
> Command Start Output
> $ time ffmpeg -r 60 -pattern_type glob -i "unifi/unifi*.jpg" -movflags
> +faststart -s hd1080 -vcodec libx264 unifi-lot835-hd-2018-12-18.mp4 && ln
> -sf unifi-lot835-hd-2018-12-18.mp4 unifi-hd.mp4
> ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg
> developers
>   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
>   configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1
> --build-suffix=-ffmpeg --toolchain=hardened
> --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu
> --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping
> --disable-decoder=libopenjpeg --disable-decoder=libschroedinger
> --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa
> --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
> --enable-libcdio --enable-libflite --enable-libfontconfig
> --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm
> --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg
> --enable-libopus --enable-libpulse --enable-librtmp
> --enable-libschroedinger --enable-libshine --enable-libsnappy
> --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora
> --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack
> --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi
> --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394
> --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264
> --enable-libopencv
>   libavutil  54. 31.100 / 54. 31.100
>   libavcodec 56. 60.100 / 56. 60.100
>   libavformat56. 40.101 / 56. 40.101
>   libavdevice56.  4.100 / 56.  4.100
>   libavfilter 5. 40.101 /  5. 40.101
>   libavresample   2.  1.  0 /  2.  1.  0
>   libswscale  3.  1.101 /  3.  1.101
>   libswresample   1.  2.101 /  1.  2.101
>   libpostproc53.  3.100 / 53.  3.100
> [mjpeg @ 0x1f44700] Changeing bps to 8
> Input #0, image2, from 'unifi/unifi*.jpg':
>   Duration: 00:05:52.12, start: 0.00, bitrate: N/A
> Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown),
> 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
> File 'unifi-lot835-hd-2018-12-18.mp4' already exists. Overwrite ? [y/N] y
> No pixel format specified, yuvj420p for H.264 encoding chosen.
> Use -pix_fmt yuv420p for compatibility with outdated media players.
> [libx264 @ 0x1f53d00] using SAR=1/1
> [libx264 @ 0x1f53d00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
> AVX
> [libx264 @ 0x1f53d00] profile High, level 4.2
> [libx264 @ 0x1f53d00] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC
> codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options:
> cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1
> psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1
> cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6
> lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0
> bluray_compat=0 constrained_intra=0 bframes=3 b_pyr

Re: [FFmpeg-user] Copy Audio

2018-12-18 Thread Chris
The original audio is:

ID   : 2
Format   : PCM
Format settings  : Big / Signed
Codec ID : twos
Duration : 1 min 42 s
Bit rate mode: Constant
Bit rate : 1 536 kb/s
Channel(s)   : 2 channels
Sampling rate: 48.0 kHz
Bit depth: 16 bits

>>This is writing invalid files. mp4 does not allow pcm_s16be.

That is the audio ffmpeg is being told to copy. In v 4.0 it successfully copies 
the audio which can then be played back.

In v 4.1 it does not copy the audio but rather throws errors.

-Original Message-
From: Paul B Mahol 
To: FFmpeg user questions 
Sent: Tue, Dec 18, 2018 11:49 am
Subject: Re: [FFmpeg-user] Copy Audio


On 12/18/18, Chris  wrote:
>> Can you post the complete terminal output and command line of what you see
>> when you run the process with 4.0?
>
> Command line:
>
> ffmpeg -y -i "D:\Videos\Trains\December_6_2018_San_Jose\C0073.MP4"  -crf 1
> -c:v libx264  -pix_fmt yuv420p  -s 1280x720  -r 59.94  -vf
> eq=gamma=0.83,lutyuv=y='clip(val,26,220)'  -c:a copy  processed.mp4
>

This is writing invalid files. mp4 does not allow pcm_s16be.

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Comparing audio to sync video

2018-12-18 Thread Joshua Grauman

On Tue, 18 Dec 2018, Carl Zwanzig wrote:

 2018-12-18 12:36 GMT+01:00, Joshua Grauman :


 I have two video cameras recording an event 30 minutes long.[...] The
 audio won't
 be exactly identical as they are two different cameras, different mics,
 different locations, but they are both recording an interview, so the
 audio should be able to be synced. 


So, effectively you have two -different- videos. To a human, they may sound 
and look mostly the same, but really they're different. "be able to be 
synced" does not necessarily imply "easy to be done" here. (If they had the 
same audio feed, it would be much easier. Heck, if they both recorded real 
timecode, it would be almost trivial.)



 Or are you searching for an automated process to get two independent
 video in-sync?


If that's the goal, there needs to be a readily identifiable sound or visual 
marker at the start of the videos as a sync point, then a process to -find- 
those and get a timecode. The process also needs to know what that marker is 
to look for it. There's a non-trivial amount of processing involved to find 
and make the identification.


If this is an occasional task, you're better off opening the two videos in an 
editor and sliding the timelines around so they match.


Yes, two different videos but which should be strongly correlated. I found 
some code to compute cross-correlation which should work, see my previous 
post. Thanks for the suggestion about an easy to find marker, such as a 
'clap' or something, that could also come in handy.


And sorry for top-posting in my last post. Bad habit...

Josh
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Comparing audio to sync video

2018-12-18 Thread Joshua Grauman
Yes, exactly. Thanks for the mathematical name for what I'm trying to do. 
I don't necessarily need to do it in ffmpeg, so I found this, which should 
be easy to adapt for my needs (includes sample C code).


http://paulbourke.net/miscellaneous/correlate

Josh




 I have two video cameras recording an event 30 minutes long. I hit start
 on the two cameras at different times. I would like to figure out a
 command-line script that can basically diff the audio to figure out the
 difference between the start times and align the videos. The audio won't
 be exactly identical as they are two different cameras, different mics,
 different locations, but they are both recording an interview, so the
 audio should be able to be synced. Any ideas?


I think to automatically find the best-fit audio delay between the two tracks 
you would need to calculate a cross correlation of the two audio tracks. As 
far as I know this doesn't exist in ffmpeg. But it would be nice to have.


Michael

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Get exact duration of an mpeg1 file

2018-12-18 Thread Carl Eugen Hoyos
2018-12-18 21:49 GMT+01:00, Robert Krüger :
> On Fri, Dec 14, 2018 at 5:28 PM Carl Eugen Hoyos  wrote:
>
>> 2018-12-14 17:19 GMT+01:00, Robert Krüger :
>> > On Fri, Dec 14, 2018 at 3:03 AM Carl Eugen Hoyos 
>> wrote:
>> >
>> >> 2018-12-13 17:10 GMT+01:00, Robert Krüger :
>> >>
>> >> > is there a way to get the exact duration of a raw mpeg1 file using
>> >> > the
>> >> > ffmpeg command line? For testing I created a 30 minute test file
>> >> > using
>> >> > ffmpeg (using -c:v mpeg1video -f mpeg1video), then verified the
>> duration
>> >> > using VLC and mediainfo and it is indeed exactly 30 minutes long but
>> >> > ffmpeg -i shows the file's duration as 00:00:04.98 after displaying
>> this
>> >> > warning:
>> >> >
>> >> > [mpegvideo @ 0x7fe212806000] Estimating duration from bitrate, this
>> >> > may be inaccurate
>> >> >
>> >> > Are there command line parameters to make it compute the exact
>> >> > size or is this a design or implementation limitation?
>> >>
>> >> Just the mpeg specification;-)
>> >>
>> > Yes, sure, having to count packets/frames is unavoidable for some
>> formats.
>> > My question is rather whether ffmpeg's (or rather libavformat's)
>> > duration
>> > computation code can be made to do this internally without these
>> > workarounds.
>> >
>> >> $ ffmpeg -i input -c copy -f null -
>> >
>> > Thanks for the command line.
>> >
>> > Just a comparison: This approach gives me the duration information for a
>> > 180 minute file in 1.8 seconds while mediainfo does it in 0.25 seconds
>>
>> (Does your input have timestamp discontinuities? You could try to
>> concatenate a few parts - or cut away something - from the input file.)
>>
>
> Very unlikely since I generated the sample using an ffmpeg command line
> using testsrc.

But you should test with a file with timestamp discontinuities to
test your claim that it can be done faster than with FFmpeg.

>> > (being exact while ffmpeg is a few frames off, but that's a different
>> > topic), so there must be a faster way to implement it.
>>
>> Patch probably welcome.
>>
>
> My asking is actually with the motivation to get enough information about
> the problem as possible to decide whether to offer sponsoring for a patch
> implementing the behaviour I describe, so it's good to know a patch would
> be welcome.
>
>
>>
>> > Tested with a number
>> > of different files with identical results in principle.
>>
>> > What keeps confusing me is that analyzeduration and probesize really
>> > seem
>> > to be the parameters that should address the behaviour
>>
>> No, you misunderstand "analyzeduration", it does not analyze the
>> duration of the input but specifies the duration that should be used
>> for analysis.
>>
>
> That's how I understood it, so in my tests I set it to a value beyond the
> duration of the file so that, if needed, the entire file is parsed for
> calculating its duration (as well as setting probesize to a value larger
> than the file size) but that did not happen.

Sorry for being unclear: The "analysis" does not contain file duration.

Carl Eugen
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Get exact duration of an mpeg1 file

2018-12-18 Thread Robert Krüger
On Fri, Dec 14, 2018 at 5:31 PM Carl Zwanzig  wrote:

> On 12/14/2018 8:19 AM, Robert Krüger wrote:
> > Just a comparison: This approach gives me the duration information for a
> > 180 minute file in 1.8 seconds while mediainfo does it in 0.25 seconds
> > (being exact while ffmpeg is a few frames off, but that's a different
> > topic), so there must be a faster way to implement it. Tested with a
> number
> > of different files with identical results in principle.
>
> I'd have to look at the code, and I'm not going to now :), but maybe
> mediainfo is looking at time stamps and calculating. As another tool, have
> you tried mplayer to see what it comes up with?
>
> know because I'm actually more interested in getting this to work using
libavformat and I am just testing the possibilities using the command line.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Get exact duration of an mpeg1 file

2018-12-18 Thread Robert Krüger
On Fri, Dec 14, 2018 at 5:28 PM Carl Eugen Hoyos  wrote:

> 2018-12-14 17:19 GMT+01:00, Robert Krüger :
> > On Fri, Dec 14, 2018 at 3:03 AM Carl Eugen Hoyos 
> wrote:
> >
> >> 2018-12-13 17:10 GMT+01:00, Robert Krüger :
> >>
> >> > is there a way to get the exact duration of a raw mpeg1 file using the
> >> > ffmpeg command line? For testing I created a 30 minute test file using
> >> > ffmpeg (using -c:v mpeg1video -f mpeg1video), then verified the
> duration
> >> > using VLC and mediainfo and it is indeed exactly 30 minutes long but
> >> > ffmpeg -i shows the file's duration as 00:00:04.98 after displaying
> this
> >> > warning:
> >> >
> >> > [mpegvideo @ 0x7fe212806000] Estimating duration from bitrate, this
> >> > may be inaccurate
> >> >
> >> > Are there command line parameters to make it compute the exact
> >> > size or is this a design or implementation limitation?
> >>
> >> Just the mpeg specification;-)
> >>
> > Yes, sure, having to count packets/frames is unavoidable for some
> formats.
> > My question is rather whether ffmpeg's (or rather libavformat's) duration
> > computation code can be made to do this internally without these
> > workarounds.
> >
> >> $ ffmpeg -i input -c copy -f null -
> >
> > Thanks for the command line.
> >
> > Just a comparison: This approach gives me the duration information for a
> > 180 minute file in 1.8 seconds while mediainfo does it in 0.25 seconds
>
> (Does your input have timestamp discontinuities? You could try to
> concatenate a few parts - or cut away something - from the input file.)
>

Very unlikely since I generated the sample using an ffmpeg command line
using testsrc.


>
> > (being exact while ffmpeg is a few frames off, but that's a different
> > topic), so there must be a faster way to implement it.
>
> Patch probably welcome.
>

My asking is actually with the motivation to get enough information about
the problem as possible to decide whether to offer sponsoring for a patch
implementing the behaviour I describe, so it's good to know a patch would
be welcome.


>
> > Tested with a number
> > of different files with identical results in principle.
>
> > What keeps confusing me is that analyzeduration and probesize really seem
> > to be the parameters that should address the behaviour
>
> No, you misunderstand "analyzeduration", it does not analyze the
> duration of the input but specifies the duration that should be used
> for analysis.
>

That's how I understood it, so in my tests I set it to a value beyond the
duration of the file so that, if needed, the entire file is parsed for
calculating its duration (as well as setting probesize to a value larger
than the file size) but that did not happen.

Robert


>
> Carl Eugen
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Replace dropped frames in H264

2018-12-18 Thread Aviv Hurvitz
Apologies that my question is hardly related to Ffmpeg. Just trying to tap
into the knowledge of the experts on this user group.

On Tue, Dec 18, 2018 at 10:32 PM Aviv Hurvitz 
wrote:

> I am dealing with a system that transfers H264 over the internet in the
> following way:
> We break the encoded stream into frames, then we send individual frames
> over the network, then we piece the stream back together.
>
> The problem is that due to inadequate network speed we sometimes drop
> frames out of the stream. When we piece the stream back together, it has
> gaps of course, which corrupts that group-of-frames, but what is worse -
> seeking by timestamp is incorrect.
>
> What I want to do is fill the dropped frames with some spacer that will
> ensure the video has the correct length and seeks by timestamp will work.
>
> I am willing to replace individual frames or even entire groups-of-frames
> to make the seeking work.
>
> The video is fixed rate 25 FPS, has no B frames, has I frames every second.
> I know exactly which frames were dropped.
> My question is: how do I make the spacer frames? Say, if a P frame was
> lost, would it make sense to duplicate the P frame that came before it to
> make a spacer?
>
>
>
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] Replace dropped frames in H264

2018-12-18 Thread Aviv Hurvitz
I am dealing with a system that transfers H264 over the internet in the
following way:
We break the encoded stream into frames, then we send individual frames
over the network, then we piece the stream back together.

The problem is that due to inadequate network speed we sometimes drop
frames out of the stream. When we piece the stream back together, it has
gaps of course, which corrupts that group-of-frames, but what is worse -
seeking by timestamp is incorrect.

What I want to do is fill the dropped frames with some spacer that will
ensure the video has the correct length and seeks by timestamp will work.

I am willing to replace individual frames or even entire groups-of-frames
to make the seeking work.

The video is fixed rate 25 FPS, has no B frames, has I frames every second.
I know exactly which frames were dropped.
My question is: how do I make the spacer frames? Say, if a P frame was
lost, would it make sense to duplicate the P frame that came before it to
make a spacer?
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] Raspberry Pi stream & save two camera feeds simultaneously

2018-12-18 Thread Jack Lewis
On a raspberry pi 3B+, I need to accomplish two things.
Thing 1.) I have two USB cameras connected. I need to combine their feeds
into one video, which I have sort of accomplished via the
"filter_complex hstack=inputs=2". The combined video is rather glitchy,
however, with video artifacting and bizarre frame-in-frame popins from time
to time. I'm wondering if this can be lessened somehow.
Thing 2.) In addition to saving these camera's output in a local file, I
would like to simultaneously serve the live stream of this combined view to
web browsers on the local network, including the Pi's own browser. I'm kind
of close -- I recently discovered the "tee" muxer. However apparently
ffserver has been discontinued(?) and I'm not certain how to proceed on
this front.

Any advice much appreciated.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Copy Audio

2018-12-18 Thread Paul B Mahol
On 12/18/18, Chris  wrote:
>> Can you post the complete terminal output and command line of what you see
>> when you run the process with 4.0?
>
> Command line:
>
> ffmpeg -y -i "D:\Videos\Trains\December_6_2018_San_Jose\C0073.MP4"  -crf 1
> -c:v libx264  -pix_fmt yuv420p  -s 1280x720  -r 59.94  -vf
> eq=gamma=0.83,lutyuv=y='clip(val,26,220)'  -c:a copy  processed.mp4
>

This is writing invalid files. mp4 does not allow pcm_s16be.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Comparing audio to sync video

2018-12-18 Thread Michael Koch


I have two video cameras recording an event 30 minutes long. I hit 
start on the two cameras at different times. I would like to figure 
out a command-line script that can basically diff the audio to figure 
out the difference between the start times and align the videos. The 
audio won't be exactly identical as they are two different cameras, 
different mics, different locations, but they are both recording an 
interview, so the audio should be able to be synced. Any ideas?


I think to automatically find the best-fit audio delay between the two 
tracks you would need to calculate a cross correlation of the two audio 
tracks. As far as I know this doesn't exist in ffmpeg. But it would be 
nice to have.


Michael

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Copy Audio

2018-12-18 Thread Chris
> Can you post the complete terminal output and command line of what you see
> when you run the process with 4.0?

Command line:

ffmpeg -y -i "D:\Videos\Trains\December_6_2018_San_Jose\C0073.MP4"  -crf 1  
-c:v libx264  -pix_fmt yuv420p  -s 1280x720  -r 59.94  -vf 
eq=gamma=0.83,lutyuv=y='clip(val,26,220)'  -c:a copy  processed.mp4

ffmpeg output:

ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib 
--enable-fontconfig --enable-gnutls --enable-iconv --enable-libass 
--enable-libbluray --enable-libfreetype --enable-libmp3lame 
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg 
--enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr 
--enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack 
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 
--enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab 
--enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex 
--enable-libxvid --enable-libaom --enable-libmfx --enable-amf 
--enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc 
--enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil  56. 14.100 / 56. 14.100
  libavcodec 58. 18.100 / 58. 18.100
  libavformat58. 12.100 / 58. 12.100
  libavdevice58.  3.100 / 58.  3.100
  libavfilter 7. 16.100 /  7. 16.100
  libswscale  5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc55.  1.100 / 55.  1.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 
'D:\Videos\Trains\December_6_2018_San_Jose\C0073.MP4':
  Metadata:
major_brand : XAVC
minor_version   : 16785407
compatible_brands: XAVCmp42iso2
creation_time   : 2018-12-06T23:42:50.00Z
  Duration: 00:01:42.10, start: 0.00, bitrate: 51786 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, 
bt709/bt709/iec61966-2-4), 1920x1080 [SAR 1:1 DAR 16:9], 49756 kb/s, 59.94 fps, 
59.94 tbr, 60k tbn, 119.88 tbc (default)
Metadata:
  creation_time   : 2018-12-06T23:42:50.00Z
  handler_name: Video Media Handler
  encoder : AVC Coding
Stream #0:1(und): Audio: pcm_s16be (twos / 0x736F7774), 48000 Hz, stereo, 
s16, 1536 kb/s (default)
Metadata:
  creation_time   : 2018-12-06T23:42:50.00Z
  handler_name: Sound Media Handler
Stream #0:2(und): Data: none (rtmd / 0x646D7472), 491 kb/s (default)
Metadata:
  creation_time   : 2018-12-06T23:42:50.00Z
  handler_name: Timed Metadata Media Handler
  timecode: 00:57:25:58
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[libx264 @ 0272112b7e40] using SAR=1/1
[libx264 @ 0272112b7e40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 
AVX
[libx264 @ 0272112b7e40] profile High, level 3.2
[libx264 @ 0272112b7e40] 264 - core 155 r2901 7d0ff22 - H.264/MPEG-4 AVC 
codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: 
cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 
psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 
deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 
sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 
constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 
open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 
rc_lookahead=40 rc=crf mbtree=1 crf=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 
ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'processed.mp4':
  Metadata:
major_brand : XAVC
minor_version   : 16785407
compatible_brands: XAVCmp42iso2
encoder : Lavf58.12.100
Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 
1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 59.94 fps, 11988 tbn, 59.94 tbc (default)
Metadata:
  creation_time   : 2018-12-06T23:42:50.00Z
  handler_name: Video Media Handler
  encoder : Lavc58.18.100 libx264
Side data:
  cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1(und): Audio: pcm_s16be (twos / 0x736F7774), 48000 Hz, stereo, 
s16, 1536 kb/s (default)
Metadata:
  creation_time   : 2018-12-06T23:42:50.00Z
  handler_name: Sound Media Handler
frame=   35 fps=0.0 q=0.0 size=   0kB time=00:00:00.49 bitrate=   
0.8kbitframe=   61 fps= 55 q=9.0 size=1536kB time=00:00:00.99 
bitrate=12695.4kbiframe=   76 fps= 47 q=9.0 size=4608kB time=00:00:00.99 
bitrate=38085.5kbiframe=   95 fps= 45 q=9.0 size=8192kB time=00:00:01.49 
bitrate=44989.4kbiframe=  109 fps= 39 q=9.0 size=   11264kB time=00:00:01.49 
bitrate=61860.4kbiframe=  125 fps= 37 q=9.0 size=   14592kB tim

Re: [FFmpeg-user] Comparing audio to sync video

2018-12-18 Thread Carl Zwanzig

On 12/18/2018 10:27 AM, Carl Eugen Hoyos wrote:

2018-12-18 12:36 GMT+01:00, Joshua Grauman :


I have two video cameras recording an event 30 minutes long.[...] The audio 
won't
be exactly identical as they are two different cameras, different mics,
different locations, but they are both recording an interview, so the
audio should be able to be synced. 


So, effectively you have two -different- videos. To a human, they may sound 
and look mostly the same, but really they're different. "be able to be 
synced" does not necessarily imply "easy to be done" here. (If they had the 
same audio feed, it would be much easier. Heck, if they both recorded real 
timecode, it would be almost trivial.)



Or are you searching for an automated process to get two independent
video in-sync?


If that's the goal, there needs to be a readily identifiable sound or visual 
marker at the start of the videos as a sync point, then a process to -find- 
those and get a timecode. The process also needs to know what that marker is 
to look for it. There's a non-trivial amount of processing involved to find 
and make the identification.


If this is an occasional task, you're better off opening the two videos in 
an editor and sliding the timelines around so they match.


Later,

z!
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Comparing audio to sync video

2018-12-18 Thread Carl Eugen Hoyos
2018-12-18 12:36 GMT+01:00, Joshua Grauman :

> I have two video cameras recording an event 30 minutes long. I hit start
> on the two cameras at different times. I would like to figure out a
> command-line script that can basically diff the audio to figure out the
> difference between the start times and align the videos. The audio won't
> be exactly identical as they are two different cameras, different mics,
> different locations, but they are both recording an interview, so the
> audio should be able to be synced. Any ideas?

Are you asking how to find out the delay for one pair of videos?
You could use a filter chain and audio visualization to see the
delay.

Or are you searching for an automated process to get two independent
video in-sync?

Carl Eugen
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] detelecine without reencoding ?

2018-12-18 Thread Carl Eugen Hoyos
2018-12-18 19:17 GMT+01:00, sean darcy :
> I've got a VOB soft telecined 24 fps -> 3000/1001. Actually 28.83 fps -
> what's that about ?
>
> ffprobej 0.VOB
> Input #0, mpeg, from '0.VOB':
>Duration: 01:42:49.76, start: 0.023444, bitrate: 5473 kb/s
>  Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv,
> progressive), 720x480 [SAR 8:9 DAR 4:3], Closed Captions, 28.83 fps,
> 59.94 tbr, 90k tbn, 59.94 tbc
>  Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
> ..
> pkt_duration=4504
> pkt_duration=3003
> pkt_duration=4504
> pkt_duration=3003
> pkt_duration=4504
> pkt_duration=3003
>
>
> I'd like to detelectine, I want to keep the original , so I'd prefer not
> to reencode.
>
> I tried
>
> ffmpeg -i 0.VOB -r 24000/1001 -c copy test.mkv
>
> ffprobej test.mkv
> Input #0, matroska,webm, from 'test.mkv':
>Metadata:
>  ENCODER : Lavf58.23.102
>Duration: 01:42:49.82, start: 0.00, bitrate: 4977 kb/s
>  Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, progressive),
> 720x480 [SAR 8:9 DAR 4:3], Closed Captions, 28.83 fps, 28.83 tbr, 1k
> tbn, 59.94 tbc (default)
>  Metadata:
>DURATION: 01:42:49.81900
>  Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
>  Metadata:
>DURATION: 01:42:49.72800
>
>
> So I tried:
>
> ffmpeg -i 0.VOB -r 24000/1001 -map v -map i:0x80 -c:v mpeg2video -b:v
> 5500k -c:a copy test3.mkv
> ffmpeg version git-snapshot-20181206-RPMFusion Copyright (c) 2000-2018
> the FFmpeg developers
>built with gcc 8 (GCC)
>
>configuration: --prefix=/usr --bindir=/usr/bin
> --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/li
> b64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -ffast-math
> -march=native -ftree-vectorize -fomit-frame-pointer
> -pipe -fPIC' --enable-bzlib --disable-crystalhd --enable-fontconfig
> --enable-frei0r --enable-gcrypt --enable-gnutls --enab
> le-ladspa --enable-libass --enable-libbluray --enable-libcdio
> --disable-libdav1d --enable-libfdk-aac --enable-nonfree --en
> able-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm
> --enable-libmp3lame --enable-openal --enable-open
> cl --disable-libopencv --enable-opengl --enable-libopenjpeg
> --enable-libopus --enable-libpulse --enable-libsoxr --enable-l
> ibspeex --enable-libtheora --enable-libvorbis --enable-libv4l2
> --enable-libvpx --enable-libwebp --enable-libx264 --enable-
> libx265 --enable-avfilter --enable-postproc --enable-pthreads
> --disable-static --enable-shared --enable-gpl --enable-versi
> on3 --enable-nonfree --disable-debug --enable-stripping
> --shlibdir=/usr/lib64 --enable-runtime-cpudetect
>libavutil  56. 24.101 / 56. 24.101
>
>libavcodec 58. 41.101 / 58. 41.101
>
>libavformat58. 23.102 / 58. 23.102
>
>libavdevice58.  6.101 / 58.  6.101
>
>libavfilter 7. 46.101 /  7. 46.101
>
>libswscale  5.  4.100 /  5.  4.100
>
>libswresample   3.  4.100 /  3.  4.100
>
>libpostproc55.  4.100 / 55.  4.100
>
> Input #0, mpeg, from '0.VOB':
>
>Duration: 01:42:49.76, start: 0.023444, bitrate: 5473 kb/s
>  Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv,
> progressive), 720x480 [SAR 8:9 DAR 4:3], Closed Captions, 2$.83 fps,
> 59.94 tbr, 90k tbn, 59.94 tbc
>  Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
>
>  Stream #0:2[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
>  Stream #0:3[0x81]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
> Stream mapping:
>Stream #0:0 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
>Stream #0:1 -> #0:1 (copy)
> Press [q] to stop, [?] for help
> Output #0, matroska, to 'test3.mkv':
>Metadata:
>  encoder : Lavf58.23.102
>  Stream #0:0: Video: mpeg2video (Main) (mpg2 / 0x3267706D), yuv420p,
> 720x480 [SAR 8:9 DAR 4:3], q=2-31, 5500 kb/s, 23.9
> 8 fps, 1k tbn, 23.98 tbc
>  Metadata:
>encoder : Lavc58.41.101 mpeg2video
>  Side data:
>cpb: bitrate max/min/avg: 0/0/550 buffer size: 0 vbv_delay: -1
>  Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side),
> fltp, 384 kb/s
> [mpeg @ 0x1616340] New subtitle stream 0:4 at pos:13842446 and
> DTS:20.7662sits/s dup=0 drop=1 speed=38.3x
> [mpeg @ 0x1616340] New subtitle stream 0:5 at pos:13850638 and DTS:20.7662s
> [mpeg @ 0x1616340] New subtitle stream 0:6 at pos:13852686 and DTS:20.7662s
> [mpeg @ 0x1616340] New subtitle stream 0:7 at pos:13854734 and DTS:20.7662s
> [mpeg @ 0x1616340] New subtitle stream 0:8 at pos:13856782 and DTS:20.7662s
> [mpeg @ 0x1616340] New subtitle stream 0:9 at pos:13858830 and DTS:20.7662s
> frame=147928 fps=880 q=2.0 Lsize= 4431149kB time=01:42:49.79

> bitrate=5883.5kbits/s dup=0 drop=200 speed=36.7x

Contrary to what you claim below, this seems not to have worked:
You dropped frames which is typically no intended.

What is wrong with the file you have?

Carl

Re: [FFmpeg-user] detelecine without reencoding ?

2018-12-18 Thread Carl Eugen Hoyos
2018-12-18 19:17 GMT+01:00, sean darcy :
> I've got a VOB soft telecined 24 fps -> 3000/1001.

You cannot detelecine soft-telecine with FFmpeg because FFmpeg
ignores soft-telecine as should your digital player.

Carl Eugen
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] detelecine without reencoding ?

2018-12-18 Thread sean darcy
I've got a VOB soft telecined 24 fps -> 3000/1001. Actually 28.83 fps - 
what's that about ?


ffprobej 0.VOB
Input #0, mpeg, from '0.VOB':
  Duration: 01:42:49.76, start: 0.023444, bitrate: 5473 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, 
progressive), 720x480 [SAR 8:9 DAR 4:3], Closed Captions, 28.83 fps, 
59.94 tbr, 90k tbn, 59.94 tbc

Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
..
pkt_duration=4504
pkt_duration=3003
pkt_duration=4504
pkt_duration=3003
pkt_duration=4504
pkt_duration=3003


I'd like to detelectine, I want to keep the original , so I'd prefer not 
to reencode.


I tried

ffmpeg -i 0.VOB -r 24000/1001 -c copy test.mkv

ffprobej test.mkv
Input #0, matroska,webm, from 'test.mkv':
  Metadata:
ENCODER : Lavf58.23.102
  Duration: 01:42:49.82, start: 0.00, bitrate: 4977 kb/s
Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, progressive), 
720x480 [SAR 8:9 DAR 4:3], Closed Captions, 28.83 fps, 28.83 tbr, 1k 
tbn, 59.94 tbc (default)

Metadata:
  DURATION: 01:42:49.81900
Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
Metadata:
  DURATION: 01:42:49.72800


So I tried:

ffmpeg -i 0.VOB -r 24000/1001 -map v -map i:0x80 -c:v mpeg2video -b:v 
5500k -c:a copy test3.mkv
ffmpeg version git-snapshot-20181206-RPMFusion Copyright (c) 2000-2018 
the FFmpeg developers
  built with gcc 8 (GCC) 

  configuration: --prefix=/usr --bindir=/usr/bin 
--datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/li
b64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -ffast-math 
-march=native -ftree-vectorize -fomit-frame-pointer
-pipe -fPIC' --enable-bzlib --disable-crystalhd --enable-fontconfig 
--enable-frei0r --enable-gcrypt --enable-gnutls --enab
le-ladspa --enable-libass --enable-libbluray --enable-libcdio 
--disable-libdav1d --enable-libfdk-aac --enable-nonfree --en
able-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm 
--enable-libmp3lame --enable-openal --enable-open
cl --disable-libopencv --enable-opengl --enable-libopenjpeg 
--enable-libopus --enable-libpulse --enable-libsoxr --enable-l
ibspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 
--enable-libvpx --enable-libwebp --enable-libx264 --enable-
libx265 --enable-avfilter --enable-postproc --enable-pthreads 
--disable-static --enable-shared --enable-gpl --enable-versi
on3 --enable-nonfree --disable-debug --enable-stripping 
--shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil  56. 24.101 / 56. 24.101 

  libavcodec 58. 41.101 / 58. 41.101 

  libavformat58. 23.102 / 58. 23.102 

  libavdevice58.  6.101 / 58.  6.101 

  libavfilter 7. 46.101 /  7. 46.101 

  libswscale  5.  4.100 /  5.  4.100 

  libswresample   3.  4.100 /  3.  4.100 

  libpostproc55.  4.100 / 55.  4.100 

Input #0, mpeg, from '0.VOB': 


  Duration: 01:42:49.76, start: 0.023444, bitrate: 5473 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, 
progressive), 720x480 [SAR 8:9 DAR 4:3], Closed Captions, 2$.83 fps, 
59.94 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s 


Stream #0:2[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:3[0x81]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
Output #0, matroska, to 'test3.mkv':
  Metadata:
encoder : Lavf58.23.102
Stream #0:0: Video: mpeg2video (Main) (mpg2 / 0x3267706D), yuv420p, 
720x480 [SAR 8:9 DAR 4:3], q=2-31, 5500 kb/s, 23.9

8 fps, 1k tbn, 23.98 tbc
Metadata:
  encoder : Lavc58.41.101 mpeg2video
Side data:
  cpb: bitrate max/min/avg: 0/0/550 buffer size: 0 vbv_delay: -1
Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), 
fltp, 384 kb/s
[mpeg @ 0x1616340] New subtitle stream 0:4 at pos:13842446 and 
DTS:20.7662sits/s dup=0 drop=1 speed=38.3x

[mpeg @ 0x1616340] New subtitle stream 0:5 at pos:13850638 and DTS:20.7662s
[mpeg @ 0x1616340] New subtitle stream 0:6 at pos:13852686 and DTS:20.7662s
[mpeg @ 0x1616340] New subtitle stream 0:7 at pos:13854734 and DTS:20.7662s
[mpeg @ 0x1616340] New subtitle stream 0:8 at pos:13856782 and DTS:20.7662s
[mpeg @ 0x1616340] New subtitle stream 0:9 at pos:13858830 and DTS:20.7662s
frame=147928 fps=880 q=2.0 Lsize= 4431149kB time=01:42:49.79 
bitrate=5883.5kbits/s dup=0 drop=200 speed=36.7x
video:4138930kB audio:289208kB subtitle:0kB other streams:0kB global 
headers:0kB muxing overhead: 0.068010%


And that seems to work.

My questions:

Is there a way to de telecine without reencoding ?

If I have to reencode, does Stream #0:0 -> #0:0 (mpeg2video (native) -> 
mpeg2video (native)) actually reencode. Or does it just copy the frame 
content ? Is there a better way to archive this VOB ?


__

Re: [FFmpeg-user] FFMPEG RTMP Help

2018-12-18 Thread Carl Eugen Hoyos
2018-12-18 17:46 GMT+01:00, Dave Stein :

> I just subscribed here after having some trouble with ffmpeg
> CLI and being unable to post in the IRC channel #ffmpeg. If
> anyone can help me with the latter, much appreciated in direct
> email back.

While the irc channel should be unmoderated (what doesn't work
there?), feel free to ask your question here if you tested current
FFmpeg git head and if you can provide the command line you
tested together with the complete, uncut console output.

Carl Eugen
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] Comparing audio to sync video

2018-12-18 Thread Joshua Grauman

Hi all,

I have two video cameras recording an event 30 minutes long. I hit start 
on the two cameras at different times. I would like to figure out a 
command-line script that can basically diff the audio to figure out the 
difference between the start times and align the videos. The audio won't 
be exactly identical as they are two different cameras, different mics, 
different locations, but they are both recording an interview, so the 
audio should be able to be synced. Any ideas?


Josh
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] Creation of timelapse video stops at 133080144 bytes

2018-12-18 Thread David Ulevitch
Hi ffmpeg-users,

I have been creating a timelapse video of images pulled from a security
camera and all was going great until a few days ago when the ffmpeg process
completes (seemingly without error) but the video size is no longer growing
and the video length stops at 2:01, despite the input file count growing (1
new image per minute).

Each output video file is now 133080144 bytes and never grows. Nothing else
has changed, I'm using pattern_type glob and the shell should have no issue
with 8000+ files on the command line.

Here is my command to generate the video:

#!/bin/sh
export TZ=America/Denver
date=$(date +"%Y-%m-%d_%H:%M");
ffmpeg -r 60 -pattern_type glob -i 'unifi/unifi*.jpg' -s hd1080 -movflags
+faststart -vcodec libx264 -loglevel quiet -y unifi-lot835-hd-$date.mp4


`ls 'unifi/unifi*.jpg' | wc` shows 8700+ files, and grows by 1 file each
minute. Yet the ffmpeg command now just stops at the same timelength and
filesize each time.

Any ideas what limits I'm hitting or why it's no longer making the file
larger / longer? What else can I answer or look into to help debug this?

I do get a lot of these, but the Internet seems to indicate I should ignore
them:

Past duration 0.92 too large  126341kB time=00:01:58.80
bitrate=8712.0kbits/s dup=1 drop=0
Last message repeated 6 times


I've attached the top x lines of the command without the quiet log level
below. I changed a few CLI flags when running outside the script as you'll
see, but the problem remains the same.

Thanks,
David

- Debug stuff below ---

Command Start Output
$ time ffmpeg -r 60 -pattern_type glob -i "unifi/unifi*.jpg" -movflags
+faststart -s hd1080 -vcodec libx264 unifi-lot835-hd-2018-12-18.mp4 && ln
-sf unifi-lot835-hd-2018-12-18.mp4 unifi-hd.mp4
ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg
developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1
--build-suffix=-ffmpeg --toolchain=hardened
--libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu
--cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping
--disable-decoder=libopenjpeg --disable-decoder=libschroedinger
--enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa
--enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
--enable-libcdio --enable-libflite --enable-libfontconfig
--enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm
--enable-libmodplug --enable-libmp3lame --enable-libopenjpeg
--enable-libopus --enable-libpulse --enable-librtmp
--enable-libschroedinger --enable-libshine --enable-libsnappy
--enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora
--enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack
--enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi
--enable-openal --enable-opengl --enable-x11grab --enable-libdc1394
--enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264
--enable-libopencv
  libavutil  54. 31.100 / 54. 31.100
  libavcodec 56. 60.100 / 56. 60.100
  libavformat56. 40.101 / 56. 40.101
  libavdevice56.  4.100 / 56.  4.100
  libavfilter 5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale  3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc53.  3.100 / 53.  3.100
[mjpeg @ 0x1f44700] Changeing bps to 8
Input #0, image2, from 'unifi/unifi*.jpg':
  Duration: 00:05:52.12, start: 0.00, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown),
1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
File 'unifi-lot835-hd-2018-12-18.mp4' already exists. Overwrite ? [y/N] y
No pixel format specified, yuvj420p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x1f53d00] using SAR=1/1
[libx264 @ 0x1f53d00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x1f53d00] profile High, level 4.2
[libx264 @ 0x1f53d00] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec
- Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1
ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00
mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11
fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1
sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0
constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1
weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40
intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0
qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'unifi-lot835-hd-2018-12-18.mp4':
  Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021),
yuvj420p(pc), 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 60 fps, 15360 tbn, 60
tbc
Metadata:

Re: [FFmpeg-user] IP Camera stream copy to multiple outputs

2018-12-18 Thread Carl Eugen Hoyos
2018-12-18 13:28 GMT+01:00, DopeLabs :
> assuming h264/aac
>
> ffmpeg -i ipcam -c copy -f flv rtmp://youtube -f mp4 localfile.mp4

This has the disadvantage of encoding two streams, an alternative
can be the tee muxer.

Please remember not to top-post here, Carl Eugen
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Need assistance finding l transcoding

2018-12-18 Thread Reindl Harald


Am 18.12.18 um 17:50 schrieb Jim Shupert:
> ;)
> strictly prohibited.
> If you have received this transmission in error,
> please reply to the sender listed above immediately and permanently
> delete this message from your inbox.
> :)
> 
> I am not so sure i " received this transmission in error "
> but -- ok -- i deleted it

yeah all these fools with their "If you are not the intended recipient"
while in that case it won't enter my inbox not realizing that this
bullshit don't belong to public lists and if it#s added by the smtp
server they have to use a different service for public communication

and they have to add that shit on top *before* you even read the content
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Need assistance finding l transcoding

2018-12-18 Thread Jim Shupert

;)
strictly prohibited.
If you have received this transmission in error,
please reply to the sender listed above immediately and permanently delete this 
message from your inbox.
:)

I am not so sure i " received this transmission in error "
but -- ok -- i deleted it

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] FFMPEG RTMP Help

2018-12-18 Thread Dave Stein
Hello All,

I just subscribed here after having some trouble with ffmpeg CLI and being 
unable to post in the IRC channel #ffmpeg. If anyone can help me with the 
latter, much appreciated in direct email back.

I have been unable to get a test video to stream to an RTMP endpoint. Even when 
having the the log level set to trace, I can’t tell what is going wrong other 
than an “Input/output error”. I created a question on StackOverflow., which 
shows everything I have tried in a more readable format than email:

https://stackoverflow.com/questions/53836057/why-would-i-receive-input-output-error-with-testsrc-ffmpeg

Thanks for any help!

D
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] IP Camera stream copy to multiple outputs

2018-12-18 Thread DopeLabs
assuming h264/aac

ffmpeg -i ipcam -c copy -f flv rtmp://youtube -f mp4 localfile.mp4



> On Dec 18, 2018, at 3:38 01AM, Michael Shaffer  wrote:
> 
> I'm using ffmpeg to stream copy from an IP camera to youtube live. I would
> also like to save a copy of the video to my hard drive. The problem is the
> IP camera only supports one connection at a time. Is there a way to send
> ffmpeg to a program that would "multiply" the video so I could use as many
> copies as I want? I want to write 3 separate python programs to manage the
> different tasks I want to do with the video. One for streaming to youtube.
> One for archiving the footage. A third one for experimenting with OpenCV
> motion detection on the video.
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> 
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] IP Camera stream copy to multiple outputs

2018-12-18 Thread Michael Shaffer
I'm using ffmpeg to stream copy from an IP camera to youtube live. I would
also like to save a copy of the video to my hard drive. The problem is the
IP camera only supports one connection at a time. Is there a way to send
ffmpeg to a program that would "multiply" the video so I could use as many
copies as I want? I want to write 3 separate python programs to manage the
different tasks I want to do with the video. One for streaming to youtube.
One for archiving the footage. A third one for experimenting with OpenCV
motion detection on the video.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] Control start and stop time precisely

2018-12-18 Thread Simon Brown
I have a system that encodes video from a camera, and this can then be sent
to YouTube.  I've written calls to the API to setup the video and test the
stream, then switch to live, and then stop.  However, my encoder doesn't
support streaming as RTMP, so I use FFMpeg to convert the base H264 stream
to an RTMP stream.  This works well.

However, by the time the stream hits YouTube it's a couple of seconds
(variable) delayed from when it left the camera - and I believe this is
down to FFmpeg buffering.  This means that when the user, looking at the
camera picture, wants to start and stop the stream isn't when the stream
will actually start and stop on YouTube.  Is there any way of a) reducing
the buffering within FFmpeg or b) controlling the buffering so that the
delay from the incoming live stream is predictable?

The only condition I have is that we cannot re-encode the stream as that
will take too much CPU time.

Current command line is:
ffmpeg -i udp://@xyz -codec copy -bsf:a aac_adtstoasc -f flv
rtmp://youtube.url

Many thanks,
Simon
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Copy Audio

2018-12-18 Thread Paul B Mahol
On 12/18/18, Kieran O Leary  wrote:
> On Tue, 18 Dec 2018, 03:54 Chris 
>> It worked on the same file 24 hours ago using v 4.0.
>>
>> Reverting.
>>
>
> Can you post the complete terminal output and command line of what you see
> when you run the process with 4.0?

It wrote invalid files, and looks like OP still want invalid files.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".