我运行了以下命令。
ffmpeg -i test.mp4 -threads 2 -codec:v libx264 -s:v 1280x720 -aspect:v 16:9 -b:v 256k -map 0 -f segment -segment_format mpegts -segment_time 10 -segment_list stream.m3u8 streamfiles/stream%03d.ts
执行结果
ffmpeg version N-75926-gce0834b Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.6 (Debian 4.6.3-14+rpi1)
configuration: --arch=armel --target-os=linux --enable-shared --enable-gpl --enable-libx264 --enable-nonfree
libavutil 55. 3.100 / 55. 3.100
libavcodec 57. 5.100 / 57. 5.100
libavformat 57. 3.100 / 57. 3.100
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 11.100 / 6. 11.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.100 / 2. 0.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.100
Duration: 00:00:03.28, start: 0.000000, bitrate: 10159 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 10156 kb/s, 25 fps, 25 tbr, 1200k tbn, 2400k tbc (default)
Metadata:
handler_name : VideoHandler
Illegal instruction
结果是发生了错误。
有人告诉我,如果你没有将选项放到./configure
的{{1}},那就错了。该选项是libx264
。否则它将使用不受支持的指令。
所以我使用该选项运行--extra-cflags='-march=armv6' --extra-ldflags='-march=armv6'
,然后我运行了make,现在我收到错误消息:
./configure
我不知道这个错误的含义。你应该怎么处理这个错误?
我使用的机器是Raspberry PI B +,我的操作系统是Raspbian。我想使用common/arm/quant-a.S: Assembler messages:
common/arm/quant-a.S:362: Error: selected processor does not support ARM mode `rbit r1,r1'
common/arm/quant-a.S:363: Error: selected processor does not support ARM mode `rbit r1,r1'
Makefile:217: recipe for target 'common/arm/quant-a.o' failed
make: *** [common/arm/quant-a.o] Error 1
和ffmpeg
。
非常感谢任何建议和意见。
答案 0 :(得分:2)
构建libx264时遇到了同样的错误,但我有一个旧版本要编译。最近对库的一些更改似乎打破了armv6处理器的构建(或者我不知道需要的编译开关)。
我的解决方案:
git clone git://git.videolan.org/x264
cd x264
git checkout 3902ae02a0edede5d6c44cb3ee9e24e618c66e6a
然后./configure with required options,make,make install等。
我正在尝试按照说明here在桌面计算机上交叉编译ffmpeg。我不知道我的解决方案是否有效,因为我陷入了下一步(alsa-lib似乎需要python)!