Re: [FFmpeg-user] filterstats broadcast legal report

2015-02-12 Thread Carles Vila
On 12 February 2015 at 02:17, Dave Rice  wrote:

> Hi Carles,
>
> > On Feb 11, 2015, at 1:45 PM, Carles Vila  wrote:
> >
> > Hi all,
> > I'd like to set up a command to find out if a video is broadcast legal.
> > I've tried to understand how signalstats works but I need some help.
> > I tried the examples in the ffmpeg filter documentation, like the one
> > pasted below, but I'd like to customize it to my needs.
> >
> > Ideally It would output a list of frames that do not meet broadcast
> specs.
> >
> > FWIW, the video is Quicktime wrapped DNxHD.
> > Thank you!
> >
> >
> > $ ffprobe -f lavfi movie=INPUTFILE.mov,signalstats="stat=brng"
> -show_frames
> > ffprobe version 2.4.2 Copyright (c) 2007-2014 the FFmpeg developers
> >  built on Oct 28 2014 17:39:46 with Apple LLVM version 5.1
> > (clang-503.0.40) (based on LLVM 3.4svn)
> >  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.4.2 --enable-shared
> > --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree
> > --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang
> > --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac
> > --enable-libmp3lame --enable-libxvid --enable-libfreetype
> > --enable-libtheora --enable-libvorbis --enable-libvpx --enable-librtmp
> > --enable-libopencore-amrnb --enable-libopencore-amrwb
> --enable-libvo-aacenc
> > --enable-libass --enable-ffplay --enable-libspeex
> --enable-libschroedinger
> > --enable-libfdk-aac --enable-libopus --enable-frei0r --enable-libopenjpeg
> >
> --extra-cflags='-I/usr/local/Cellar/openjpeg/1.5.1_1/include/openjpeg-1.5 '
> >  libavutil  54.  7.100 / 54.  7.100
> >  libavcodec 56.  1.100 / 56.  1.100
> >  libavformat56.  4.101 / 56.  4.101
> >  libavdevice56.  0.100 / 56.  0.100
> >  libavfilter 5.  1.100 /  5.  1.100
> >  libavresample   2.  1.  0 /  2.  1.  0
> >  libswscale  3.  0.100 /  3.  0.100
> >  libswresample   1.  1.100 /  1.  1.100
> >  libpostproc53.  0.100 / 53.  0.100
> > Input #0, lavfi, from 'movie=INPUTFILE.mov,signalstats=stat=brng':
> >  Duration: N/A, start: 0.00, bitrate: N/A
> >Stream #0:0: Video: rawvideo (Y42B / 0x42323459), yuv422p, 1920x1080
> > [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
> > [FRAME]
> > media_type=video
> > key_frame=1
> > pkt_pts=0
> > pkt_pts_time=0.00
> > pkt_dts=0
> > pkt_dts_time=0.00
> > best_effort_timestamp=0
> > best_effort_timestamp_time=0.00
> > pkt_duration=1
> > pkt_duration_time=0.04
> > pkt_pos=577024
> > pkt_size=4147200
> > width=1920
> > height=1080
> > pix_fmt=yuv422p
> > sample_aspect_ratio=1:1
> > pict_type=I
> > coded_picture_number=0
> > display_picture_number=0
> > interlaced_frame=0
> > top_field_first=0
> > repeat_pict=0
> > TAG:lavfi.signalstats.YMIN=12
> > TAG:lavfi.signalstats.YLOW=58
> > TAG:lavfi.signalstats.YAVG=74.9742
> > TAG:lavfi.signalstats.YHIGH=84
> > TAG:lavfi.signalstats.YMAX=241
> > TAG:lavfi.signalstats.UMIN=36
> > TAG:lavfi.signalstats.ULOW=145
> > TAG:lavfi.signalstats.UAVG=150.074
> > TAG:lavfi.signalstats.UHIGH=158
> > TAG:lavfi.signalstats.UMAX=166
> > TAG:lavfi.signalstats.VMIN=47
> > TAG:lavfi.signalstats.VLOW=98
> > TAG:lavfi.signalstats.VAVG=106.101
> > TAG:lavfi.signalstats.VHIGH=112
> > TAG:lavfi.signalstats.VMAX=174
> > TAG:lavfi.signalstats.SATMIN=0
> > TAG:lavfi.signalstats.SATLOW=24
> > TAG:lavfi.signalstats.SATAVG=32.6906
> > TAG:lavfi.signalstats.SATHIGH=42
> > TAG:lavfi.signalstats.SATMAX=99
> > TAG:lavfi.signalstats.HUEMED=313
> > TAG:lavfi.signalstats.HUEAVG=308.107
> > TAG:lavfi.signalstats.YDIF=0
> > TAG:lavfi.signalstats.UDIF=0
> > TAG:lavfi.signalstats.VDIF=0
> > TAG:lavfi.signalstats.BRNG=0.00231144
> > [/FRAME]
>
> This means that 0.00231144% of the frame is outside of broadcast range (Y
> within 16-235 and U/V within 16-240) which in your file is about 4,793
> pixels. I vaguely remember someone referring a broadcast standards
> document  which referred to broadcast legal not considering 100% of pixels
> to be within that range, but considered broadcast legal to mean somewhat
> less than 100% of the pixels had to be in the stated ranges. Unfortunately
> I can't remember what amount of outliers was tolerated or what the spec was.
>
> The output of
> ffprobe -f lavfi movie=INPUTFILE.mov,signalstats="stat=brng" -show_entries
> frame_tags=lavfi.signalstats.BRNG -of flat
>
> may be easier to parse in your scenario since the output will include the
> frame numbers, like
>
> frames.frame.567.tags.lavfi_signalstats_BRNG="0"
> frames.frame.568.tags.lavfi_signalstats_BRNG="0"
> frames.frame.569.tags.lavfi_signalstats_BRNG="0"
>
> then you would need to grep out the lines where BRNG exceed some defined
> threshold. Hope this helps.
> Dave Rice
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>


Hi Dave, thanks so much for the explanation and the command. I look forward
to test it out.

I found this document:
http://w

Re: [FFmpeg-user] Răspuns: Cannot install ffmpeg Solaris

2015-02-12 Thread Carl Eugen Hoyos
On Wednesday 11 February 2015 09:19:16 am Dustinta Cristian wrote:
> If you need more info about the "udp" bug reply.

Please test if attached patch fixes the issue with 
"./configure && gmake ffmpeg"

Thank you, Carl Eugen
diff --git a/configure b/configure
index 1d14d0a..fcd065b 100755
--- a/configure
+++ b/configure
@@ -4027,6 +4027,7 @@ case $target_os in
 SHFLAGS='-shared -Wl,-h,$$(@F)'
 enabled x86 && SHFLAGS="-mimpure-text $SHFLAGS"
 network_extralibs="-lsocket -lnsl"
+add_cppflags -D__EXTENSIONS__
 # When using suncc to build, the Solaris linker will mark
 # an executable with each instruction set encountered by
 # the Solaris assembler.  As our libraries contain their own
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] IVTC with pullup filter

