Skip to content

Commit

Permalink
更新
Browse files Browse the repository at this point in the history
  • Loading branch information
hoshi005 committed Aug 12, 2024
1 parent 0ffe2b3 commit 047b87e
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 4 deletions.
2 changes: 2 additions & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
- [finalとconst](dart/const_final.md)
- [enum](dart/enum.md)
- [..と...(カスケード記法、スプレッド記法)](dart/cascade_spread.md)
- [例外処理](exception/exception.md)
- [拡張](dart/extension.md)

## Flutter

Expand Down
36 changes: 36 additions & 0 deletions dart/extension.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 拡張

## implement

全てのクラスは暗黙的なインターフェイスを持っている

```dart
class Animal {
void bark() {
print('bark');
}
}
/// implementsした場合は、オーバーライドが必須
class Dog implements Animal {
@override
void bark() {
print('wanwan');
}
}
/// extendsした場合は、オーバーライドが任意
class Cat extends Animal {
}
```

## extension

拡張名を省略した場合は、同一ファイルからのみ利用可能.

```dart
// 拡張名を省略
extension on List<T> {
...
}
```
6 changes: 6 additions & 0 deletions exception/exception.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# 例外処理

## フレームワークが例外処理

- Flutterは、フレームワークが例外を捕捉する機構を持っている
- そのため、例外がスローされてもアプリは終了しない
29 changes: 25 additions & 4 deletions movie/hls.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,24 @@ brew install ffmpeg
## m3u8ファイルの生成

```sh
# 基本形。でもこれではダメっぽい
ffmpeg -i video.mp4 video.m3u8
ffmpeg -i input.mp4 \
-map 0:v -map 0:a -c:v:0 libx264 -pix_fmt yuv420p -c:a:0 aac -b:a:0 128k -ar 48000 \
-s 1920x1080 -b:v:0 5000k -maxrate 5000k -bufsize 10000k \
-map 0:v -map 0:a -c:v:1 libx264 -pix_fmt yuv420p -c:a:1 aac -b:a:1 128k -ar 48000 \
-s 1280x720 -b:v:1 2800k -maxrate 2800k -bufsize 5600k \
-map 0:v -map 0:a -c:v:2 libx264 -pix_fmt yuv420p -c:a:2 aac -b:a:2 128k -ar 48000 \
-s 854x480 -b:v:2 1400k -maxrate 1400k -bufsize 2800k \
-f hls -hls_time 4 -hls_playlist_type vod -hls_segment_type mpegts \
-hls_flags independent_segments \
-var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2" \
-master_pl_name video.m3u8 \
-hls_segment_filename "v%v/file_%03d.ts" v%v/prog_index.m3u8
```

## シングルビットレートなら

# これでいける
ffmpeg -i video.mp4 -c:v copy -c:a copy -f hls -hls_time 9 -hls_playlist_type vod -hls_segment_filename "video%3d.ts" video.m3u8
```sh
ffmpeg -i video.mp4 -c:v copy -c:a copy -f hls -hls_time 3 -hls_playlist_type vod -hls_segment_filename "video%3d.ts" video.m3u8
```

## firebaseの用意
Expand All @@ -34,3 +47,11 @@ firebase init

ローカルのディレクトリをアップロードしたら、既存のファイルが消えたりするので注意。


## 結合

-i の順番はどっちでも良さそう

```sh
ffmpeg -i /Users/hoshi005/Downloads/video-2024-04-06T13-32-17.369Z.ts -i /Users/hoshi005/Downloads/video-2024-04-06T13-30-22.942Z.ts -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 output.mp4
```

0 comments on commit 047b87e

Please sign in to comment.