Re: [FFmpeg-user] telecine pattern 5555 - Judder-free, 60 FPS telecine (?)
On 04/04/2020 11:52 PM, Ted Park wrote: Hey, Apart from the telecine process damaging the image... Yes, telecine damages the output image. I assume you agree that a telecine that produces 20% combing @ 12Hz & no cadence (i.e., 5-5-5-5 pull-down in the raw frames) is better than 40% combing @ 6Hz & 2-3-2-3 cadence (i.e., 4-6-4-6 pull-down by the TV). ...and the deinterlacer permanently ruining it? Does a deinterlacer ruin the image? If the picture is progressive and if all the deinterlacer does is deinterlace? But it appears that 'bwdif=mode=send_frame' is doing more than deinterlace. It appears to be decombing, even for the 8 of 10 frames that are not combed. Even if that were true (which I have no idea to be honest) are you sure you’re not assuming a raw uncompressed source and no compression afterwards either? Frames 3, 8, 13, 18, etc. are combed. The rest of the frames are progressive. The progressive frames display the effects of decombing. The source is a 24fps progressive H.264 AVC video. I'm transcoding it to, among other test transcodes, 5-5-5-5 pull-down @ 60fps progressive, H.264 AVC. I'm not sure what you mean by "assuming a raw uncompressed source and no compression afterwards", but I hope I've responded appropriately. Source: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'M:\Test Videos\23.976p.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42mp41isom creation_time : 2020-04-02T02:32:09.00Z Duration: 00:00:10.01, start: 0.00, bitrate: 542 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 539 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default) Metadata: creation_time : 2020-04-02T02:32:09.00Z handler_name: L-SMASH Video Media Handler encoder : AVC Coding frames.frame.0.best_effort_timestamp_time="0:00:00.00" frames.frame.0.interlaced_frame=0 frames.frame.0.top_field_first=0 frames.frame.0.repeat_pict=0 frames.frame.1.interlaced_frame=0 frames.frame.1.top_field_first=0 frames.frame.1.repeat_pict=0 frames.frame.2.interlaced_frame=0 frames.frame.2.top_field_first=0 frames.frame.2.repeat_pict=0 frames.frame.3.interlaced_frame=0 frames.frame.3.top_field_first=0 frames.frame.3.repeat_pict=0 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'M:\Test Videos\23.976p.mp4': Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 539 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default) Output #0, rawvideo, to 'NUL': Stream #0:0(und): Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 596600 kb/s, 23.98 fps, 23.98 tbn, 23.98 tbc (default) frame= 240 fps=0.0 q=-0.0 Lsize= 729000kB time=00:00:10.01 bitrate=596600.2kbits/s speed=10.4x [Parsed_idet_0 @ 0249369575c0] Repeated Fields: Neither: 240 Top: 0 Bottom: 0 [Parsed_idet_0 @ 0249369575c0] Multi frame detection: TFF: 0 BFF: 0 Progressive: 240 Undetermined: 0 Target: Input #0, matroska,webm, from 'M:\Test Videos\'telecine=pattern=5' 59.940i.mkv': Metadata: COMPATIBLE_BRANDS: mp42mp41isom MAJOR_BRAND : mp42 MINOR_VERSION : 0 ENCODER : Lavf58.31.104 Duration: 00:00:10.01, start: 0.00, bitrate: 865 kb/s Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 1k tbn, 119.88 tbc (default) Metadata: HANDLER_NAME: L-SMASH Video Media Handler ENCODER : Lavc58.55.101 libx264 DURATION: 00:00:10.01000 frames.frame.0.best_effort_timestamp_time="0:00:00.00" frames.frame.0.interlaced_frame=0 frames.frame.0.top_field_first=0 frames.frame.0.repeat_pict=0 frames.frame.1.interlaced_frame=0 frames.frame.1.top_field_first=0 frames.frame.1.repeat_pict=0 frames.frame.2.interlaced_frame=0 frames.frame.2.top_field_first=0 frames.frame.2.repeat_pict=0 frames.frame.3.interlaced_frame=0 frames.frame.3.top_field_first=0 frames.frame.3.repeat_pict=0 Input #0, matroska,webm, from 'M:\Test Videos\'telecine=pattern=5' 59.940i.mkv': Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 1k tbn, 119.88 tbc (default) Output #0, rawvideo, to 'NUL': Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 1491500 kb/s, 59.94 fps, 59.94 tbn, 59.94 tbc (default) frame= 600 fps=257 q=-0.0 Lsize= 1822500kB time=00:00:10.00 bitrate=1491500.6kbits/s speed=4.29x [Parsed_idet_0 @ 020947b97f40] Repeated Fields: Neither: 360 Top: 120 Bottom: 120 [Parsed_idet_0 @ 020947b97f40] Multi frame detection: TFF: 599 BFF: 0 Progressive: 0 Undetermined: 1 ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To
Re: [FFmpeg-user] telecine pattern 5555 - Judder-free, 60 FPS telecine (?)
Hey, >> Apart from the telecine process damaging the image... > > Yes, telecine damages the output image. > > I assume you agree that a telecine that produces > 20% combing @ 12Hz & no cadence (i.e., 5-5-5-5 pull-down in the raw frames) > is better than > 40% combing @ 6Hz & 2-3-2-3 cadence (i.e., 4-6-4-6 pull-down by the TV). > >> ...and the deinterlacer permanently ruining it? > > Does a deinterlacer ruin the image? If the picture is progressive and if all > the deinterlacer does is deinterlace? > > But it appears that 'bwdif=mode=send_frame' is doing more than deinterlace. > It appears to be decombing, even for the 8 of 10 frames that are not combed. Even if that were true (which I have no idea to be honest) are you sure you’re not assuming a raw uncompressed source and no compression afterwards either? > Carl Eugen, > are you a developer or a user? I ask that question innocently because I > really don't know. > > I looked at the libavfilter source code. I searched for telecine. Who's name > do I see in vf_telecine.c? "Paul B Mahol". I had no idea that Paul was a > developer -- why would I? Maybe not for that filter/file but as someone *trying* to contribute, I can attest to Carl being an active maintainer, his name is hard to miss in the commit history. Regards, Ted Park ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Question on Segment TImes
Hi, > OK: That solved the timestamp problem and created a missing stream. > > Does anyone one know the magic option for getting all three streams into MOV. > > If I use this to create a DV file (from DVR-DV) it works and creates this > file: > Input #0, dv, from ‘output.dv’: > Metadata: > timecode : 00:00:00:00 > Duration: 00:00:10.01, start: 0.00, bitrate: 28771 kb/s > Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 8:9 DAR 4:3], 25000 > kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc > Stream #0:1: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s > Stream #0:2: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s > > Three streams > > If I just change the container to “.mov” > I get one stream: > > nput #0, mov,mp4,m4a,3gp,3g2,mj2, from ‘output.mov’: > Metadata: > major_brand : qt > minor_version : 512 > compatible_brands: qt > encoder : Lavf58.35.101 > Duration: 00:00:10.01, start: 0.00, bitrate: 28773 kb/s > Stream #0:0: Video: dvvideo (dvc / 0x20637664), yuv411p, 720x480 [SAR 8:9 > DAR 4:3], 28771 kb/s, 29.97 fps, 29.97 tbr, 1000k tbn, 29.97 tbc (default) > Metadata: > handler_name : VideoHandler I think this has to do with AVFoundation’s “raw data” option and how audio and video is stored on the actual metallic sublimate tape (iirc, the video/audio/timecode “streams” do not exist as discrete entities, but they are all interleaved into an atomic “DV” tape-format (hence the 1M reported tbn). I’m not sure how AVFoundation splits them up or isolates the detected timecode or decide to join all the streams together, but I presume it’s similar to the audio fixup menu options in FCPX import media window. I’m curious if this would work, but have you tried artificially increasing the video size (via framerate, frame size, etc) to make it into what would be considered HDV, or even DVCPRO and try adding the audio streams then? Apparently it supports multiple streams (DVCPRO50, that is) > I have tried every variation of -map. > If I send the output to pipe and then to a file, all of the streams are their > for DV > > If I do the import with Final Cut Pro X then I get this from the file. Also, > FCPX seems to be able to find the original timestamp from when the media was > created. I don't know if -map will work as usual with dv from a tape deck. Also I don't know how AVFoundation actually archives the data, I would really get a build with native IEEE1394 device control/communication library support, since if you use AVFoundation then I doubt the problems in FCPX are going to go away, or at least not all of them. > On Apr 4, 2020, 2:11 AM -0700, Gyan Doshi , wrote: >> >> >> On 04-04-2020 11:59 am, Colin Bitterfield wrote: >>> I am trying to segment split a stream coming in from AVFOUNDATION >>> >>> ffmpeg -benchmark_all -stats -loglevel debug -copyts \ >>> -f avfoundation -capture_raw_data true -pix_fmt 0rgb -i DV-VCR -q 0 \ >>> -map 0 -c:v copy -c:a copy -segment_time 00:00:10 \ >>> -f segment 374_%03d.dv -y >>> >>> _ I have tried various combinations of “-increment_tc” and >>> "-reset_timestamps 0" >>> >>> The video splits flawless at the time requ >> >> .dv is a bare bones container and does not support timestamps. Try MOV. I am under the understanding that DV timestamps/timecodes are pretty much the same thing since they use either LTC or VITC on the tape that encodes the date (timestamp) as well as the timecodes, in a “striped” tape anyway. It’s how your deck knows when one shot ends and another begins. So it doesn't support timestamps as metadata but I don't think they are lost, just embedded in the dv stream in a way that’s just a little harder to access. Regards, Ted Park ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] minterpolate only frames 3, 8, 13, 18, etc.
Here's a pseudo-'C' sketch of what I'm trying to do: ffmpeg -i IN -filter_complex "split[A][B],[A]drop((n+1)%10==3|(n+1)%10==8)[C],[B]drop(!drop((n+1)%10==3&!(n+1)%10==8)[D],[D]minterpolate(mi_mode=mci(mc_mode=obmc),scd=none)[E],[C][E]merge" OUT I just can't understand how to form ffmpeg-acceptable command lines and the various, ad hoc delimiting methods totally dumbfound me. Sorry. Thanks for your help. Maybe your answer will show me how to do lots of things in the future. Regards, Mark. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] Need help splitting stereo FLAC into two separate files
I have stereo file "1.flac" which is actually two monaural recordings, one in each channel. I want to separate these two channels into separate FLAC files. I'm trying to follow the channelsplit examples in the ffmpeg filters manual sec. 8.53.1. But I can't find a full list of this filter's arguments, and can't get it to work by trial and error, The input file 1.flac is in the same folder as ffmpeg. Below is a dump of the some of the command window attempts I've made, with the ffmpeg output results. Can you please tell me a command line that will work for this? Thanks, Dasty --- Microsoft Windows [Version 10.0.18363.752] C:\_Util\ffmpeg>ffmpeg.exe -i 1.flac -filter_complex 'channelsplit=channel_layout=2.0[FL][FR]' -map '[FL]' front_left.flac -map '[FR]' front_right.flac ffmpeg version git-2020-04-03-52523b6 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3.1 (GCC) 20200328 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --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-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf libavutil 56. 42.102 / 56. 42.102 libavcodec 58. 77.101 / 58. 77.101 libavformat58. 42.100 / 58. 42.100 libavdevice58. 9.103 / 58. 9.103 libavfilter 7. 77.101 / 7. 77.101 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 libpostproc55. 6.100 / 55. 6.100 Input #0, flac, from '1.flac': Metadata: AccurateRipResult: AccurateRip: Not in database [D4EF7918] AccurateRipDiscID: 025-00347e29-03bea48e-5c0e1019-1 Title : Track 1 Source : CD (Lossless) Encoded By : dBpoweramp Release 15.1 Encoder : (FLAC 1.3.0) Encoder Settings: -compression-level-8 -verify track : 1 TRACKTOTAL : 25 disc: 1 DISCTOTAL : 1 Duration: 00:00:15.19, start: 0.00, bitrate: 433 kb/s Stream #0:0: Audio: flac, 44100 Hz, stereo, s16 [AVFilterGraph @ 01d1ff964340] No such filter: 'channelsplit=channel_layout=2.0[FL][FR]' Error initializing complex filters. Invalid argument C:\_Util\ffmpeg>ffmpeg.exe -i 1.flac -filter_complex 'channelsplit=channel_layout=2.[FL][FR]' -map '[FL]' front_left.flac -map '[FR]' front_right.flac ffmpeg version git-2020-04-03-52523b6 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3.1 (GCC) 20200328 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --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-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf libavutil 56. 42.102 / 56. 42.102 libavcodec 58. 77.101 / 58. 77.101 libavformat58. 42.100 / 58. 42.100 libavdevice58. 9.103 / 58. 9.103 libavfilter 7. 77.101 / 7. 77.101 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 libpostproc55. 6.100 / 55. 6.100 Input #0, flac, from '1.flac': Metadata: AccurateRipResult: AccurateRip: Not in database [D4EF7918] AccurateRipDiscID: 025-00347e29-03bea48e-5c0e1019-1 Title : Track 1 Source : CD (Lossless) Encoded By : dBpoweramp Release 15.1 Encoder : (FLAC 1.3.0) Encoder Settings: -compression-level-8 -verify track : 1 TRACKTOTAL : 25 disc: 1 DISCTOTAL : 1 Duration: 00:00:15.19, start: 0.00, bitrate: 433 kb/s Stream #0:0: Audio: flac, 44100
Re: [FFmpeg-user] Question on Segment TImes
Is there a way to consolidate this to one command? The goal is to import of DV-TAPE with the best quality in a single pass on the tape. Sometimes I have go back and parts from FCPX imports. The tapes are old and sometimes FCPX doesn’t like them. I was able to get it going with a PIPE: (and 30 experiments on time coding and segment timing) export TITLE="284_test"; \ ffmpeg -benchmark_all -stats -loglevel debug \ -c dvvideo -pix_fmt 0rgb -capture_raw_data true -f avfoundation -i DV-VCR \ -c: copy -f dv pipe: | ffmpeg -i pipe: -c:v dvvideo -c:a:0 pcm_s16le \ -strftime 1 \ -copyts \ -timecode "00:00:00;00" \ -increment_tc 1 \ -reset_timestamps 1 \ -segment_time 00:05:00 -f segment "${TITLE}_%H-%M-%S.mov" -y This yields the following: bash-3.2$ ffprobe -show_streams -select_streams a 284_test_004_18-00-51.mov ffprobe version 4.2.git Copyright (c) 2007-2020 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.17) configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-x86asm --enable-libx265 --enable-libdc1394 --enable-librtmp --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid --enable-version3 --enable-libsmbclient --enable-nonfree --enable-libfdk-aac libavutil 56. 38.100 / 56. 38.100 libavcodec 58. 65.102 / 58. 65.102 libavformat 58. 35.101 / 58. 35.101 libavdevice 58. 9.102 / 58. 9.102 libavfilter 7. 70.101 / 7. 70.101 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 6.100 / 5. 6.100 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '284_test_004_18-00-51.mov’: Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf58.35.101 Duration: 00:05:00.00, start: 0.00, bitrate: 29798 kb/s Stream #0:0: Video: dvvideo (dvc / 0x20637664), yuv411p(bottom coded first (swapped)), 720x480 [SAR 8:9 DAR 4:3], 28771 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 29.97 tbc (default) Metadata: handler_name : VideoHandler encoder : Lavc58.65.102 dvvideo timecode : 00:34:59;28 Stream #0:1: Audio: pcm_s16le (sowt / 0x74776F73), 32000 Hz, stereo, s16, 1024 kb/s (default) Metadata: handler_name : SoundHandler Stream #0:2(eng): Data: none (tmcd / 0x64636D74) Metadata: handler_name : TimeCodeHandler timecode : 00:34:59;28 Unsupported codec with id 0 for input stream 2 [STREAM] index=1 codec_name=pcm_s16le codec_long_name=PCM signed 16-bit little-endian profile=unknown codec_type=audio codec_time_base=1/32000 codec_tag_string=sowt codec_tag=0x74776f73 sample_fmt=s16 sample_rate=32000 channels=2 channel_layout=stereo bits_per_sample=16 id=N/A r_frame_rate=0/0 avg_frame_rate=0/0 time_base=1/32000 start_pts=640 start_time=0.02 duration_ts=9599632 duration=299.988500 bit_rate=1024000 max_bit_rate=N/A bits_per_raw_sample=N/A nb_frames=9599632 nb_read_frames=N/A nb_read_packets=N/A DISPOSITION:default=1 DISPOSITION:dub=0 DISPOSITION:original=0 DISPOSITION:comment=0 DISPOSITION:lyrics=0 DISPOSITION:karaoke=0 DISPOSITION:forced=0 DISPOSITION:hearing_impaired=0 DISPOSITION:visual_impaired=0 DISPOSITION:clean_effects=0 DISPOSITION:attached_pic=0 DISPOSITION:timed_thumbnails=0 TAG:handler_name=SoundHandler [/STREAM] On Apr 4, 2020, 5:26 PM -0700, Moritz Barsnick , wrote: > On Sat, Apr 04, 2020 at 13:48:37 -0700, Colin Bitterfield wrote: > > Does anyone one know the magic option for getting all three streams into > > MOV. > [...] > > If I just change the container to “.mov” > > ffmpeg -capture_raw_data true -f avfoundation -i DV-VCR -map 0 \ > > -map_metadata 0 \ > > -c:v copy \ > > -c:a copy \ > > -c copy \ > > "-c copy" implies "-c:a copy" and "-c:v copy", by the way. > > > -t 10 output.mov -y > > > I get one stream: > > > > nput #0, mov,mp4,m4a,3gp,3g2,mj2, from ‘output.mov’: > > Metadata: > > major_brand : qt > > minor_version : 512 > > compatible_brands: qt > > encoder : Lavf58.35.101 > > Duration: 00:00:10.01, start: 0.00, bitrate: 28773 kb/s > > Stream #0:0: Video: dvvideo (dvc / 0x20637664), yuv411p, 720x480 [SAR > > 8:9 DAR 4:3], 28771 kb/s, 29.97 fps, 29.97 tbr, 1000k tbn, 29.97 tbc > > (default) > > Metadata: > > handler_name : VideoHandler > > You need to show us the
Re: [FFmpeg-user] Question on Segment TImes
On Sat, Apr 04, 2020 at 13:48:37 -0700, Colin Bitterfield wrote: > Does anyone one know the magic option for getting all three streams into MOV. [...] > If I just change the container to “.mov” > ffmpeg -capture_raw_data true -f avfoundation -i DV-VCR -map 0 \ > -map_metadata 0 \ > -c:v copy \ > -c:a copy \ > -c copy \ "-c copy" implies "-c:a copy" and "-c:v copy", by the way. > -t 10 output.mov -y > I get one stream: > > nput #0, mov,mp4,m4a,3gp,3g2,mj2, from ‘output.mov’: > Metadata: > major_brand : qt > minor_version : 512 > compatible_brands: qt > encoder : Lavf58.35.101 > Duration: 00:00:10.01, start: 0.00, bitrate: 28773 kb/s > Stream #0:0: Video: dvvideo (dvc / 0x20637664), yuv411p, 720x480 [SAR 8:9 > DAR 4:3], 28771 kb/s, 29.97 fps, 29.97 tbr, 1000k tbn, 29.97 tbc (default) > Metadata: > handler_name : VideoHandler You need to show us the *complete*, uncut console output of your ffmpeg conversion command. It contains a lot of useful information, and will help us to analyze the issue. > If I do the import with Final Cut Pro X then I get this from the file. Also, > FCPX seems to be able to find the original timestamp from when the media was > created. [...] > Duration: 00:00:42.34, start: 0.00, bitrate: 31057 kb/s > Stream #0:0(und): Video: dvvideo (dvc / 0x20637664), > yuv411p(smpte170m/smpte170m/bt709, bottom coded first (swapped)), 720x480 > [SAR 8:9 DAR 4:3], 28771 kb/s, SAR 10:11 DAR 15:11, 29.97 fps, 29.97 tbr, 30k > tbn, 29.97 tbc (default) > Metadata: > creation_time : 2020-03-27T04:07:28.00Z > handler_name : Core Media Video > encoder : DV/DVCPRO - NTSC > timecode : 00:10:04;23 > Stream #0:1(und): Data: none (tmcd / 0x64636D74), 0 kb/s > Metadata: > creation_time : 2020-03-27T04:07:28.00Z > handler_name : Core Media Time Code > timecode : 00:10:04;23 > Stream #0:2(und): Audio: pcm_s16le (lpcm / 0x6D63706C), 32000 Hz, 4 > channels, s16, 2048 kb/s (default) > Metadata: > creation_time : 2020-03-27T04:07:28.00Z > handler_name : Core Media Audio > Unsupported codec with id 0 for input stream 1 So, Final Cut Pro X combines the two audio tracks into one four-channel track? Is that okay? (Just wondering.) Cheers, Moritz ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Question on Segment TImes
OK: That solved the timestamp problem and created a missing stream. Does anyone one know the magic option for getting all three streams into MOV. If I use this to create a DV file (from DVR-DV) it works and creates this file: ffmpeg -capture_raw_data true -f avfoundation -i DV-VCR -map 0 \ -map_metadata 0 \ -c:v copy \ -c:a copy \ -c copy \ -t 10 output.dv -y Input #0, dv, from ‘output.dv’: Metadata: timecode : 00:00:00:00 Duration: 00:00:10.01, start: 0.00, bitrate: 28771 kb/s Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 8:9 DAR 4:3], 25000 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc Stream #0:1: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s Stream #0:2: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s Three streams If I just change the container to “.mov” ffmpeg -capture_raw_data true -f avfoundation -i DV-VCR -map 0 \ -map_metadata 0 \ -c:v copy \ -c:a copy \ -c copy \ -t 10 output.mov -y I get one stream: nput #0, mov,mp4,m4a,3gp,3g2,mj2, from ‘output.mov’: Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf58.35.101 Duration: 00:00:10.01, start: 0.00, bitrate: 28773 kb/s Stream #0:0: Video: dvvideo (dvc / 0x20637664), yuv411p, 720x480 [SAR 8:9 DAR 4:3], 28771 kb/s, 29.97 fps, 29.97 tbr, 1000k tbn, 29.97 tbc (default) Metadata: handler_name : VideoHandler I have tried every variation of -map. If I send the output to pipe and then to a file, all of the streams are their for DV If I do the import with Final Cut Pro X then I get this from the file. Also, FCPX seems to be able to find the original timestamp from when the media was created. Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './2020-03-26/1999-07-31 13_43_37.mov’: Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2020-03-27T04:07:28.00Z com.apple.quicktime.make: Apple com.apple.quicktime.model: MacBookPro14,3 com.apple.quicktime.software: Mac OS X 10.15.3 (19D76) com.apple.quicktime.creationdate: 2020-03-26T20:57:12-0700 Duration: 00:00:42.34, start: 0.00, bitrate: 31057 kb/s Stream #0:0(und): Video: dvvideo (dvc / 0x20637664), yuv411p(smpte170m/smpte170m/bt709, bottom coded first (swapped)), 720x480 [SAR 8:9 DAR 4:3], 28771 kb/s, SAR 10:11 DAR 15:11, 29.97 fps, 29.97 tbr, 30k tbn, 29.97 tbc (default) Metadata: creation_time : 2020-03-27T04:07:28.00Z handler_name : Core Media Video encoder : DV/DVCPRO - NTSC timecode : 00:10:04;23 Stream #0:1(und): Data: none (tmcd / 0x64636D74), 0 kb/s Metadata: creation_time : 2020-03-27T04:07:28.00Z handler_name : Core Media Time Code timecode : 00:10:04;23 Stream #0:2(und): Audio: pcm_s16le (lpcm / 0x6D63706C), 32000 Hz, 4 channels, s16, 2048 kb/s (default) Metadata: creation_time : 2020-03-27T04:07:28.00Z handler_name : Core Media Audio Unsupported codec with id 0 for input stream 1 On Apr 4, 2020, 2:11 AM -0700, Gyan Doshi , wrote: > > > On 04-04-2020 11:59 am, Colin Bitterfield wrote: > > I am trying to segment split a stream coming in from AVFOUNDATION > > > > ffmpeg -benchmark_all -stats -loglevel debug -copyts \ > > -f avfoundation -capture_raw_data true -pix_fmt 0rgb -i DV-VCR -q 0 \ > > -map 0 -c:v copy -c:a copy -segment_time 00:00:10 \ > > -f segment 374_%03d.dv -y > > > > _ I have tried various combinations of “-increment_tc” and > > "-reset_timestamps 0" > > > > The video splits flawless at the time requ > > .dv is a bare bones container and does not support timestamps. Try MOV. > > Gyan > ___ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://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 https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Question on Segment TImes
Thanks, That solved it. On Apr 4, 2020, 2:11 AM -0700, Gyan Doshi , wrote: > > > On 04-04-2020 11:59 am, Colin Bitterfield wrote: > > I am trying to segment split a stream coming in from AVFOUNDATION > > > > ffmpeg -benchmark_all -stats -loglevel debug -copyts \ > > -f avfoundation -capture_raw_data true -pix_fmt 0rgb -i DV-VCR -q 0 \ > > -map 0 -c:v copy -c:a copy -segment_time 00:00:10 \ > > -f segment 374_%03d.dv -y > > > > _ I have tried various combinations of “-increment_tc” and > > "-reset_timestamps 0" > > > > The video splits flawless at the time requ > > .dv is a bare bones container and does not support timestamps. Try MOV. > > Gyan > ___ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://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 https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Question on Segment TImes
On 04-04-2020 11:59 am, Colin Bitterfield wrote: I am trying to segment split a stream coming in from AVFOUNDATION ffmpeg -benchmark_all -stats -loglevel debug -copyts \ -f avfoundation -capture_raw_data true -pix_fmt 0rgb -i DV-VCR -q 0 \ -map 0 -c:v copy -c:a copy -segment_time 00:00:10 \ -f segment 374_%03d.dv -y _ I have tried various combinations of “-increment_tc” and "-reset_timestamps 0" The video splits flawless at the time requ .dv is a bare bones container and does not support timestamps. Try MOV. Gyan ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] Question on Segment TImes
I am trying to segment split a stream coming in from AVFOUNDATION ffmpeg -benchmark_all -stats -loglevel debug -copyts \ -f avfoundation -capture_raw_data true -pix_fmt 0rgb -i DV-VCR -q 0 \ -map 0 -c:v copy -c:a copy -segment_time 00:00:10 \ -f segment 374_%03d.dv -y _ I have tried various combinations of “-increment_tc” and "-reset_timestamps 0" The video splits flawless at the time requested and this has solved a lot of size issues. It would help if the time stamps did not reset to zero each time. Splitting the commandline. Reading option '-benchmark_all' ... matched as option 'benchmark_all' (add timings for each task) with argument ‘1’. Reading option '-stats' ... matched as option 'stats' (print progress report during encoding) with argument ‘1’. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument ‘debug’. Reading option '-copyts' ... matched as option 'copyts' (copy timestamps) with argument ‘1’. Reading option '-f' ... matched as option 'f' (force format) with argument ‘avfoundation’. Reading option '-capture_raw_data' ... matched as AVOption 'capture_raw_data' with argument ‘true’. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument ‘0rgb’. Reading option '-i' ... matched as input url with argument 'DV-VCR’. Reading option '-q' ... matched as option 'q' (use fixed quality scale (VBR)) with argument ‘0’. Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument ‘0’. Reading option '-c:v' ... matched as option 'c' (codec name) with argument ‘copy’. Reading option '-c:a' ... matched as option 'c' (codec name) with argument ‘copy’. Reading option '-segment_time' ... matched as AVOption 'segment_time' with argument '00:00:10’. Reading option '-f' ... matched as option 'f' (force format) with argument ‘segment’. Reading option '374_%03d.dv' ... matched as output url. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument ‘1’. Finished splitting the commandline. Parsing a group of options: global . Applying option benchmark_all (add timings for each task) with argument 1. Applying option stats (print progress report during encoding) with argument 1. Applying option loglevel (set logging level) with argument debug. Applying option copyts (copy timestamps) with argument 1. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input url DV-VCR. Applying option f (force format) with argument avfoundation. Applying option pix_fmt (set pixel format) with argument 0rgb. Successfully parsed a group of options. Opening an input file: DV-VCR. [avfoundation @ 0x7fc8ee008200] 'DV-VCR’ opened [avfoundation @ 0x7fc8ee008200] Selected framerate (29.970030) is not supported by the device. [avfoundation @ 0x7fc8ee008200] Falling back to default. — It looks like it is working segment @ 0x7fc8ef809600] stream:0 start_pts_time:0 pts:296 pts_time:9.87653 dts:296 dts_time:9.87653 -> pts:296 pts_time:9.87653 dts:296 dts_time:9.87653 [segment @ 0x7fc8ef809600] stream:0 start_pts_time:0 pts:297 pts_time:9.9099 dts:297 dts_time:9.9099 -> pts:297 pts_time:9.9099 dts:297 dts_time:9.9099 [segment @ 0x7fc8ef809600] stream:0 start_pts_time:0 pts:298 pts_time:9.94327 dts:298 dts_time:9.94327 -> pts:298 pts_time:9.94327 dts:298 dts_time:9.94327 [segment @ 0x7fc8ef809600] stream:0 start_pts_time:0 pts:299 pts_time:9.97663 dts:299 dts_time:9.97663 -> pts:299 pts_time:9.97663 dts:299 dts_time:9.97663 [segment @ 0x7fc8ef809600] segment:'374_000.dv' count:0 ended [AVIOContext @ 0x7fc8eda07a00] Statistics: 0 seeks, 136 writeouts [segment @ 0x7fc8ef809600] Opening '374_001.dv' for writing [file @ 0x7fc8eb65e500] Setting default whitelist 'file,crypto’ [segment @ 0x7fc8ef809600] segment:'374_001.dv' starts with packet stream:0 pts:300 pts_time:10.01 frame:296 [segment @ 0x7fc8ef809600] stream:0 start_pts_time:10.01 pts:300 pts_time:10.01 dts:300 dts_time:10.01 -> pts:300 pts_time:10.01 dts:300 dts_time:10.01 [segment @ 0x7fc8ef809600] stream:0 start_pts_time:10.01 pts:301 pts_time:10.0434 dts:301 dts_time:10.0434 -> pts:301 pts_time:10.0434 dts:301 dts_time:10.0434 [segment @ 0x7fc8ef809600] stream:0 start_pts_time:10.01 pts:302 pts_time:10.0767 dts:302 dts_time:10.0767 -> pts:302 pts_time:10.0767 dts:302 dts_time:10.0767 [segment @ 0x7fc8ef809600] stream:0 start_pts_time:10.01 pts:303 pts_time:10.1101 dts:303 dts_time:10.1101 -> pts:303 pts_time:10.1101 dts:303 dts_time:10.1101 [segment @ 0x7fc8ef809600] stream:0 start_pts_time:10.01 pts:304 pts_time:10.1435 dts:304 dts_time:10.1435 -> pts:304 pts_time:10.1435 dts:304 dts_time:10.1435 However, the video still starts at Zero: Input #0, dv, from '374_001.dv’: Metadata: timecode : 00:00:00:00 Duration: 00:00:01.63, start: 0.00, bitrate: 28771 kb/s Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 8:9 DAR 4:3], 25000 kb/s,