Re: [FFmpeg-user] filterstats broadcast legal report
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
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
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
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
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
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