用Ruby编写mp4文件

问题描述 投票:3回答:1

我试图弄清楚如何获取一个字符串,这是一个mp4文件的文件内容,并编写一个格式正确的mp4文件。目前我只是将字符串放入一个文件并在其上打一个.mp4扩展名,但是这个结果文件不能被任何视频播放器播放(我假设因为所有丢失的元数据)。

def write_mp4(mp4_string)
  file = File.new('movie.mp4', 'w')
  file.puts(mp4_string)
  file.close
end

对于上下文,我在Ruby on Rails应用程序中执行此操作,不确定是否会更改任何内容。请帮助谢谢。

ruby-on-rails ruby video mp4
1个回答
3
投票
  • 使用"wb"模式,它将抑制EOL转换并正确设置编码
  • 使用write,而不是puts,因为后者插入额外的EOL
  • 您可以使用快捷方式:File.write('movie.mp4', mp4_string, mode: 'wb') - 甚至File.binwrite('movie.mp4', mp4_string)

当然,确保字符串之前实际上包含一个正确的文件 - 例如,如果mp4_string.encoding没有返回#<Encoding:ASCII-8BIT>,你可能在编写步骤之前在某个地方做过傻瓜:)

© www.soinside.com 2019 - 2024. All rights reserved.