什么构成了有效的 .mp4 视频?

什么构成了有效的 .mp4 视频?

我正在从一个网站连续下载一些 .ts 视频块并将它们保存在同一个文件中。当我尝试将此文件上传到 Twitter 和 Facebook 等网站时,它不接受它作为有效文件。当我使用 ffmpeg 编辑文件时,就像下面的行一样,它会接受它。

ffmpeg -i old.mp4 -metadata mediatype='video' new.mp4

我使用文本编辑器打开了 new.mp4 文件,一开始就看到了以下内容:

\00\00\00 ftypisom\00\00\00isomiso2avc1mp41\00\00\00free\002\88mdat\00\00\AE\FF\FF\AA\DCE\E9\BD\E6\D9H\B7\96,\D8 \D9#\EE\EFx264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00\00\80\00\002]e\88\84\00\BF\89\E0^-}\9F\C6\CF\C5\E2\E4\BEbc仇zBM\FD\B6\E4

有没有办法绕过 ffmpeg 编辑过程并向文件添加一些“标签”、一些文本、一些字节,使其成为“有效”的视频文件?

当然,我尝试将新文件(ffmpeg 编辑的文件)的前几个字节复制到旧文件,但情况变得更糟(也许我不知道在哪里停止复制?),VLC 现在甚至无法播放它。在编辑之前,旧的 .mp4 文件可以在 VLC 上播放,但时间戳已损坏。

此外,大小也有很大差异!old.mp4 为 6.4MB,而 new.mp4 为 3.4MB...

答案1

.ts文件不是.mp4文件。

运行ffmpeg -i in.ts -c copy -movflags +faststart out.mp4以生成有效的 MP4。

相关内容