I'm trying to re stream a RTSP feed and convert to h264.
I'm using the following command line:
C:\Users\Martyn>ffmpeg -re -i rtsp://192.168.2.207/VideoInput/1/mpeg4/ -preset ultrafast -vcodec libx264 -tune zerolatency -b:v 900k -f rtsp udp://192.168.0.2:1234
The output I get is:
C:\Users\Martyn>ffmpeg -re -i rtsp://192.168.2.207/VideoInput/1/mpeg4/ -preset u
ltrafast -vcodec libx264 -tune zerolatency -b:v 900k -f rtsp udp://192.168.0.2:1
234
ffmpeg version N-87043-gf0f48884b0 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-avisynth --enable-gcrypt --enable-libmp3lame --enable
-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --
enable-cuda --enable-cuvid --enable-schannel --disable-w32threads --extra-cflags
=-DPTW32_STATIC_LIB --extra-libs=-lpthread --extra-libs=-lwsock32 --enable-gpl -
-disable-debug
libavutil 55. 74.100 / 55. 74.100
libavcodec 57.103.100 / 57.103.100
libavformat 57. 77.100 / 57. 77.100
libavdevice 57. 7.101 / 57. 7.101
libavfilter 6.100.100 / 6.100.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Input #0, rtsp, from 'rtsp://192.168.2.207/VideoInput/1/mpeg4/':
Metadata:
title : MC153906N015_Camera_1
Duration: N/A, start: 0.040000, bitrate: N/A
Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p, 1920x1080 [SAR 1:1 DAR
16:9], 25 tbr, 90k tbn, 1k tbc
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 # 0000000002c422c0] using SAR=1/1
[libx264 # 0000000002c422c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
AVX
[libx264 # 0000000002c422c0] profile Constrained Baseline, level 4.0
[libx264 # 0000000002c422c0] 264 - core 152 r2851 ba24899 - H.264/MPEG-4 AVC cod
ec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 r
ef=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0
me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 ch
roma_qp_offset=0 threads=8 lookahead_threads=8 sliced_threads=1 slices=8 nr=0 de
cimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 ke
yint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=abr mbtree=0 bitrate=900 ra
tetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
How do I know if this is streaming or not? when I try to connect to udp://192.168.0.2:1234 nothing happens.
Related
I'm trying to use ffmpeg to prepare a mp4 file which is vertical recorded for upload to youtube.
(on a synology DS220+)
In the output file I want to have no black bars on the side but blured sodebars of the movie itself.
This I'm trying to do whit this code (in the end I want to automate this process, but maybe there is a better way to do this):
ffmpeg -i input.mp4 -lavfi "[0:v]scale=1920*2:1080*2,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[0:v]scale=-1:1080[ov];[bg][ov]overlay=(W-w)/2:(H-h)/2,crop=w=1920:h=1080" output.mp4
unfortunaly i get a error message :
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
In mine search on the internet I have tried multiple ways to get this done but whit all the same error result.
This was making me think that the ffmpeg install is faulty or I was trying wrong code.
Could somebody help me whit this "project"
full responce below:
username#ip:/volume1/location$ ffmpeg -i input.mp4 -lavfi "[0:v]scale=1920*2:1080*2,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[0:v]scale=-1:1080[ov];[bg][ov]overlay=(W-w)/2:(H-h)/2,crop=w=1920:h=1080" output.mp4
ffmpeg version 2.7.7 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.3 (crosstool-NG 1.20.0) 20150311 (prerelease)
configuration: --prefix=/usr --incdir='${prefix}/include/ffmpeg' --arch=i686 --target-os=linux --cross-prefix=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --enable-cross-compile --enable-optimizations --enable-pic --enable-gpl --enable-shared --disable-static --enable-version3 --enable-nonfree --enable-libfaac --enable-encoders --enable-pthreads --disable-bzlib --disable-protocol=rtp --disable-muxer=image2 --disable-muxer=image2pipe --disable-swscale-alpha --disable-ffserver --disable-ffplay --disable-doc --disable-devices --disable-bzlib --disable-altivec --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libmp3lame --disable-vaapi --disable-decoder=amrnb --disable-decoder=ac3 --disable-decoder=ac3_fixed --disable-encoder=zmbv --disable-encoder=dca --disable-encoder=ac3 --disable-encoder=ac3_fixed --disable-encoder=eac3 --disable-decoder=dca --disable-decoder=eac3 --disable-decoder=truehd --disable-decoder=hevc --disable-muxer=hevc --disable-demuxer=hevc --disable-parser=hevc --cc=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc --enable-yasm --enable-libx264 --enable-encoder=libx264
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.36.100
Duration: 00:00:36.12, start: 0.000000, bitrate: 2529 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt709/bt709), 406x720 [SAR 405:406 DAR 9:16], 2394 kb/s, 30 fps, 30 tbr, 12k tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
File 'output.mp4' already exists. Overwrite ? [y/N] y
[libx264 # 0x1cdc4a0] using SAR=81/256
[libx264 # 0x1cdc4a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 # 0x1cdc4a0] profile High, level 4.0
[libx264 # 0x1cdc4a0] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.36.100
Stream #0:0: Video: h264 (libx264), yuv420p, 1920x1080 [SAR 81:256 DAR 9:16], q=-1--1, 30 fps, 30 tbn, 30 tbc (default)
Metadata:
encoder : Lavc56.41.100 libx264
Stream #0:1(und): Audio: aac, 0 channels, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
encoder : Lavc56.41.100 libfaac
Stream mapping:
Stream #0:0 (h264) -> scale (graph 0)
Stream #0:0 (h264) -> scale (graph 0)
crop (graph 0) -> Stream #0:0 (libx264)
Stream #0:1 -> #0:1 (aac (native) -> aac (libfaac))
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
Your ffmpeg is from 2015 and is too old. Try upgrading using SynoCommunity.
I am trying to covert flv format video to h264 codec with mp4 format video, but am facing the following error:
Command I executed:
ffmpeg -i input_video.flv -c:v libx264 output.mp4
Error:
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
Logs:
ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.7.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --enable-opencl --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, flv, from 'input.flv':
Metadata:
encoder : Lavf53.24.2
Duration: 00:00:53.32, start: 0.000000, bitrate: 787 kb/s
Stream #0:0: Video: flv1, yuv420p, 320x240, 500 kb/s, 25 fps, 25 tbr, 1k tbn, 1k tbc
Stream #0:1: Audio: aac (LC), 48000 Hz, 5.1, fltp, 384 kb/s
[libx264 # 0x7ff885000c00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 # 0x7ff885000c00] profile High, level 1.3
[libx264 # 0x7ff885000c00] 264 - core 144 r2533 c8a773e - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[libvo_aacenc # 0x7ff885001e00] Unable to set encoding parameters
Output #0, mp4, to 'output1.mp4':
Metadata:
encoder : Lavf53.24.2
Stream #0:0: Video: h264 (libx264), yuv420p, 320x240, q=-1--1, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc56.41.100 libx264
Stream #0:1: Audio: aac, 0 channels, 128 kb/s
Metadata:
encoder : Lavc56.41.100 libvo_aacenc
Stream mapping:
Stream #0:0 -> #0:0 (flv1 (flv) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> aac (libvo_aacenc))
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
What could be the reason for this ?
Update: Based on the console output now included in the Q, the error has nothing to do with the video, but I'll leave my earlier answer below in case anyone finding this question does get the same error from the video encoder.
The error is being reported by the 3rd party AAC encoder, which is now obsolete, and only supports two channels.
There are three ways to tackle this:
#1 Copy audio stream over
ffmpeg -i input.flv -c:a copy output.mp4
#2 Upgrade to recent FFmpeg and run original command in the question
#3 Re-encode using current binary and old encoder (least recommended)
ffmpeg -i input.flv -ac 2 -b:a 128k -strict -2 output.mp4
Older answer:
Most common reason for this error is that the dimensions aren't a multiple of two, and FFmpeg is outputting using pixel encoding YUV420P which requires them to be.
Try
ffmpeg -i input.flv -vf "scale=2*trunc(iw/2):-2" output.mp4
The scale filter makes both the dimensions even.
I have many video files that I want to convert to mp4.
so I installed ffmpeg on my win7 PC (64 bit) which is using shared library.
I tried to convert an MTS file to MP4 and I get this error.
What is the problem?
$ ffmpeg -i 20140806114251.MTS 20140806114251.mp4
ffmpeg version N-68788-g37b35fe Copyright (c) 2000-2014 the FFmpeg developers
built on Dec 30 2014 22:18:55 with gcc 4.9.2 (GCC)
configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 19.100 / 56. 19.100
libavformat 56. 16.102 / 56. 16.102
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 6.100 / 5. 6.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mpegts, from '20140806114251.MTS':
Duration: 00:00:19.04, start: 1.033367, bitrate: 16273 kb/s
Program 1
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080
[libx264 # 0000000002b60a20] using SAR=1/1
[libx264 # 0000000002b60a20] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 # 0000000002b60a20] profile High, level 4.0
[libx264 # 0000000002b60a20] 264 - core 144 r2525 40bb568 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[libvo_aacenc # 00000000028a4020] Unable to set encoding parameters
Output #0, mp4, to '20140806114251.mp4':
Stream #0:0: Video: h264 (libx264), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 29.97 tbn, 29.97 tbc
Metadata:
encoder : Lavc56.19.100 libx264
Stream #0:1: Audio: aac, 0 channels, 128 kb/s
Metadata:
encoder : Lavc56.19.100 libvo_aacenc
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (ac3 (native) -> aac (libvo_aacenc))
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
EDIT : I thought I solved this problem by using
ffmpeg -i filename1.mts filename1.mkv
my Samsung LED TV supports mkv file and during the conversion, it shows
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (ac3 (native) -> vorbis (libvorbis))
But Alas! my TV doesn't support vorbis codec. It only supports mp3, ac3, lpcm, and ADPCM when using mkv container. So the question is : How do people select output audio codec?
I solved this by using
ffmpeg -i file1.mts -y -acodec ac3_fixed file1.mkv
see my EDIT above.
and if you want to change the file format (keeping the codec type),
ffmpeg -i file1.MTS -c copy file1.avi
This doesn't take any time and finishes instantly.
EDIT : the file generated using -c copy cannot be played on my Samsung LED TV. The first method works though slow in conversion.
Selecting an audio encoder
So the question is: How do people select output audio codec?
Choose an audio encoder with -c:a such as -c:a libmp3lame for MP3 audio.
See ffmpeg -encoders for a list of encoders supported by your ffmpeg build.
Stream copy
You may be able to simply re-mux (stream copy) to a new container format, and avoid re-encoding, and your TV may play it:
ffmpeg -i input.mts -c copy output.mkv
I need to add text to mp4 video. If I write result to file then everything is OK, but I want to read data from ffmpeg stream.
I run command:
ffmpeg -i sample.mp4 -filter_complex "drawtext='text=\"Sample Text\"':x=(w-text_w)/2:y=(h-text_h-line_h)/2:fontsize=40:fontcolor=white:fontfile=TimesNewRoman.ttf:enable='between(t,1,5)'" -f mp4 -
I received the following error:
ffmpeg version 2.2.2-tessus Copyright (c) 2000-2014 the FFmpeg developers
built on May 7 2014 23:17:42 with clang version 3.3 (tags/RELEASE_33/final)
configuration: --cc=/opt/local/bin/clang-mp-3.3 --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-libmodplug --enable-fontconfig --enable-libfreetype --enable-libass --enable-libbluray --enable-filters --disable-indev=qtkit --enable-runtime-cpudetect
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'a5732-480x320-clip01-sound.mp4':
Metadata:
major_brand : M4V
minor_version : 1
compatible_brands: M4V mp42isom
creation_time : 2014-02-12 02:23:02
Duration: 00:00:15.10, start: 0.000000, bitrate: 509 kb/s
Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv), 480x320 [SAR 1:1 DAR 3:2], 457 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
creation_time : 2014-02-12 02:23:02
handler_name : Mainconcept MP4 Video Media Handler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 32000 Hz, stereo, fltp, 46 kb/s (default)
Metadata:
creation_time : 2014-02-12 02:23:02
handler_name : Mainconcept MP4 Sound Media Handler
[libx264 # 0x10400d800] using SAR=1/1
[libx264 # 0x10400d800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 # 0x10400d800] profile High, level 2.1
[libx264 # 0x10400d800] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[mp4 # 0x10400d200] muxer does not support non seekable output
Output #0, mp4, to 'pipe:':
Metadata:
major_brand : M4V
minor_version : 1
compatible_brands: M4V mp42isom
encoder : Lavf55.33.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 480x320 [SAR 1:1 DAR 3:2], q=-1--1, 90k tbn, 29.97 tbc (default)
Stream #0:1(eng): Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 32000 Hz, stereo, s16, 128 kb/s (default)
Metadata:
creation_time : 2014-02-12 02:23:02
handler_name : Mainconcept MP4 Sound Media Handler
Stream mapping:
Stream #0:0 (h264) -> drawtext (graph 0)
drawtext (graph 0) -> Stream #0:0 (libx264)
Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Conversion failed!
It seems the problem is related to mp4 and "muxer does not support non seekable output"
Is there a solution how to make such text adding on the fly and return video as we have data and not to wait until all file is processed.
Thanks
You can't use MP4 with STDOUT. The MP4 container requires the encoder to go back and make changes to the beginning of the file after it is done writing through the end. Since STDOUT cannot seek, outputting media in an MP4 container is not possible with STDOUT.
You can use the empty_moov example ffmpeg -y -framerate 0.5 -pattern_type glob -i '*.jpg' -f mp4 -movflags empty_moov - | ffprobe -
-movflags empty_moov
Write an initial moov atom directly at the start of the file, without describing any samples in it. Generally, an mdat/moov pair is written at the start of the file, as a normal MOV/MP4 file, containing only a short portion of the file. With this option set, there is no initial mdat atom, and the moov atom only describes the tracks but has a zero duration.
This option is implicitly set when writing ismv (Smooth Streaming) files.
https://www.ffmpeg.org/ffmpeg-formats.html
Add param
-movflags frag_keyframe+empty_moov
from: https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/issues/346#issuecomment-67299526
I was working on live encoding from FFmpeg from last few days. One day I re-installed my OS and tried to run FFmpeg commands again after configuration. My publish points get in starting but could not started. Why? Am I missing any configuration required?
The command I am trying to run is:
ffmpeg -y -re -i D:\video2.mp4 -pix_fmt yuv420p -movflags isml+frag_keyframe -f ismv -threads 0 -c:v libx264 -preset fast -profile:v baseline -map 0:v -b:v:0 800k http://localhost/PPS/PublishPoint.isml/Streams(Encode
r1)
Output what I got in command prompt is:
ffmpeg version N-54772-g53c853e Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 16 2013 22:25:42 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib
libavutil 52. 40.100 / 52. 40.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.102 / 55. 12.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 81.101 / 3. 81.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\video2.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.10.100
Duration: 00:00:12.12, start: 0.072562, bitrate: 945 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 704x396 [
SAR 1:1 DAR 16:9], 882 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 64
kb/s
Metadata:
handler_name : SoundHandler
[libx264 # 00000000047e0860] using SAR=1/1
[libx264 # 00000000047e0860] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 # 00000000047e0860] profile Constrained Baseline, level 3.0
[libx264 # 00000000047e0860] 264 - core 135 r2345 f0c1c53 - H.264/MPEG-4 AVC cod
ec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=0 r
ef=2 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=6 psy=1 psy_rd=1.00:0.00 mixed
_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pski
p=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 deci
mate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyi
nt=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=abr mbtree=1
bitrate=800 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1
:1.00
Output #0, ismv, to 'http://localhost/My_SSMN_PPS/saturday.isml/Streams(Encoder1
)':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.12.102
Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 7
04x396 [SAR 1:1 DAR 16:9], q=-1--1, 800 kb/s, 10000k tbn, 29.97 tbc
Metadata:
handler_name : VideoHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Press [q] to stop, [?] for help
frame= 13 fps=0.0 q=0.0 size= 2kB time=00:00:00.00 bitrate=N/A dup=2 dro
frame= 29 fps= 29 q=0.0 size= 2kB time=00:00:00.00 bitrate=N/A dup=2 dro
av_interleaved_write_frame(): Unknown error
Advanced Thanks.
I changed my devices as I was using HD Webcam replaced with simple devices and It worked fine.
So, I found one solution of this problem but can't say it is ideal.
Thanks.