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.

Maybe you should rewrite the filtergraph so that you break apart the video and audio parts of your input media into separate flows? Then apply `trim` to the video media, and separately apply `atrim` to the audio media.  Then recombine the video and audio into your output.

I think the documentation is not doing you any favours here.  As I read the `trim` filter doc <https://ffmpeg.org/ffmpeg-filters.html#trim> and the `atrim` doc <https://ffmpeg.org/ffmpeg-filters.html#atrim>, neither talk about being limited to video or audio types of media.

I don't know enough about `ffmpeg` to say off the top of my head how to separate the audio media from the video media and feed them to each their own filters. Maybe the documentation on "Stream Selection" <https://ffmpeg.org/ffmpeg-all.html#Stream-selection> has the answer. Maybe you can append stream specifiers like [i5:v] and [i5:a] to get the video and audio streams separately.  I will leave that to others to figure out.

I hope this helps,
    —Jim DeLaHunt
_______________________________________________
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".

Reply via email to