我试图弄清楚如何获取一个字符串,这是一个mp4文件的文件内容,并编写一个格式正确的mp4文件。目前我只是将字符串放入一个文件并在其上打一个.mp4扩展名,但是这个结果文件不能被任何视频播放器播放(我假设因为所有丢失的元数据)。
def write_mp4(mp4_string)
file = File.new('movie.mp4', 'w')
file.puts(mp4_string)
file.close
end
对于上下文,我在Ruby on Rails应用程序中执行此操作,不确定是否会更改任何内容。请帮助谢谢。
"wb"
模式,它将抑制EOL转换并正确设置编码write
,而不是puts
,因为后者插入额外的EOLFile.write('movie.mp4', mp4_string, mode: 'wb')
- 甚至File.binwrite('movie.mp4', mp4_string)
。当然,确保字符串之前实际上包含一个正确的文件 - 例如,如果mp4_string.encoding
没有返回#<Encoding:ASCII-8BIT>
,你可能在编写步骤之前在某个地方做过傻瓜:)