리눅스에서 하니 잘되네

그나저나.. odroid xu4 에서 돌리는데 ffmpeg 변환은 neon을 써서 그런지

cpu 클럭과 상관없이(300Mhz / 1.5Ghz) 변환 속도가 13.0x 정도로 나온다.

size=     256kB time=00:00:19.85 bitrate= 105.6kbits/s speed=13.2x

 

find . -type f -iname "*.webm" -exec bash -c 'FILE="$1"; ffmpeg -i "${FILE}" -vn -ab 128k -ar 44100 -y "${FILE%.webm}.mp3";' _ '{}' \;

[링크 : https://bytefreaks.net/gnulinux/bash/ffmpeg-extract-audio-from-webm-to-mp3]

Posted by 구차니

댓글을 달아 주세요

다음 인코더 등에서 2PASS , 1PASS 설정하는게 있었는데

특별한게 아니라(?) H.264 인코더에서 제공하는 기본적인 기능이었네?


아무튼 2PASS의 경우 1PASS에서는 비트레이트를 어떻게 할지 분석하고(아마도 화면 바뀌는 순간 등을 확인하는 듯)

2PASS에서 실질적인 인코딩을 진행한다고 한다.


ffmpeg -y -i input -c:v libx264 -b:v 2600k -pass 1 -an -f mp4 /dev/null && \

ffmpeg -i input -c:v libx264 -b:v 2600k -pass 2 -c:a aac -b:a 128k output.mp4

[링크 : https://trac.ffmpeg.org/wiki/Encode/H.264]

Posted by 구차니

댓글을 달아 주세요

-c:a copy를 통해 오디오는 손대지 않고(AAC 같은건 못 건드리네.)

비디오만 비트레이트 변경할 수 있다.


$ ffmpeg -i viedeo.mp4 -b:v 2M -maxrate 2M -bufsize 1M  -c:a copy video_low.mp4 

[링크 : https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate]

[링크 : https://opensource.com/article/17/6/ffmpeg-convert-media-file-formats]

Posted by 구차니

댓글을 달아 주세요

-fflags nobuffer는 초기 속도에 영향을 안주는 것 같네..


probesize integer (input)

Set probing size in bytes, i.e. the size of the data to analyze to get stream information. A higher value will enable detecting more information in case it is dispersed into the stream, but will increase latency. Must be an integer not lesser than 32. It is 5000000 by default.

[링크 : https://www.ffmpeg.org/ffmpeg-formats.html#Format-Options]


-r[:stream_specifier] fps (input/output,per-stream)

Set frame rate (Hz value, fraction or abbreviation).


As an input option, ignore any timestamps stored in the file and instead generate timestamps assuming constant frame rate fps. This is not the same as the -framerate option used for some input formats like image2 or v4l2 (it used to be the same in older versions of FFmpeg). If in doubt use -framerate instead of the input option -r.


As an output option, duplicate or drop input frames to achieve constant output frame rate fps.

[링크 : https://ffmpeg.org/ffmpeg.html#Video-Options]


Also setting -probesize and -analyzeduration to low values may help your stream start up more quickly (it uses these to scan for "streams" in certain muxers, like ts, where some can appears "later", and also to estimate the duration, which, for live streams, the latter you don't need anyway). This should be unneeded by dshow input.


Reducing cacheing at the client side can help, too, for instance mplayer has a "-nocache" option, other players may similarly has some type of pre-playback buffering that is occurring. (The reality is mplayers -benchmark option has much more effect). 

[링크 : https://trac.ffmpeg.org/wiki/StreamingGuide#Latency]

    [링크 : https://stackoverflow.com/.../how-to-minimize-the-delay-in-a-live-streaming-with-ffmpeg]


+

2018.12.20

ffmpeg -h full | grep 'analyzeduration\|probesize'


-probesize         <int>        .D.... set probing size (from 32 to INT_MAX)

-analyzeduration   <int>        .D.... specify how many microseconds are analyzed to probe the input (from 0 to INT_MAX) 

[링크 : https://lists.ffmpeg.org/pipermail/ffmpeg-user/2013-March/014297.html]


고정적으로 5초 이상 잡히는건 이 녀석 때문이었던 듯?

analyzeduration integer (input)

Specify how many microseconds are analyzed to probe the input. A higher value will enable detecting more accurate information, but will increase latency. It defaults to 5,000,000 microseconds = 5 seconds. 

[링크 : https://www.ffmpeg.org/ffmpeg-all.html]


+

-probesize 32 -analyzeduration 0 

만세~!

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg h264 encoding 옵션  (0) 2019.02.22
ffmpeg으로 비디오 비트레이트 바꾸기  (0) 2019.02.22
ffmpeg 레이턴시 관련 옵션 조사  (0) 2018.12.16
ffmpeg / ffplay cli interactive interface  (0) 2018.11.30
ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
Posted by 구차니

댓글을 달아 주세요

ffmpeg를 실행하고 ?를 누르고 엔터치면 아래처럼 무언가 도움말이 나온다.

key    function

?      show this help

+      increase verbosity

-      decrease verbosity

c      Send command to first matching filter supporting it

C      Send/Queue command to all matching filters

D      cycle through available debug modes

h      dump packets/hex press to cycle through the 3 states

q      quit

s      Show QP histogram


c 누르고 하면 먼가 이상한게 뜨는데.. 찾아도 잘 안나온다.

Enter command: <target>|all <time>|-1 <command>[ <argument>]  


찾아보니.. 필터별로 명령어를 보내는 거라고..

libavcodec 쪽으로도 명령어 보내서 네비게이션 가능하려나?

[링크 : https://stackoverflow.com/questions/48635380/ffmpeg-interactive-mode-help-options]

[링크 : https://ffmpeg.org/ffmpeg-filters.html#sendcmd_002c-asendcmd]

[링크 : https://ffmpeg.org/ffmpeg-filters.html]


+

요건 ffplay

while playing

       q, ESC

           Quit.


       f   Toggle full screen.


       p, SPC

           Pause.


       m   Toggle mute.


       9, 0

           Decrease and increase volume respectively.


       /, *

           Decrease and increase volume respectively.


       a   Cycle audio channel in the current program.


       v   Cycle video channel.


       t   Cycle subtitle channel in the current program.


       c   Cycle program.


       w   Cycle video filters or show modes.


       s   Step to the next frame.


           Pause if the stream is not already paused, step to the next video frame, and pause.


       left/right

           Seek backward/forward 10 seconds.


       down/up

           Seek backward/forward 1 minute.


       page down/page up

           Seek to the previous/next chapter.  or if there are no chapters Seek backward/forward

           10 minutes.


       right mouse click

           Seek to percentage in file corresponding to fraction of width.


       left mouse double-click

           Toggle full screen.


[링크 : http://manpages.ubuntu.com/manpages/cosmic/man1/ffplay.1.html]

[링크 : http://www.herongyang.com/Flash/Video-Stream-FFmpeg-ffplay-Interactive-Command.html]

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg으로 비디오 비트레이트 바꾸기  (0) 2019.02.22
ffmpeg 레이턴시 관련 옵션 조사  (0) 2018.12.16
ffmpeg / ffplay cli interactive interface  (0) 2018.11.30
ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
ffmpeg huffyuv  (0) 2017.02.28
Posted by 구차니

댓글을 달아 주세요

ffmpeg로 동영상을 합치는 방법

코덱 설정하면 하나로 합칠순 있겠지만.. 단일 파일별로 특정 시간 영역을 자르긴 무리일려나?


16. Joining multiple video parts into one

FFmpeg will also join the multiple video parts and create a single video file.

Create join.txt file that contains the exact paths of the files that you want to join. All files should be same format (same codec). The path name of all files should be mentioned one by one like below.

/home/sk/myvideos/part1.mp4

/home/sk/myvideos/part2.mp4

/home/sk/myvideos/part3.mp4

/home/sk/myvideos/part4.mp4

Now, join all files using command:


$ ffmpeg -f concat -i join.txt -c copy output.mp4 


[링크 : https://www.ostechnix.com/20-ffmpeg-commands-beginners/]

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg 레이턴시 관련 옵션 조사  (0) 2018.12.16
ffmpeg / ffplay cli interactive interface  (0) 2018.11.30
ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
ffmpeg huffyuv  (0) 2017.02.28
ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
Posted by 구차니

댓글을 달아 주세요

ffmpeg를 이용해서 여러개의 파일을 합치는 방법

RTSP를 통하거나 m3u8 파일을 통해서 원하는 시간에 대해서 합치는 법 찾아야 하는데.. ㅠㅠ


[링크 : https://trac.ffmpeg.org/wiki/Concatenate]

[링크 : https://stackoverflow.com/.../ffmpeg-mp4-from-http-live-streaming-m3u8-file/32537953]

[링크 : https://stackoverflow.com/.../using-ffmpeg-to-save-an-rtsp-stream-from-a-certain-point-in-time?rq=1]

[링크 : http://hlsbook.net/how-to-start-playing-a-video-at-a-specific-point-in-time/]

[링크 : https://stackoverflow.com/.../ffmpeg-hls-segmenting-start-time-miscalculated]


+

2019.01.04


rtsp 주소는 concat에서 인식을 못한다...

다운로드 후 합치는걸로 구현을 해야하려나?

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg / ffplay cli interactive interface  (0) 2018.11.30
ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
ffmpeg huffyuv  (0) 2017.02.28
ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
ffmpeg 으로 파일 재생하기  (0) 2015.02.10
Posted by 구차니

댓글을 달아 주세요

라즈베리 파이에서 써볼려고

lossless video로 검색하다 보니. ffmpeg의 비디오 옵션으로 나오길래 검색


[링크 : https://github.com/raspberrypi/userland/issues/28]

[링크 : http://superuser.com/questions/486325/lossless-universal-video-format]


[링크 : https://ko.wikipedia.org/wiki/Huffyuv]

[링크 : https://en.wikipedia.org/wiki/Huffyuv]

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg concat  (0) 2018.11.05
ffmpeg concat  (0) 2018.10.10
ffmpeg huffyuv  (0) 2017.02.28
ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
ffmpeg 으로 파일 재생하기  (0) 2015.02.10
Mplayer/ffmpeg 크로스 컴파일 하기  (0) 2015.01.27
Posted by 구차니

댓글을 달아 주세요

빠르고 좋네 +_+

ffmpeg 만세


If you only want to convert mkv to mp4 then you will save quality and a lot of time by just changing the containers. Both of these are just wrappers over the same content so the cpu only needs to do a little work. Don't re encode as you will definitely lose quality.


It's very straight forward using ffmpeg:


ffmpeg -i LostInTranslation.mkv -vcodec copy -acodec copy LostInTranslation.mp4

Here, you are copying the video codec and audio codec so nothing is being encoded.


Tip:


To convert all the mkv files in current directory, run a simple loop in terminal:


for i in *mkv; do ffmpeg -i $i -vcodec copy -acodec copy $i.mp4; done 


[링크 : http://askubuntu.com/questions/396883/how-to-simply-convert-video-files-i-e-mkv-to-mp4]

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg concat  (0) 2018.10.10
ffmpeg huffyuv  (0) 2017.02.28
ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
ffmpeg 으로 파일 재생하기  (0) 2015.02.10
Mplayer/ffmpeg 크로스 컴파일 하기  (0) 2015.01.27
ffmpeg arm 아키텍쳐별 최적화 코덱  (0) 2015.01.26
Posted by 구차니

댓글을 달아 주세요

$ ffmpeg -i filename -f alsa hw:0

$ mplayer -ao alsa:device=hw:0.0


ffmpeg이 좀더 심플하구만 -_-


2014/09/29 - [프로그램 사용/ffmpeg / ffserver] - ASLA 입출력 - mplayer / ffmpeg


'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg huffyuv  (0) 2017.02.28
ffmpeg으로 컨테이너 변경하기  (0) 2016.12.01
ffmpeg 으로 파일 재생하기  (0) 2015.02.10
Mplayer/ffmpeg 크로스 컴파일 하기  (0) 2015.01.27
ffmpeg arm 아키텍쳐별 최적화 코덱  (0) 2015.01.26
mplayer status line  (0) 2015.01.26
Posted by 구차니

댓글을 달아 주세요