2015-02-12 Thread marcjn
marcjn wrote
> Now, I need to find out why 

> works well, while

>  still creates 3 progressive + 1 blended.
> 
> Jean

I found how to fix it: for some reason, the crop filter before pullup works
OK, but the scale filter prevents pullup from working well. So the right way
is to put the pullup filter first.   This was the reason why I couldn't make
it work all that time. Now, this works:


I think my problem is solved now.  Thank you Nick.



--
View this message in context: 
http://ffmpeg-users.933282.n4.nabble.com/IVTC-with-pullup-filter-tp4661581p4669255.html
Sent from the FFmpeg-users mailing list archive at Nabble.com.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Troubles segmenting WebVTT

2015-02-12 Thread Stefano Sabatini
On date Tuesday 2015-02-10 20:43:31 -0700, Deron wrote:
> On 2/10/15 3:20 AM, Stefano Sabatini wrote:
> >On date Saturday 2015-02-07 22:15:58 -0700, Deron wrote:
> >>I'm trying to capture ATSC with a tuner card and stream it out via
> >>HLS. I've got it more or less working, and now I would like to try
> >>my hand and streaming out closed captioning in WebVTT utilizing the
> >>eia 608 demuxer.
> >>
> >>First, I captured 10 minutes of video to my HD. Then I used:
> >>
> >>ffmpeg -f lavfi -i "movie=WPEC.ts[out0+subcc]" -map s WPEC.vtt
> >>
> >>which generated a good .vtt file and then
> >>
> >>ffmpeg -i WPEC.vtt -f segment -segment_time 10 -segment_format
> >>webvtt -scodec copy WPEC-%05d.vtt
> >>
> >>to generate segments 0 to 00038 and it works just fine.
> >>
> >>However,
> >>
> >>ffmpeg -f lavfi -i "movie=WPEC.ts[out0+subcc]" -map s -f segment
> >>-segment_time 10 -segment_format webvtt WPEC-%05d.vtt
> >>
> >>fails to generate segments. What it generates is just one segment
> >>named WPEC-0.vtt.
> >>
> >>What am I doing wrong?
> >>
> >>Deron
> >>
> >>Complete uncut output:
> >>
> >># ffmpeg -f lavfi -i "movie=WPEC.ts[out0+subcc]" -map s -f segment
> >>-segment_time 10 -segment_format webvtt WPEC-%05d.vtt
> >Use -loglevel debug, segment will generate log messages showing the
> >input PTSs. Also, are you sure you have many key-frames in your input
> >file?
> >
> 

