avconv 创建损坏的(0 KB)视频文件

avconv 创建损坏的(0 KB)视频文件

编辑:我看到过这个问题:avconv 在尝试对 mp4 视频进行下采样时创建零字节文件不幸的是,这不是同一个问题。

我试图将 avconv 与 Linux Ubuntu 服务器上的网站结合使用,以将上传的视频保存两次,一次保存为 ogg,另一次保存为 mp4(试图涵盖所有浏览器兼容性)。

我从未使用过 avconv(甚至之前甚至在 PHP 中使用过 shell),所以我在这方面还是个新手。但我设法从 Google 上拼凑出了很多信息。

只是为了测试一切是否正常,我还没有运行 PHP shell_exec - 我正在直接从服务器上的命令行运行 avconv。

问题在于:无论我创建哪种类型的视频,当我在浏览器中导航到视频路径时,都会收到视频文件已损坏且无法播放的错误。

当我下载视频文件进行检查时,我发现它们的大小为零字节,而原始文件的大小为 4.3MB。

我确信我只是缺少了某个参数——例如,我认为我没有指定要使用的确切编解码器——但我还只是新手,所以我不知道从哪里开始。

这是我目前正在使用的命令:

avconv -i /path/video.mp4 -vn /path/video.ogg

我也尝试将 mp4 保存为另一个 mp4,结果相同 - 文件损坏。

我尝试了多种其他选项,但我得到了很多 FFmpeg 而不是 avconv 的结果,其中一些似乎有效,而其他一些似乎无效。

以下是终端中的 avconv 输出:

avconv version 0.8.17-4:0.8.17-0ubuntu0.12.04.1, Copyright (c) 2000-2014 the Libav developers
  built on Mar 16 2015 13:26:50 with gcc 4.6.3
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/path/video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.4.100
  Duration: 00:00:46.54, start: 0.000000, bitrate: 741 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 640x264 [PAR 127:128 DAR 635:264], 608 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc
Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16, 128 kb/s
File '/path/video.ogg' already exists. Overwrite ? [y/N] y
Output #0, ogg, to '/path/video.ogg':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf53.21.1
    Stream #0.0(und): Audio: flac, 44100 Hz, stereo, s16, 200 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (aac -> flac)
Press ctrl-c to stop encoding
size=    3875kB time=46.60 bitrate= 681.2kbits/s    
video:0kB audio:3858kB global headers:0kB muxing overhead 0.445476%

相关内容