将 avi 转换为可流式传输的 mp4

将 avi 转换为可流式传输的 mp4

我刚刚拿到了我的 chromecast,我正在尝试将无法播放的 avi 视频转换为可播放的 mp4 视频格式,我使用以下命令将一些 avi 视频转换为 mp4:

avconv -i input_file.avi -c:v libx264 -c:a copy output_file.mp4

问题是我收到错误“媒体无法流式传输”并且无法与 chromecast 配合使用。

lsb_release -a 的输出

frepie@OptiPlex-760:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty
frepie@OptiPlex-760:~$ 

avconv -codecs | grep libvpx 的输出

frepie@OptiPlex-760:~$ avconv -codecs | grep libvpx
avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
DEV.L. vp8                  On2 VP8 (decoders: vp8 libvpx ) (encoders: libvpx )
frepie@OptiPlex-760:~$

答案1

我终于在这里找到了我所寻找的答案:

Bash 脚本将多个 avi 转换为 mp4

建议脚本中最重要的一行是

avconv -i "$i" -vcodec libx264 -acodec aac -strict experimental  -threads 3 "$name.mp4"

将“$i”更改为输入文件名,将“$name.mp4”更改为所需的输出名称。

答案2

Google Chromecast 支持两种容器格式,WebMMP4.
因此使用WebM谷歌 VP9codec。为什么WebM谷歌 VP9不适用于MP4

avconv -i input_file.avi -c:v libvpx-vp9 -c:a copy output_file.webm

或者VP8编码器

avconv -i input_file.avi -c:v libvpx -c:a copy output_file.webm

相关内容