> I can't imagine how PTS or i-frames can be defined in a .vtt ? But
> I'm certainly looking for understanding! In a private email, Anshul
> Maheshwari suggested that it was incomplete in his WebVTT
> implementation and he hopes to get it resolved some day. I've
> started trying to just trace along to figure out what it is doing
> but it is a large amount of stuff to absorb at once. I wanted to
> learn more about HLS, so I'm not apposed to trying to solve the
> problem if it needs to be.

For example to check for key-frames:
ffprobe INPUT -show_entries packet=pts,flags -of compact

you check the packet flags to see if it is a key-frame (in that case
it will be marked with a "K").

Alternatively:
ffprobe INPUT -skip_frames nokey -show_frames -of compact

> Thanks for your input,
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Duplication of time stamps when concatenating .mkv files

2015-02-12 Thread Stefano Sabatini
On date Tuesday 2015-02-03 13:16:00 -0800, Luke Paone wrote:
> Hi,
> 
> I am running into some issues when splitting and then concatenating files
> using ffmpeg.
> 
> I am using the following command line to split the files:
[...]
> Here is the FFPROBE out put for 2 frames after the merge:
> 
> ...
> [FRAME]
> media_type=video
> key_frame=0
> pkt_pts=24958
> pkt_pts_time=24.958000
> pkt_dts=24958
> pkt_dts_time=24.958000
> best_effort_timestamp=24958
> best_effort_timestamp_time=24.958000
> pkt_duration=N/A
> pkt_duration_time=N/A
> pkt_pos=18554505
> pkt_size=25065
> width=1920
> height=1080
> pix_fmt=yuv420p
> sample_aspect_ratio=1:1
> pict_type=P
> coded_picture_number=0
> display_picture_number=0
> interlaced_frame=0
> top_field_first=0
> repeat_pict=0
> [/FRAME]
> [FRAME]
> media_type=video
> key_frame=1
> pkt_pts=24958
> pkt_pts_time=24.958000
> pkt_dts=24958
> pkt_dts_time=24.958000
> best_effort_timestamp=24958
> best_effort_timestamp_time=24.958000
> pkt_duration=N/A
> pkt_duration_time=N/A
> pkt_pos=18579594
> pkt_size=98654
> width=1920
> height=1080
> pix_fmt=yuv420p
> sample_aspect_ratio=1:1
> pict_type=I
> coded_picture_number=0
> display_picture_number=0
> interlaced_frame=0
> top_field_first=0
> repeat_pict=0
> [/FRAME]

