使用ffmpeg将yuv编码成h264时有大小限制,太小的数据源编码会失败。
2015-04-23 16:52
1431 查看
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static> ls -l fb001.h264
-rw-r--r-- 1 shell.albert users 0 Apr 23 16:44 fb001.h264
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static> clear
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static> ls -lh ../football/fb001.yuv
-rw-r--r-- 1 shell.albert users 124K Feb 12 2002 ../football/fb001.yuv
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static> ./ffmpeg -s cif -pix_fmt yuv420p -i ../football/fb001.yuv -vcodec libx264 fb001.h264
ffmpeg version 2.6.2- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig
--enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr
--cc=gcc-4.9
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[rawvideo @ 0x2bcec80] Estimating duration from bitrate, this may be inaccurate
Input #0, rawvideo, from '../football/fb001.yuv':
Duration: 00:00:00.04, start: 0.000000, bitrate: 25344 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288, 30412 kb/s, 25 tbr, 25 tbn, 25 tbc
File 'fb001.h264' already exists. Overwrite ? [y/N] y
[libx264 @ 0x2bd1660] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
[libx264 @ 0x2bd1660] profile High, level 1.3
Output #0, h264, to 'fb001.h264':
Metadata:
encoder : Lavf56.25.101
Stream #0:0: Video: h264 (libx264), yuv420p, 352x288, q=-1--1, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc56.26.100 libx264
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[rawvideo @ 0x2bd04e0] Invalid buffer size, packet size 126720 < expected frame_size 152064
Error while decoding stream #0:0: Invalid argument
frame= 0 fps=0.0 q=0.0 Lsize= 0kB time=00:00:00.00 bitrate=N/A
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
Conversion failed!
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static>
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static> cat fb001.yuv fb002.yuv fb003.yuv >fb123.yuv
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static> ls -l *.yuv
-rw-r--r-- 1 shell.albert users 126720 Apr 23 16:50 fb001.yuv
-rw-r--r-- 1 shell.albert users 126720 Apr 23 16:50 fb002.yuv
-rw-r--r-- 1 shell.albert users 126720 Apr 23 16:50 fb003.yuv
-rw-r--r-- 1 shell.albert users 380160 Apr 23 16:51 fb123.yuv
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static> bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
126702*3
380106
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static> ./ffmpeg -s cif -pix_fmt yuv420p -i fb123.yuv -vcodec libx264 fb123.h264
ffmpeg version 2.6.2- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig
--enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr
--cc=gcc-4.9
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[rawvideo @ 0x323ec80] Estimating duration from bitrate, this may be inaccurate
Input #0, rawvideo, from 'fb123.yuv':
Duration: 00:00:00.12, start: 0.000000, bitrate: 25344 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288, 30412 kb/s, 25 tbr, 25 tbn, 25 tbc
[libx264 @ 0x32415a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
[libx264 @ 0x32415a0] profile High, level 1.3
Output #0, h264, to 'fb123.h264':
Metadata:
encoder : Lavf56.25.101
Stream #0:0: Video: h264 (libx264), yuv420p, 352x288, q=-1--1, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc56.26.100 libx264
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[rawvideo @ 0x3240420] Invalid buffer size, packet size 76032 < expected frame_size 152064
Error while decoding stream #0:0: Invalid argument
frame= 2 fps=0.0 q=-1.0 Lsize= 33kB time=00:00:00.08 bitrate=3353.4kbits/s
video:33kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
[libx264 @ 0x32415a0] frame I:1 Avg QP:29.71 size: 16172
[libx264 @ 0x32415a0] frame P:1 Avg QP:31.49 size: 17362
[libx264 @ 0x32415a0] mb I I16..4: 3.8% 64.9% 31.3%
[libx264 @ 0x32415a0] mb P I16..4: 5.6% 58.6% 34.6% P16..4: 0.8% 0.5% 0.0% 0.0% 0.0% skip: 0.0%
[libx264 @ 0x32415a0] 8x8 transform intra:62.1% inter:80.0%
[libx264 @ 0x32415a0] coded y,uvDC,uvAC intra: 81.5% 99.9% 99.7% inter: 95.0% 100.0% 100.0%
[libx264 @ 0x32415a0] i16 v,h,dc,p: 3% 84% 3% 11%
[libx264 @ 0x32415a0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 5% 32% 24% 5% 6% 3% 9% 5% 12%
[libx264 @ 0x32415a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 10% 33% 13% 5% 8% 6% 11% 4% 9%
[libx264 @ 0x32415a0] i8c dc,h,v,p: 49% 38% 5% 8%
[libx264 @ 0x32415a0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x32415a0] kb/s:3353.40
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static> ls -l fb123.yuv fb123.h264
-rw-r--r-- 1 shell.albert users 33534 Apr 23 16:53 fb123.h264
-rw-r--r-- 1 shell.albert users 380160 Apr 23 16:51 fb123.yuv
shell.albert@yantai:~/project/H.264/ffmpeg-2.6.2-64bit-static>
相关文章推荐
- 使用ffmpeg将BMP图片编码为x264视频文件,将H264视频保存为BMP图片,yuv视频文件保存为图片的代码
- Android中使用FFMPEG将yuv420p编码为h264
- 使用ffmpeg将BMP图片编码为x264视频文件,将H264视频保存为BMP图片,yuv视频文件保存为图片的代码
- ffmpeg将yuv编码成h264数据量变小且可以使用暴风影音播放出来,很短一闪而过
- 使用ffmpeg将BMP图片编码为x264视频文件,将H264视频保存为BMP图片,yuv视频文件保存为图片的代码
- 在Android上使用FFmpeg将摄像头采集的YUV裸流编码为h264。
- 02 使用FFmpeg库, YUV420转H264编码
- 在Andorid中使用FFmpeg实现YUV编码为MP4
- FFMPEG:压缩之H264编码(YUV420P->H264) 分类: DirectX ffmpeg-SDL-VLC-Live555 2014-11-26 14:31 997人阅读 评论(0) 收藏
- 笔记:ffmpeg使用实例:yuv->h264,pcm->aac
- FFMPEG:压缩之H264编码(YUV420P->H264)
- FFMPEG:压缩之H264编码(YUV420P->H264)
- Live555接收h264使用ffmpeg解码为YUV420 .
- FFMPEG:压缩之H264编码(YUV420P->H264)
- 使用FFmpeg类库实现YUV视频序列编码为视频
- 使用FFmpeg类库实现YUV视频序列编码为视频
- 使用FFMpeg进行H264编码
- 使用ffmpeg接口将YUV编码为h.264
- 使用FFmpeg类库实现YUV视频序列编码为视频
- windows平台下使用ffmpeg对视频进行H264编码总结