Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby:如何将mp4文件读入块_Ruby - Fatal编程技术网

Ruby:如何将mp4文件读入块

Ruby:如何将mp4文件读入块,ruby,Ruby,我希望能够读取1mb块的mp4文件 我已尝试使用以下API打开该文件: video_file = File.open(@video_filename, 'rb') video_file = IO.binread(@video_filename) 问题是,视频文件是一个字符串,我不能使用read获取文件的块 chunk = video_file.read(4*1024*1024) 在Ruby中,打开此文件并一次读取N个字节的正确接口/工具是什么?尝试以下方法: `FILENAME =

我希望能够读取1mb块的mp4文件

我已尝试使用以下API打开该文件:

video_file = File.open(@video_filename, 'rb') 
video_file = IO.binread(@video_filename)
问题是,视频文件是一个字符串,我不能使用
read
获取文件的块

chunk = video_file.read(4*1024*1024)

在Ruby中,打开此文件并一次读取N个字节的正确接口/工具是什么?

尝试以下方法:

   `FILENAME = "d:\\tmp\\file.bin"
    MEGABYTE = 1024 * 1024

 class File
  def each_chunk(chunk_size = MEGABYTE)
  yield read(chunk_size) until eof?
 end
end

 open(FILENAME, "rb") do |f|
  f.each_chunk { |chunk| puts chunk }
   end`
我想我会:

chnk_size=4*1024*1024
f=File.open(fn, 'rb')
until f.eof?    
    chnk=f.read(chnk_size)
    # process the chnk
end 

这与我在上面所做的并没有什么不同,我并不喜欢它。不管怎样,结果都是一样的。