My guess is that it could be related to the fact that there is no
frame/packet duration in the first frame. The frame duration can only
be guessed from the next frame (it will be pts2-pts1), but that
information is lost when segmenting the file.

I think you should file an issue on trac, possibly providing a sample
and a reproducible use-case.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


[FFmpeg-user] H264 + AAC MPEG-TS to MP4 Audio Sync

2015-02-12 Thread Ross (MikiPro Services)
Hello all,

I have been driven insane by audio sync issues going from a transport
stream to a MP4 container. I have concatenated a HLS stream and can play
the .ts file perfectly in VLC without any audio sync issues however when I
stream copy to MP4 the audio drifts out of sync when playing in Firefox and
Chrome but not in VLC.

Can you guys please help me?

The technical details is as follows:

ffmpeg
ffmpeg version N-69027-g843d93d Copyright (c) 2000-2015 the FFmpeg
developers
  built on Jan 12 2015 14:52:51 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --enable-gpl --enable-libx264 --enable-libmp3lame
--enable-nonfree --enable-libfdk_aac --enable-pthreads
  libavutil  54. 16.100 / 54. 16.100
  libavcodec 56. 20.100 / 56. 20.100
  libavformat56. 18.101 / 56. 18.101
  libavdevice56.  4.100 / 56.  4.100
  libavfilter 5.  7.100 /  5.  7.100
  libswscale  3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc53.  3.100 / 53.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options]
outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Source file: http://210.48.78.12:/capture2.ts

MP4 file: http://210.48.78.12:/capture2.mp4

First I concat HLS TS segemenst by:

ffmpeg -y -async 1 -f concat -safe 0 -i concat2.txt -codec copy
-mpegts_copyts 1 -f mpegts /mnt/ramdisk/capture2.ts

No error messages are displayed at all

Then I try to convert to MP4:

ffmpeg -y -i capture2.ts -copyinkf -c:v copy -copyts -c:a copy
-avoid_negative_ts 1 -mpegts_copyts 1 -bsf:a aac_adtstoasc -movflags
+faststart -f mp4 /mnt/ramdisk/capture2.mp4

ffmpeg version N-69027-g843d93d Copyright (c) 2000-2015 the FFmpeg
developers
  built on Jan 12 2015 14:52:51 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --enable-gpl --enable-libx264 --enable-libmp3lame
--enable-nonfree --enable-libfdk_aac --enable-pthreads
  libavutil  54. 16.100 / 54. 16.100
  libavcodec 56. 20.100 / 56. 20.100
  libavformat56. 18.101 / 56. 18.101
  libavdevice56.  4.100 / 56.  4.100
  libavfilter 5.  7.100 /  5.  7.100
  libswscale  3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc53.  3.100 / 53.  3.100
Input #0, mpegts, from 'capture2.ts':
  Duration: 01:00:25.69, start: 0.018667, bitrate: 1028 kb/s
  Program 1
Metadata:
  service_name: Service01
  service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B),
yuv420p, 960x540 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz,
stereo, fltp, 120 kb/s
Output #0, mp4, to '/mnt/ramdisk/capture2.mp4':
  Metadata:
encoder : Lavf56.18.101
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 960x540
[SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc
Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 120
kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mp4 @ 0x1b1cfa0] Starting second pass: moving the moov atom to the
beginning of the file
frame=90007 fps=24171 q=-1.0 Lsize=  411591kB time=01:00:25.64 bitrate=
930.0kbits/s
video:353819kB audio:55101kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 0.653165%

I have done ffmpeg -v error -i capture2.mp4 -f null - 2>errorcheck
and ffmpeg -v error -i capture2.ts4 -f null - 2>errorcheck and there are no
errors.

Thanks for reading this far, hopefully its something easy. Thanks FFMPEG
and all the contributors for great transcoding software I have used over
the years. If any of you end up in Auckland, New Zealand I will buy you a
beer!
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user