我刚刚拿到了我的 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
我终于在这里找到了我所寻找的答案:
建议脚本中最重要的一行是
avconv -i "$i" -vcodec libx264 -acodec aac -strict experimental -threads 3 "$name.mp4"
将“$i”更改为输入文件名,将“$name.mp4”更改为所需的输出名称。
答案2
Google Chromecast 支持两种容器格式,WebM和MP4.
因此使用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