一个gem即可解决,stars: 1.5k
https://github.com/streamio/streamio-ffmpeg
获取mp3时长
我的项目中暂时只用到了获取mp3文件的时长。
更多常见用法
movie = FFMPEG::Movie.new("path/to/movie.mov")
movie.duration # 7.5 (duration of the movie in seconds)
movie.bitrate # 481 (bitrate in kb/s)
movie.size # 455546 (filesize in bytes)
movie.video_stream # "h264, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 371 kb/s, 16.75 fps, 15 tbr, 600 tbn, 1200 tbc" (raw video stream info)
movie.video_codec # "h264"
movie.colorspace # "yuv420p"
movie.resolution # "640x480"
movie.width # 640 (width of the movie in pixels)
movie.height # 480 (height of the movie in pixels)
movie.frame_rate # 16.72 (frames per second)
movie.audio_stream # "aac, 44100 Hz, stereo, s16, 75 kb/s" (raw audio stream info)
movie.audio_codec # "aac"
movie.audio_sample_rate # 44100
movie.audio_channels # 2
# Multiple audio streams
movie.audio_streams[0] # "aac, 44100 Hz, stereo, s16, 75 kb/s" (raw audio stream info)
movie.valid? # true (would be false if ffmpeg fails to read the movie)
除了获取媒体信息,这个Gem还能转换视频,其实就是给ffmpeg包装了一下,具体请参考官方文档。