

ffmpegを使い動画をエンコードした後の保存場所がわからないです。  
ffmpegを使ったあとエラーも出ずにエンコードは終了したのですが、肝心のエンコード後のファイルが見当たりません。  
実行じたコマンドは

[code]

    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
    
[/code]

これなんですが、保存場所は`streamfiles`というディレクトリですよね？  
実行した場所は`/usr/share/nginx/www/streamfiles`でこのディレクトリ内に`test.mp4`が入っています。

またffmpegの実行結果は

[code]

    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
    
[/code]

となりました。  
これはエンコードできていますよね？  
もし成功しているのであればエンコードで出来たファイルはどこに保存されているのでしょう、、、  
分かるかた教えて欲しいです。

これがエラーで失敗していることはわかりました！  
過去にクロスコンパイルのことも聞いていますが、今回は直接raspiで実行しています。


CC BY-SA 3.0
2015-10-12T20:49:25.480
17564
2015-10-13T09:41:26.617
2015-10-13T04:37:37.240
9349
9349
question
ffmpeg
ffmpegの実行結果について(保存場所などについて)


`Illegal instruction` というのは、CPUが理解できない命令を実行しようとしたときに表示される **エラーです** 。ffmpeg
が検知して ffmpeg
が表示するエラーメッセージは赤文字などわかりやすく表示されますが、これはより低レベルで起きているものなので、飾り気のないメッセージが突然現れて落ちます。

ので具体的には、

  * ffmpeg（や関連ライブラリ） のバグを踏んだ
  * `./configure` のオプションを間違えている  
（特定のCPUにしかない命令で最適化をかけたりもするので）

  * クロスコンパイルで、ターゲット環境を指定せずに `./configure` した  
（オプションを指定しないと `./configure` する環境に合わせて最適化設定を行ってしまう）

のいずれかではないでしょうか。

* * *

過去の質問を拝見すると色々試行錯誤されているようですが、最終的にどのようにしてlibx264やffmpegをビルドしたのかがわからないので、具体的にどの手順が間違っているかはわかりません。

ただ、libx264の `./configure` で `--extra-cflags='-march=armv6' --extra-
ldflags='-march=armv6'` をつけないと未サポートの命令を使ってしまう（おそらく `Illegal
instrution`）という話を見かけたので、ひょっとしたらこれで解決するかもしれません。

[https://trac.ffmpeg.org/wiki/CompilationGuide/RaspberryPi?confirm_email=&email_confirm=&action=diff&version=7&old_version=6](https://trac.ffmpeg.org/wiki/CompilationGuide/RaspberryPi?confirm_email=&email_confirm=&action=diff&version=7&old_version=6)


CC BY-SA 3.0
2015-10-13T03:08:11.533
17575
2015-10-13T03:08:11.533
8000
17564
answer


教えて頂いた--extra-cflags='-march=armv6' --extra-
ldflags='-march=armv6'というオプションを./configureにつけてmakeしたら  
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  
というエラーがでました。  
ARMモードをサポートしていないっていうのはわかるのですが、これはarmv6をarmv7にしてなおりますか？  
これはどう対処すればいいでしょうか。


CC BY-SA 3.0
2015-10-13T05:17:37.073
17583
2015-10-13T05:17:37.073
9349
17564
answer


新しい質問ですよね。新規発言にして欲しいところですがとりあえず・・・

`raspberry-pi` なんでしょうか `raspberry-pi 2 model B` なんでしょうか？  
要するに CPU は `BCM2835` なのか `BCM2836` なのか、どっちでしょう？

`raspberry-pi 2 model B` は `BCM2836` つまり `armv7`  
`raspberry-pi` は `BCM2835` つまり `armv6`  
`rbit` は `armv6` では使用できない `armv7` なら OK

ウチの `raspberry-pi 2 model B` の [raspbian](/questions/tagged/raspbian
"'raspbian' のタグが付いた質問を表示") では

[code]

    $ ./config.guess
    armv7l-unknown-linux-gnueabihf
    
[/code]

となりました。  
たぶん `raspberry-pi 2 model B` なら `--extra-cflags` なしでも動作するんでしょう。

同様

[code]

    $ ./configure --extra-cflags='-march=armv7'
    No working C compiler found
    
[/code]

なのでむやみに指定しても無駄っぽいです。


CC BY-SA 3.0
2015-10-13T09:41:26.617
17596
2015-10-13T09:41:26.617
8589
17564
answer