LoginSignup
0

More than 5 years have passed since last update.

RAWはRAWでもWWEではなくてパッケージング前の動画データのこと。でもWWEのRAWは面白いよね。

Posted at

どういうわけか

ネクストスケープ配信事業本部 Advent Calendar 2016 にまだ空いている日が有るのに、誰も埋めようとしない・・・。
これは、そんなカレンダーの隙間を埋める為の小ネタ。
そして恐らく、大半の人にとって全く必要の無い小ネタです。

極稀にですが

動画配信の仕事をしていると、納品されたコンテンツがパッケージングや暗号化処理の際にエラーになる時が有ります。

そんな時は、まあ、色々とゴニョゴニョして原因を特定していくのですが、そのゴニョゴニョの一つに
RAWデータからの再パッケージが有ります。

要は、エラーになった ffmpegでパッケージングされてたっぽい mp4をパッケージャを変えてmp4にしてみよう!
と言う事です。

具体的な手順は

次の様になります。H.264のシングルトラックを持つ some_video_ffmpeg.mp4 と some_video_mp4box.mp4 と言う
2つのmp4が有ったとして、ffmpegを使ってRAWでーたを取り出す時は

ffmpeg -i some_video_ffmpeg.mp4 -codec copy some_video_ffmpeg.h264
ffmpeg -i some_video_mp4box.mp4 -codec copy some_video_mp4box.h264

みたいな感じで、H.264のRAWデータが取り出せます。
ちなみに、H.264の映像データとAACの音声データがMUXされたmp4からそれぞれRAWデータを取り出すのは

ffmpeg -i some.mp4 -codec copy some.h264
ffmpeg -i some.mp4 -codec copy some.aac

と言った感じで。

mp4boxを使う場合は

mp4box -raw 1 some_video_ffmpeg.mp4 -out some_video_ffmpeg.h264 (1はTrackIDを指定しています)
mp4box -raw 1 some_video_mp4box.mp4 -out some_video_mp4box.h264 (1はTrackIDを指定しています)

と言う具合です。
-outのオプションは無くても構いません。mp4boxが勝手にコーデックを判別して、元のファイル名_track1.h264
みたいなRAWデータを作ってくれます。

パッケージングの方は、ffmpegだと

ffmpeg -i some_video_ffmpeg.h264 -codec copy some_video_from_ffmpeg.mp4
ffmpeg -i some_video_mp4box.h264 -codec copy some_video_from_mp4box.mp4

と、DEMUXとかと同じ感じで出来ます。

mp4boxだと

mp4box -add some_video_ffmpeg.h264 -new some_video_from_ffmpeg.mp4
mp4box -add some_video_mp4box.h264 -new some_video_from_mp4box.mp4

と、ちょっと見慣れないコマンドオプションでパッケージング出来ます。

ここまで書いておきながら

実のところは、先日書いたDEMUX処理で再パッケージ処理は行われているんですけどね・・・。
でもまあ、出力されたmp4も微妙に異なっているし、個人的には一旦RAWデータを作って再パッケージしてます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0