On 05/07/2024 15.41, Mark Filipak wrote:
On 05/07/2024 14.34, Jim DeLaHunt wrote:
On 2024-07-04 15:50, Mark Filipak wrote:
...Here's the interesting terminal output (slightly beautified):
[Parsed_trim_1 @ 0000000000620040]
Media type mismatch between the 'Parsed_trim_1' filter output pad 0 (video) and the
'Parsed_atrim_2' filter input pad 0 (audio)
[AVFilterGraph @ 000000000061c7c0] Error linking filters
Failed to set value
'split=2[i5][i6],
[i5]trim=start_frame=481:end_frame=134047,
atrim=start_sample=962962:end_sample=268360092[o5],
[i6]trim=start_frame=138745:end_frame=246719[o6],
[o5][o6]concat=n=2'
for option 'filter_complex': Invalid argument
Error parsing global options: Invalid argument
I think there is a clue in the previous part of the output:
[Parsed_trim_1 @ 0000000000620040] Media type mismatch between the 'Parsed_trim_1' filter output
pad 0 (video) and the 'Parsed_atrim_2' filter input pad 0 (audio)
I see "media type mismatch", so what is not matched? I see a mention of "filter output pad 0
(video)" and "filter input pad 0 (audio)". I can imagine that media "video" does not match media
"audio".
...Here's my trim commands for the first segment:
trim=start_frame=481:end_frame=134047,atrim=start_sample=962962:end_sample=268360093
Consulting the filtergraph syntax documentation
<https://ffmpeg.org/ffmpeg-filters.html#Filtergraph-syntax-1>,
A filterchain consists of a sequence of connected filters, each one connected to the previous one
in the sequence. A filterchain is represented by a list of ","-separated filter descriptions.
It looks like your trim commands for the first segment consist of a `trim` filter which reads
video media from input pad [i5] and writes video media to an implicit output pad, connected to an
`atrim` filter which wants reads audio media from an implicit input pad. But the implicit output
pad is giving video media to a filter which wants audio media.
That looks like a type mismatch to me.
I agree. I expected that
[i5]trim=start_frame=481:end_frame=134047,
atrim=start_sample=962962:end_sample=268360092[o5]
was a stream and that atrim would operate only on the audio part of that stream. But it appears that
I may have to split the video and audio streams into two discrete streams (or maybe more if there
were more than one video stream and/or more than one audio stream). This is an architectural
shortcoming of FFmpeg and is something OFFmpeg does not suffer.
When I find the time, I'll explore this further and I'll try some of your good
ideas.
Well, I separated video & audio into separate streams but got the same result:
"Media type mismatch between the 'Parsed_split_0' filter output pad 1 (video) and the
'Parsed_atrim_2' filter input pad 0 (audio)"
So, the video stream is going right through '[o5v],[i5a]'
I've never had to do this before. I'm in unknown territory.
--Mark.
THE SCRIPT:
set F=split=8[i5v][i5a][i6v][i6a][i7v][i7a][i8v][i8a],
: sexagesimal 5: 20.062..1:33:10.835
: frames 5: 20.062*24/1.001..5590.835*24/1.001 = 481..134046
set F=%F% [i5v]trim=start_frame=481:end_frame=134047[o5v],
set F=%F% [i5a]atrim=start=20.062:end=5590.835[o5a],
set F=%F% [o5v][o5a]interleave[o5],
: sexagesimal 6: 1:36:26.823..2:51:30.197
: frames 6: 5786.823*24/1.001..10290.197*24/1.001 = 138745..246718
set F=%F% [i6v]trim=start_frame=138745:end_frame=246719[o6v],
set F=%F% [i6a]atrim=start=5786.823:end=10290.197[o6a],
set F=%F% [o6v][o6a]interleave[o6],
: sexagesimal 7: 2:54:49.062..3:51:41.805
: frames 7: 10489.062*24/1.001..13901.805*24/1.001 = 251486..333310
set F=%F% [i7v]trim=start_frame=251486:end_frame=333310[o7v],
set F=%F% [i7a]atrim=start=10489.062:end=13901.805[o7a],
set F=%F% [o7v][o7a]interleave[o7],
: sexagesimal 8: 3:54:58.167..
: frames 8: 14098.167*24/1.001.. = 338018..
set F=%F% [i8v]trim=start_frame=338018[o8v],
set F=%F% [i8a]atrim=start=14098.167[o8a],
set F=%F% [o8v][o8a]interleave[o8],
set F=%F%[o5][o6][o7][o8]concat=n=4[o]
set C=-c:v libx265 -x265-params crf=16 -c:a dts -strict -2 -sn
ffmpeg -i g:\00305+00306+00307+00308.m2ts -filter_complex "%F%" -map "[o]" %C% -start_at_zero
e:\00305+00306+00307+00308.mp4
pause
THE TERMINAL OUTPUT:
G:\>ffmpeg -i g:\00305+00306+00307+00308.m2ts -filter_complex
"split=8[i5v][i5a][i6v][i6a][i7v][i7a][i8v][i8a], [i5v]trim=start_frame=481:end_frame=134047[o5v],
[i5a]atrim=start=20.062:end=5590.835[o5a], [o5v][o5a]interleave[o5],
[i6v]trim=start_frame=138745:end_frame=246719[o6v], [i6a]atrim=start=5786.823:end=10290.197[o6a],
[o6v][o6a]interleave[o6], [i7v]trim=start_frame=251486:end_frame=333310[o7v],
[i7a]atrim=start=10489.062:end=13901.805[o7a], [o7v][o7a]interleave[o7],
[i8v]trim=start_frame=338018[o8v], [i8a]atrim=start=14098.167[o8a],
[o8v][o8a]interleave[o8],[o5][o6][o7][o8]concat=n=4[o]" -map "[o]" -c:v libx265 -x265-params crf=16
-c:a dts -strict -2 -sn -start_at_zero e:\00305+00306+00307+00308.mp4
ffmpeg version 2024-05-20-git-127ded5078-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg
developers
built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads
--disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2
--enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist
--enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray
--enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d
--enable-libdavs2 --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-librav1e
--enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2
--enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg
--enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype
--enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf
--enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va
--enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi
--enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio
--enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb
--enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc
--enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus
--enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite
--enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 59. 19.100 / 59. 19.100
libavcodec 61. 5.104 / 61. 5.104
libavformat 61. 3.103 / 61. 3.103
libavdevice 61. 2.100 / 61. 2.100
libavfilter 10. 2.102 / 10. 2.102
libswscale 8. 2.100 / 8. 2.100
libswresample 5. 2.100 / 5. 2.100
libpostproc 58. 2.100 / 58. 2.100
[Parsed_split_0 @ 00000000004bab40] Media type mismatch between the 'Parsed_split_0' filter output
pad 1 (video) and the 'Parsed_atrim_2' filter input pad 0 (audio)
[AVFilterGraph @ 00000000004afe80] Error linking filters
Failed to set value 'split=8[i5v][i5a][i6v][i6a][i7v][i7a][i8v][i8a],
[i5v]trim=start_frame=481:end_frame=134047[o5v], [i5a]atrim=start=20.062:end=5590.835[o5a],
[o5v][o5a]interleave[o5], [i6v]trim=start_frame=138745:end_frame=246719[o6v],
[i6a]atrim=start=5786.823:end=10290.197[o6a], [o6v][o6a]interleave[o6],
[i7v]trim=start_frame=251486:end_frame=333310[o7v], [i7a]atrim=start=10489.062:end=13901.805[o7a],
[o7v][o7a]interleave[o7], [i8v]trim=start_frame=338018[o8v], [i8a]atrim=start=14098.167[o8a],
[o8v][o8a]interleave[o8],[o5][o6][o7][o8]concat=n=4[o]' for option 'filter_complex': Invalid argument
Error parsing global options: Invalid argument
_______________________________________________
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".