拆分长度不正确的音轨 - FFMPEG

Posted

技术标签:

【中文标题】拆分长度不正确的音轨 - FFMPEG【英文标题】:Splitting audio tracks with incorrect length - FFMPEG 【发布时间】:2018-03-26 11:23:28 【问题描述】:

版本:com.writingminds:FFmpegandroid:0.3.2

我有一个长度为 43 秒的音频文件。我编写了一个算法,在单词结束的每 10 秒标记处进行拆分(为此,我使用 IBM Watson 来获取结束时间戳)。所以裁剪持续时间总是在 10 秒到 11 秒左右。当然,除了第五个。我已经打印了我的命令,以便您更好地理解我的用例。

System.out: Split Command: -y -i /storage/emulated/0/AudioClipsForSpeakerRecognition/merge.wav -ss 00:00:00.000 -codec copy -t 00:00:10.010 /storage/emulated/0/AudioClipsForSpeakerRecognition/segment_1.wav

System.out: Split Command: -y -i /storage/emulated/0/AudioClipsForSpeakerRecognition/merge.wav -ss 00:00:10.010 -codec copy -t 00:00:21.090 /storage/emulated/0/AudioClipsForSpeakerRecognition/segment_2.wav

System.out: Split Command: -y -i /storage/emulated/0/AudioClipsForSpeakerRecognition/merge.wav -ss 00:00:21.090 -codec copy -t 00:00:30.480 /storage/emulated/0/AudioClipsForSpeakerRecognition/segment_3.wav

System.out: Split Command: -y -i /storage/emulated/0/AudioClipsForSpeakerRecognition/merge.wav -ss 00:00:30.480 -codec copy -t 00:00:40.120 /storage/emulated/0/AudioClipsForSpeakerRecognition/segment_4.wav

System.out: Split Command: -y -i /storage/emulated/0/AudioClipsForSpeakerRecognition/merge.wav -ss 00:00:40.120 -codec copy -t 00:00:43.000 /storage/emulated/0/AudioClipsForSpeakerRecognition/segment_5.wav

但是,当播放所有裁剪的音频文件时,我注意到 segment_1 大约是 10 秒,segment_2 大约是 20 秒等等。因此,一些属于 segment_1 的音频部分也可以在片段 2 中使用,等等。为什么会这样?

感谢您的回复。

【问题讨论】:

【参考方案1】:

-t 表示持续时间。请改用-to

【讨论】:

以上是关于拆分长度不正确的音轨 - FFMPEG的主要内容,如果未能解决你的问题,请参考以下文章

编码aac音轨时FFmpeg媒体信息不正确

如何在 C++ 中使用 ffmpeg 动态更改视频的音轨?

FFMPEG:向视频文件添加额外的音轨

在 SOX 中混合带有偏移量的音轨

如何让 FFmpeg 在单循环静音视频中自动注入 mp3 音轨?

如何使用 bash 持续监控节奏盒的音轨变化