php - ffmpeg FLV 到 FLV 转换失败

标签 php ffmpeg clipbucket

关闭。这个问题是off-topic .它目前不接受答案。












想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。


9年前关闭。







Improve this question




我正在使用 ClipBucket。我已经设置了 ffmpeg,我可以毫无问题地将 AVI、WMV 文件转换为 FLV 视频文件,但现在我正在尝试将 FLV 视频文件转换为具有不同视频质量的 FLV 视频文件。

但是,转换中存在错误。有人能帮助我吗?

日志:

Preparing file...
Unknown file details - Unable to get video details using FFMPEG 

Converting Video
Conversion Command : /usr/local/bin/ffmpeg -i /home/myspace86/myspace86.com/files/conversion_queue/136667418894906.flv -f flv -vcodec libx264 -r 30 -vf 'movie=/home/myspace86/public_html/player_logo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]' -ab 320000 /home/myspace86/myspace86.com/files/videos/136667418894906.flv 2> /home/myspace86/myspace86.com/files/temp/136667424191b8e.tmp

转换详情
ffmpeg version N-52385-g6d7ec4f Copyright (c) 2000-2013 the FFmpeg developers
built on Apr 22 2013 16:08:27 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-54)
configuration: --prefix=/usr/local --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libx264 --enable-libxvid
libavutil 52. 27.100 / 52. 27.100
libavcodec 55. 5.100 / 55. 5.100
libavformat 55. 3.100 / 55. 3.100
libavdevice 55. 0.100 / 55. 0.100
libavfilter 3. 60.101 / 3. 60.101
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
Input #0, flv, from '/home/myspace86/myspace86.com/files/conversion_queue/136667418894906.flv':
Metadata:
metadatacreator : Yet Another Metadata Injector for FLV - Version 1.4
hasKeyframes : true
hasVideo : true
hasAudio : true
hasMetadata : true
canSeekToEnd : false
datasize : 40992128
videosize : 37546219
audiosize : 3247153
lasttimestamp : 728
lastkeyframetimestamp: 727
lastkeyframelocation: 40978250
Duration: 00:12:08.16, start: 0.000000, bitrate: 450 kb/s
Stream #0:0: Video: vp6f, yuv420p, 648x459, 409 kb/s, 29.97 tbr, 1k tbn, 1k tbc
Stream #0:1: Audio: mp3, 22050 Hz, mono, s16p, 32 kb/s
[libx264 @ 0x146d900] height not divisible by 2 (648x459)
Output #0, flv, to '/home/myspace86/myspace86.com/files/videos/136667418894906.flv':
Metadata:
metadatacreator : Yet Another Metadata Injector for FLV - Version 1.4
hasKeyframes : true
hasVideo : true
hasAudio : true
hasMetadata : true
canSeekToEnd : false
datasize : 40992128
videosize : 37546219
audiosize : 3247153
lasttimestamp : 728
lastkeyframetimestamp: 727
lastkeyframelocation: 40978250
Stream #0:0: Video: h264, yuv420p, 648x459, q=-1--1, 90k tbn, 30 tbc
Stream #0:1: Audio: none, 22050 Hz, mono, s16p
Stream mapping:
Stream #0:0 -> #0:0 (vp6f -> libx264)
Stream #0:1 -> #0:1 (mp3 -> libmp3lame)
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height


Unknown file details - Unable to get output video details using FFMPEG 


Time Took : 0.3056 seconds

conversion_status : completed

最佳答案

[libx264 @ 0x146d900] height not divisible by 2 (648x459)

那是你的错误。通常,在处理任意输入时,您可能希望包含一个强制输出可被 2 整除的缩放器,例如以下,其中高度固定为 460:
scale=trunc(oh*a*2)/2:460

或者你之前解析你的输入文件,看看是否需要重新调整。另见:ffmpeg/avconv force scaled output to be divisible by 2

关于php - ffmpeg FLV 到 FLV 转换失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16158680/

相关文章:

php - 如何迭代 mysqli_fetch_all() 方法

python - OpenCV VideoCapture 无法在 Python 中读取视频,但可以在 VS11 中读取

audio - ffmpeg concat 丢弃音频帧

php - Ubuntu - 使用 file_put_contents 的正确权限

javascript - 使用 localhost 测试 Ajax

PHP AMQP Consume() fork 做实际工作

python - OpenCV 无法读取某些 mp4 文件,转换为 avi 也无济于事

javascript - JW Player smarty 不工作

ffmpeg - 在 UWAMP 上安装 ffmpeg 等