用Ruby编写mp4文件

3

我正在试图找出如何将包含 mp4 文件内容的字符串转换成格式正确的 mp4 文件并进行写入操作。目前我只是将该字符串放到文件中,并在其后加上 .mp4 扩展名,但结果文件无法被任何视频播放器播放(我猜测是由于缺少所有元数据所导致)。

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

为了更好的理解,我正在一个Ruby on Rails应用程序中进行操作,不确定是否有所改变。请帮忙,谢谢。

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>,那么您可能在写入步骤之前出了一些差错 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接