如何解决如何在android中从mp4文件中分割音频/视频?
我正在制作一个从图库加载和视频的 android 应用程序(使用 Uri),
使用视频的音频数据用于机器学习 1,
并使用视频的静音音频数据用于机器学习 2。
现在我正在尝试拆分引用的数据
https://gist.github.com/ArsalRaza/132a6e99d59aa80b9861ae368bc786d0
但由于未知原因,它似乎不起作用。
我加载视频剪辑的代码是:
vidView?.setVideoURI(uri_vid)
vidView?.setVideoURI(uri_vid)
val Metadata = MediaMetadataRetriever()
Metadata.setDataSource(this,uri_vid)
val vidLength = Metadata.extractMetadata(MediaMetadataRetriever.MetaDATA_KEY_DURATION)
seekbar?.max = vidLength!!.toInt()
set_time(vidLength!!.toInt())
val separator = AudioExtractor()
val extracted_audio = this.filesDir.toString()+"temp_audio.wav"
val extracted_video = this.filesDir.toString()+"temp_video.mp4"
separator.genVideoUsingmuxer(this,uri_vid!!,extracted_audio,true,false)
separator.genVideoUsingmuxer(this,extracted_video,false,true)
//separate_video_and_sound(uri_vid!!)
vidView?.start()
当我加载 2:45 影片剪辑时,日志显示:
V/MediaMetadataRetriever: constructor
V/MediaMetadataRetriever: setDataSource(95,576460752303423487)
V/MediaMetadataRetriever: setDataSource(fd) return(0)
extractMetadata(24)
D/MPEG4Writer: fpathconf _PC_FILESIZEBITS:64
File size limit set to 4503599627370495 bytes implicitly
MP4WtrCtrlHlpLooper Started
I/MPEG4Writer: setStartTimestampus: 0 from Video track
Earliest track starting time: 0
V/MediaMetadataRetriever: destructor
disconnect
V/NuMediaExtractor: NuMediaExtractor destructor
D/AED: Saw input EOS.
D/MPEG4Writer: reset()
V/MediaWriter: Track event err/info msg:101,trackId:1,type:1000,val:-1011
I/MPEG4Writer: normal stop process
D/MPEG4Writer: Video track stopping. Stop source
Video track source stopping
Video track source stopped
I/MPEG4Writer: Received total/0-length (5226/0) buffers and encoded 5226 frames. - Video
D/MPEG4Writer: Video track stopped. Status:0. Stop source
D/MPEG4Writer: 0 chunks are written in the last batch
D/MPEG4Writer: WriterThread stopped. Status:0
I/MPEG4Writer: Adjust the moov start time from 0 us -> 0 us
I/MPEG4Writer: The mp4 file will not be streamable.
MOOV atom was written to the file
D/MPEG4Writer: release()
ftruncate mPreAllocateFileEndOffset:335949544 mOffset:335947773 mMdatEndOffset:335923800 diff:1771
MP4WtrCtrlHlpLooper stopped
Top 5 write durations(microseconds): #1:388 #2:404 #3:510 #4:515 #5:520
reset()
Video track stopping. Stop source
由于日志太长,我只写了一部分。该视频在 VideoView 上播放良好,但我认为分隔符不起作用。我做错了什么吗?还是使用FFMPEG库更聪明?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。