Copy/Move feature V2.1.0
move/copy file to output folder if the file doesn't need conversion
Minor Bug Fix V2.0.1
All the command line executions were being reported as seconds, but it was dividing milisecond by 100 instead of 1000
Major Release V2.0
Higher quality, faster conversions, more efficient checking, and super important: works with normal FFMPEG, no need to compile it yourself.
Changes:
- dropped GUI because aint nobody got time for that
- major re-write, better structured code all together
- properly checks available audio codecs and applies accordingly
- due to the above audio changes, it works fine with FFMPEG static builds
- yeah, normal builds you can simply download from ffmpeg.org
- drop 2-pass video because aint nobody got time for that
- moved code to gradle, all dependencies now come from mavenCentral(), no more downloaded **** on or folder
- independently handle audio or video conversion or copy (greater efficiency)
- separate warning and error log files
Update V1.1.1 (minor crash fix)
it's with great pleasure that I share with you guys my batch video converter for Chromecast.
it's made to be a simple as possible, select a file or a whole folder, and Go.
I did that to convert my terabyte of movies on my DLNA-NAS to be able to cast all of it without problems.
Because of this main reason the application it DELETES THE ORIGINAL VIDEO FILE AFTER CONVERSION COMPLETION.
So then the option `-d` can be used to delete the original after successful conversion.
The app analyses the video stream of your files, compare with what Chromecast accepts and only converts what's necessary, keeping great quality, and avoiding unnecessary encoding.
I also noticed that A LOT of apps does not play embedded subtitles, so in the process it extracts subtitle files so you can separately inject it into Chromecast.
changelog:
- v1.0.0 - initial release
- v1.1.0 - re-worked FFMPEG script for better quality, new layout with settings for speed, quality, delete file, output folder.
- v1.1.1 - Fix app not properly closing. Fix crash on subtitle stream without language tag.
- V2.0 - check above
- V2.1 - move/copy file to output folder if the file doesn't need conversion
Downloads:
- zip installation: Simply unzip the file on the location. Execute with ./cc_converter (linux/mac) or cc_converter (windows) from the command line
- open source project: GitHub link (contribute!)
Before starting:
This tool is just a thin wrapper on FFMPEG, so if your PC doesn't have a working version of FFMPEG, the tool won't work.
So make sure to download a build (recommended V3.0 or later) and have it available on your PATH
On the official website you can find all the detailed instructions on how to compile FFMPEG on your PC https://trac.ffmpeg.org/wiki/CompilationGuide
Yes, unfortunately you have to compile it yourself because, to keep great quality, the tool uses the non-free parts of FFMPEG.
That means, when compiling, make sure to include libx264 and libfdk-aac and keep the enable-nonfree flag.
Settings explanations:
as per request a few explanations on options:
the speed and quality options are directly related to x264 encoding options found here: https://trac.ffmpeg.org/wiki/x264EncodingGuide
- the speed is exactly what they explain there. The faster the conversion the crappier the job.
- the quality uses CRF (constant rate factor) and defaults to good quality for both audio and video.
high quality = video CRF 18, audio 80kb/s per channel
normal quality = video CRF 23, audio 64kb/s per channel
low quality = video CRF 26, audio 48kb/s per channel
On all my tests I ended up settling with Speed SLOW and quality HIGH as the Default because those will rarely increase the file size much and it will keep same quality.
Those test were based on both converting 1994 Friends episode (pretty crappy quality) all the way to Full-HD 5.1 movies.
So unless, you have a really good reason for it, I wouldn't change any of the defaults.
Budius said:
it's with great pleasure that I share with you guys my batch video converter for Chromecast.
it's made to be a simple as possible, select a file or a whole folder, and click Go.
I did that to convert my terabyte of movies on my DLNA-NAS to be able to cast all of it without problems.
Because of this main reason the application it DELETES THE ORIGINAL VIDEO FILE AFTER CONVERSION COMPLETION.
The app analyses the video stream of your files, compare with what Chromecast accepts and only converts what's necessary, keeping great quality.
I also noticed that A LOT of apps does not play embedded subtitles, so in the process it extracts subtitle files so you can separately inject it into Chromecast.
Downloads:
- executable jar: Jar file download (execute it with java -jar chromecastconverter.jar)
- open source project: GitHub link (for whoever feels like contributing)
Click to expand...
Click to collapse
Can I run this on a headless Linux server like a Raspberry Pi running Rasbian?
nigelhealy said:
Can I run this on a headless Linux server like a Raspberry Pi running Rasbian?
Click to expand...
Click to collapse
It was build as a Java UI (using JavaFX), so I reckon the code it's not good for a headless server (although the objects in the code are quite modular and should be totally possible with minimum modification to do it)
BUT,
I urge anyone to not use it with a RaspberryPi, I have one myself and tried some FFMPEG on it and it's just so painfully slow!!! So so slow!
Like a 20 seconds video would take 5 min to process.
ps.: If anyone find a way to build FFMPEG on a raspPi that properly uses the GPU and makes stuff runs at proper speed, please let us know. :laugh:
Budius said:
It was build as a Java UI (using JavaFX), so I reckon the code it's not good for a headless server (although the objects in the code are quite modular and should be totally possible with minimum modification to do it)
BUT,
I urge anyone to not use it with a RaspberryPi, I have one myself and tried some FFMPEG on it and it's just so painfully slow!!! So so slow!
Like a 20 seconds video would take 5 min to process.
ps.: If anyone find a way to build FFMPEG on a raspPi that properly uses the GPU and makes stuff runs at proper speed, please let us know. :laugh:
Click to expand...
Click to collapse
Hmm ok. I been using a quad-core desktop and it just about does real-time. I been using get-iplayer it does something with ffmpeg to make an mp4 (which casts fine).
So your script it.... must have read-write access to the path presumably, so I'd have to have a CIFs mount? I'm Windows-less here on Ubuntu desktop so I can give it a SSFS folder, will that work? It is its delete function which scares me from simply trying it...
(edited) I'm running on my desktop it is only seeing local files folders, no CIFs mounts no SSH mounts. Means I'd have to copy all my videos to local first.
(double edit) on 2nd thoughts, I'm being dumb, I just move the external USB drive from my NAS (Raspberry) to my desktop, let it convert all needs it and then move it back.
yeah, as you can see it's a very basic software. Specially the GUI.
I focused more on the conversion bits and hopeful that ppl from the OpenSource community can help a bit on the GUI.
nigelhealy said:
(double edit) on 2nd thoughts, I'm being dumb, I just move the external USB drive from my NAS (Raspberry) to my desktop, let it convert all needs it and then move it back.
Click to expand...
Click to collapse
Yeah, that's exactly what I've done here. My main PC is on the table there for the past 10 hours processing 1127 files of series I have. Next it will be the Movies folder.
I'm running on Linux too, and Linux is beautiful and there's all different ways you can mount a NAS folder locally but that means that all those tera-bytes of data will have to flow through the network, and that will certainly slow down the process even more.
ps.: any file that it doesn't manage to convert for whatever reason will be listed on a ChromecastConverterError.log on the folder location.
nigelhealy said:
It is its delete function which scares me from simply trying it...
Click to expand...
Click to collapse
I know the feeling. I promise you that I tried on every way I could think of to only delete if it's sure it was a successful conversion (checks for success flag, then checks if the generated file exist and its size is greater than zero)
At the moment my stuff I'm running on local copy on my machine, but I'm really confident.
ps.: that's another thing I wanted someone from the OpenSource community to help out, to have options to save to different folder and not delete the original.
(moving here, you're right keep bug tracking in this thread)
Quote:
Originally Posted by Budius View Post
what does say in the LOG tab?
Try running from the terminal: ffprobe <video_path>.mp4 Does it work or does it say "can't find command ffprobe" ?
at the end of this https://trac.ffmpeg.org/wiki/UbuntuCompilationGuide it shows how to add the ffmpeg to the path
Your tool says
[ERROR] Failed to get FFPROBE for /mnt/320gb/TEMP/Downloads/Lakes Sep 2013/VID_20130926_112924.mp4
Command line just works
ffprobe VID_20130926_112924.mp4
avprobe version 0.8.10-4:0.8.10-0ubuntu0.12.04.1, Copyright (c) 2007-2013 the Libav developers
built on Feb 6 2014 20:56:59 with gcc 4.6.3
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'VID_20130926_112924.mp4':
Metadata:
major_brand : isom
minor_version : 0
compatible_brands: isom3gp4
creation_time : 2013-09-26 10:29:58
Duration: 00:00:32.57, start: 0.000000, bitrate: 5109 kb/s
Stream #0.0(eng): Video: h264 (Constrained Baseline), yuv420p, 720x480, 5056 kb/s, PAR 65536:65536 DAR 3:2, 30.31 fps, 90k tbr, 90k tbn, 180k tbc
Metadata:
creation_time : 2013-09-26 10:29:58
Stream #0.1(eng): Audio: aac, 48000 Hz, mono, s16, 96 kb/s
Metadata:
creation_time : 2013-09-26 10:29:58
nigelhealy said:
Command line just works
ffprobe VID_20130926_112924.mp4
avprobe version 0.8.10-4:0.8.10-0
Click to expand...
Click to collapse
well, I can see that it's a different version of the ffprobe I'm using, so let's try the exact same command the software is doing, try this:
Code:
ffprobe -v quiet -print_format json -show_format -show_streams VID_20130926_112924.mp4
it should give a Json string, something similar to this (but with the information about your video):
Code:
{
"streams": [{
"index": 0,
"codec_name": "wmv3",
"codec_long_name": "Windows Media Video 9",
"codec_type": "video",
"codec_time_base": "1/1000",
"codec_tag_string": "WMV3",
"codec_tag": "0x33564d57",
"width": 320,
"height": 240,
"has_b_frames": 0,
"pix_fmt": "yuv420p",
"level": -99,
"r_frame_rate": "30000/1001",
"avg_frame_rate": "0/0",
"time_base": "1/1000",
"start_time": "0.000",
"duration": "300.066",
"tags": {
"language": "eng"
}
}],
"format": {
"filename": "somefile.asf",
"nb_streams": 1,
"format_name": "asf",
"format_long_name": "ASF format",
"start_time": "0.000",
"duration": "300.066",
"tags": {
"WMFSDKVersion": "10.00.00.3646",
"WMFSDKNeeded": "0.0.0.0000",
"IsVBR": "0"
}
}
}
Budius said:
well, I can see that it's a different version of the ffprobe I'm using, so let's try the exact same command the software is doing, try this:
Code:
ffprobe -v quiet -print_format json -show_format -show_streams VID_20130926_112924.mp4
it should give a Json string, something similar to this (but with the information about your video):
Code:
{
"streams": [{
"index": 0,
"codec_name": "wmv3",
"codec_long_name": "Windows Media Video 9",
"codec_type": "video",
"codec_time_base": "1/1000",
"codec_tag_string": "WMV3",
"codec_tag": "0x33564d57",
"width": 320,
"height": 240,
"has_b_frames": 0,
"pix_fmt": "yuv420p",
"level": -99,
"r_frame_rate": "30000/1001",
"avg_frame_rate": "0/0",
"time_base": "1/1000",
"start_time": "0.000",
"duration": "300.066",
"tags": {
"language": "eng"
}
}],
"format": {
"filename": "somefile.asf",
"nb_streams": 1,
"format_name": "asf",
"format_long_name": "ASF format",
"start_time": "0.000",
"duration": "300.066",
"tags": {
"WMFSDKVersion": "10.00.00.3646",
"WMFSDKNeeded": "0.0.0.0000",
"IsVBR": "0"
}
}
}
Click to expand...
Click to collapse
Nope it just gives nothing, like it worked
Code:
ls -l VID_20130926_112924.mp4
-rwxrwxrwx 1 root root 20805982 Sep 26 2013 VID_20130926_112924.mp4
ffprobe -v quiet -print_format json -show_format -show_streams VID_20130926_112924.mp4
$
other info
Code:
whereis ffprobe
ffprobe: /usr/bin/ffprobe /usr/bin/X11/ffprobe
ffprobe -version
avprobe version 0.8.10-4:0.8.10-0ubuntu0.12.04.1, Copyright (c) 2007-2013 the Libav developers
built on Feb 6 2014 20:56:59 with gcc 4.6.3
avprobe 0.8.10-4:0.8.10-0ubuntu0.12.04.1
libavutil 51. 22. 2 / 51. 22. 2
libavcodec 53. 35. 0 / 53. 35. 0
libavformat 53. 21. 1 / 53. 21. 1
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 15. 0 / 2. 15. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 52. 0. 0 / 52. 0. 0
---------- Post added at 12:24 PM ---------- Previous post was at 12:21 PM ----------
command line syntax error in what you asked? If I remove the -quiet it says
Code:
Unrecognized option 'print_format'
Failed to set value 'json' for option 'print_format'
nigelhealy said:
---------- Post added at 12:24 PM ---------- Previous post was at 12:21 PM ----------
command line syntax error in what you asked? If I remove the -quiet it says
Code:
Unrecognized option 'print_format'
Failed to set value 'json' for option 'print_format'
Click to expand...
Click to collapse
well that's the problem then. Somehow your version of FFPROBE does not understand to give a Json output.
The ffmpeg and ffprobe I'm using here are brand new compilations I did last week using that guide.
I should remove the -quiet option so whenever it fails it gives a more descriptive error in the app.
That's what my -version looks like
Code:
ffprobe version 2.2.git
built on Mar 22 2014 15:55:09 with gcc 4.7 (Ubuntu/Linaro 4.7.3-1ubuntu1)
configuration: --prefix=/home/budius/ffmpeg_build --extra-cflags=-I/home/budius/ffmpeg_build/include --extra-ldflags=-L/home/budius/ffmpeg_build/lib --bindir=/home/budius/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-x11grab
libavutil 52. 67.100 / 52. 67.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 34.101 / 55. 34.101
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
so my best advice if you want to use the tool is to, remove/delete your current version of FFMPEG/FFPROBE and re-compile it using the guide =]
Budius said:
so my best advice if you want to use the tool is to, remove/delete your current version of FFMPEG/FFPROBE and re-compile it using the guide =]
Click to expand...
Click to collapse
I have
It is now running but an opposite problem, it is converting files which ALREADY work on Chromecast, like MP4 files which work just fine.
It is improving them how?
The Chromecast log is empty this is what was showing in the console from which the Java command ran
Code:
ffprobe parsing file: /mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default.mp4
ffprobe version 2.2.git Copyright (c) 2007-2014 the FFmpeg developers
built on Mar 31 2014 13:10:45 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/home/nigel/ffmpeg_build --extra-cflags=-I/home/nigel/ffmpeg_build/include --extra-ldflags=-L/home/nigel/ffmpeg_build/lib --bindir=/home/nigel/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
libavutil 52. 70.100 / 52. 70.100
libavcodec 55. 55.106 / 55. 55.106
libavformat 55. 36.100 / 55. 36.100
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.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 '/mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf52.111.0
Duration: 00:44:05.59, start: 0.000000, bitrate: 1501 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 832x468 [SAR 117:117 DAR 16:9], 1401 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 94 kb/s (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
Runtime execution finished with success
Runtime execution finished with success
Starting first pass for file: /mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default.mp4
Executing [ffmpeg -i /mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default.mp4 -c:v libx264 -profile:v high -level 5 -preset slow -b:v 1401533 -an -pass 1 /mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default_1_temp.mp4]
ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
built on Mar 31 2014 13:10:45 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/home/nigel/ffmpeg_build --extra-cflags=-I/home/nigel/ffmpeg_build/include --extra-ldflags=-L/home/nigel/ffmpeg_build/lib --bindir=/home/nigel/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
libavutil 52. 70.100 / 52. 70.100
libavcodec 55. 55.106 / 55. 55.106
libavformat 55. 36.100 / 55. 36.100
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.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 '/mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf52.111.0
Duration: 00:44:05.59, start: 0.000000, bitrate: 1501 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 832x468 [SAR 117:117 DAR 16:9], 1401 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 94 kb/s (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
[libx264 @ 0x3ca32e0] using SAR=1/1
[libx264 @ 0x3ca32e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x3ca32e0] profile Main, level 5.0
[libx264 @ 0x3ca32e0] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0 me=dia subme=2 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 chroma_qp_offset=0 threads=6 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=abr mbtree=1 bitrate=1401 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default_1_temp.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.36.100
Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 832x468 [SAR 117:117 DAR 16:9], q=-1--1, pass 1, 1401 kb/s, 12800 tbn, 25 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Press [q] to stop, [?] for help
frame= 67 fps=0.0 q=26.0 size= 1kB time=00:00:00.20 bitrate= 50.5kbits/s dup=2 drop=0
frame= 112 fps=111 q=29.0 size= 1239kB time=00:00:02.00 bitrate=5073.3kbits/s dup=2 drop=0
frame= 159 fps=105 q=34.0 size= 1555kB time=00:00:03.88 bitrate=3283.6kbits/s dup=2 drop=0
frame= 216 fps=106 q=35.0 size= 1825kB time=00:00:06.16 bitrate=2427.6kbits/s dup=2 drop=0
frame= 283 fps=111 q=32.0 size= 1970kB time=00:00:08.84 bitrate=1825.7kbits/s dup=2 drop=0
frame= 354 fps=116 q=28.0 size= 2142kB time=00:00:11.68 bitrate=1502.1kbits/s dup=2 drop=0
frame= 422 fps=118 q=26.0 size= 2377kB time=00:00:14.40 bitrate=1352.0kbits/s dup=2 drop=0
frame= 486 fps=119 q=24.0 size= 2677kB time=00:00:16.96 bitrate=1293.0kbits/s dup=2 drop=0
frame= 550 fps=120 q=23.0 size= 3020kB time=00:00:19.52 bitrate=1267.3kbits/s dup=2 drop=0
frame= 625 fps=122 q=21.0 size= 3301kB time=00:00:22.52 bitrate=1200.8kbits/s dup=2 drop=0
frame= 691 fps=123 q=20.0 size= 3651kB time=00:00:25.16 bitrate=1188.6kbits/s dup=2 drop=0
frame= 749 fps=123 q=20.0 size= 4082kB time=00:00:27.48 bitrate=1217.0kbits/s dup=2 drop=0
frame= 804 fps=122 q=19.0 size= 4406kB time=00:00:29.68 bitrate=1216.1kbits/s dup=2 drop=0
^[email protected]:~/Downloads$
nigelhealy said:
Code:
ffprobe parsing file: /mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default.mp4
ffprobe version 2.2.git Copyright (c) 2007-2014 the FFmpeg developers
built on Mar 31 2014 13:10:45 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/home/nigel/ffmpeg_build --extra-cflags=-I/home/nigel/ffmpeg_build/include --extra-ldflags=-L/home/nigel/ffmpeg_build/lib --bindir=/home/nigel/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
libavutil 52. 70.100 / 52. 70.100
libavcodec 55. 55.106 / 55. 55.106
libavformat 55. 36.100 / 55. 36.100
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.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 '/mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf52.111.0
Duration: 00:44:05.59, start: 0.000000, bitrate: 1501 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 832x468 [SAR 117:117 DAR 16:9], 1401 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 94 kb/s (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
Runtime execution finished with success
Runtime execution finished with success
Starting first pass for file: /mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default.mp4
Executing [ffmpeg -i /mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default.mp4 -c:v libx264 -profile:v high -level 5 -preset slow -b:v 1401533 -an -pass 1 /mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default_1_temp.mp4]
ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
built on Mar 31 2014 13:10:45 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/home/nigel/ffmpeg_build --extra-cflags=-I/home/nigel/ffmpeg_build/include --extra-ldflags=-L/home/nigel/ffmpeg_build/lib --bindir=/home/nigel/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
libavutil 52. 70.100 / 52. 70.100
libavcodec 55. 55.106 / 55. 55.106
libavformat 55. 36.100 / 55. 36.100
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.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 '/mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf52.111.0
Duration: 00:44:05.59, start: 0.000000, bitrate: 1501 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 832x468 [SAR 117:117 DAR 16:9], 1401 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 94 kb/s (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
[libx264 @ 0x3ca32e0] using SAR=1/1
[libx264 @ 0x3ca32e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x3ca32e0] profile Main, level 5.0
[libx264 @ 0x3ca32e0] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0 me=dia subme=2 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 chroma_qp_offset=0 threads=6 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=abr mbtree=1 bitrate=1401 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/mnt/320gb/TEMP/Downloads/Natural_World_-_2013-2014_Giant_Squid_2._Filming_the_Impossible_-_Natural_World_Special_b0377t15_default_1_temp.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.36.100
Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 832x468 [SAR 117:117 DAR 16:9], q=-1--1, pass 1, 1401 kb/s, 12800 tbn, 25 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Press [q] to stop, [?] for help
frame= 67 fps=0.0 q=26.0 size= 1kB time=00:00:00.20 bitrate= 50.5kbits/s dup=2 drop=0
frame= 112 fps=111 q=29.0 size= 1239kB time=00:00:02.00 bitrate=5073.3kbits/s dup=2 drop=0
frame= 159 fps=105 q=34.0 size= 1555kB time=00:00:03.88 bitrate=3283.6kbits/s dup=2 drop=0
frame= 216 fps=106 q=35.0 size= 1825kB time=00:00:06.16 bitrate=2427.6kbits/s dup=2 drop=0
frame= 283 fps=111 q=32.0 size= 1970kB time=00:00:08.84 bitrate=1825.7kbits/s dup=2 drop=0
frame= 354 fps=116 q=28.0 size= 2142kB time=00:00:11.68 bitrate=1502.1kbits/s dup=2 drop=0
frame= 422 fps=118 q=26.0 size= 2377kB time=00:00:14.40 bitrate=1352.0kbits/s dup=2 drop=0
frame= 486 fps=119 q=24.0 size= 2677kB time=00:00:16.96 bitrate=1293.0kbits/s dup=2 drop=0
frame= 550 fps=120 q=23.0 size= 3020kB time=00:00:19.52 bitrate=1267.3kbits/s dup=2 drop=0
frame= 625 fps=122 q=21.0 size= 3301kB time=00:00:22.52 bitrate=1200.8kbits/s dup=2 drop=0
frame= 691 fps=123 q=20.0 size= 3651kB time=00:00:25.16 bitrate=1188.6kbits/s dup=2 drop=0
frame= 749 fps=123 q=20.0 size= 4082kB time=00:00:27.48 bitrate=1217.0kbits/s dup=2 drop=0
frame= 804 fps=122 q=19.0 size= 4406kB time=00:00:29.68 bitrate=1216.1kbits/s dup=2 drop=0
^[email protected]:~/Downloads$
Click to expand...
Click to collapse
First of all, I'm very happy that you got it working :highfive: . I wish I could just pack FFMPEG with the software so it would be more user friendly, but because it uses the "-non-free" stuff I don't want to get in trouble for helping others.
I don't believe it's improving in any way, but I'll tell your what is happening.
Those are the format officially supported by the Chromecast https://developers.google.com/cast/docs/media
I did noticed that in reality it can run some little variations, for example, your video is h264 Profile: Main avc1 and it works.
Another example, it will cast without issues .MKV files with an appropriate h264 stream.
But for correctness the software converts anything that is not exactly as shown in the official website. I mean, I gotta follow the official stuff.
I just think it's very weird that the log is not showing as it's supposed to show the same thing from your console output.
regarding raspberry Pi.
I just found the official compilation guide and I'll give it a try.
https://trac.ffmpeg.org/wiki/How to compile FFmpeg for Raspberry Pi (Raspbian)
I'll see how the performance is etc.
It will obviously be worse than in a full PC, but maybe the pre-build bins I used before were not very well done, and if it can achieve a bare minimum it could be a good running as a daemon so every new file added to a certain folder gets auto-converted.
I mean, if 1 off, 2 hous movie takes 5-6 hours to convert, it's ok. I still believe that tera-bytes conversion would be too slow, but as daemon.
Budius said:
First of all, I'm very happy that you got it working :highfive: . ...
But for correctness the software converts anything that is not exactly as shown in the official website. I mean, I gotta follow the official stuff.
.
Click to expand...
Click to collapse
Well that is your feedback, make it remove re-coding that which actually works on Chromecast, it will save hours of recoding.
nigelhealy said:
Well that is your feedback, make it remove re-coding that which actually works on Chromecast, it will save hours of recoding.
Click to expand...
Click to collapse
it does make sense, but also means I have to go ahead and test a bunch of variations to see what works and what doesn't.
I mean, I agree with you, it's a improvement, and I'll put in the TODO list, it might just take a bit to happen :silly:
Budius said:
How do i delete a post ??? This here was an accident.
Click to expand...
Click to collapse
Report (the triangle) it under General thread/post maintenance and ask mod to delete it.
Dear OP,
I tried converting a mkv file using your converter and at the end of conversion it created a mp4 file but message said that it failed. When i played the converted mp4 file on my PC, it plays video but no audio? any idea whey the audio is not playing back? I did not try on chromecast yet but i assume the audio wont play on it either.
Thoughts? Thanks
paracha3 said:
Dear OP,
I tried converting a mkv file using your converter and at the end of conversion it created a mp4 file but message said that it failed. When i played the converted mp4 file on my PC, it plays video but no audio? any idea whey the audio is not playing back? I did not try on chromecast yet but i assume the audio wont play on it either.
Thoughts? Thanks
Click to expand...
Click to collapse
the conversion uses a two-pass method for best quality.
1st pass is only processing the video and doesn't even look at the audio. On the 2nd pass the audio is added/processed.
The video you got without audio is the result of the 1st pass, and the 2nd pass never executed because it failed.
My guess is that your compilation of FFMPEG does not have libfdk_aac (the audio library used for conversion keeping the best quality possible).
Unfortunately this library is tagged as "-non-free" so you can't just download from somewhere. It's illegal to do so. You have to follow the guide here https://trac.ffmpeg.org/wiki/CompilationGuide to compile the library yourself on your PC..
As I said before, I really wished it would be more user-friendly. But that's out of my control.
Probably in a future version I'll try to detect if this library is available and if it's not use the native one, that renders a not so great quality, but at least works in all cases.
Budius said:
the conversion uses a two-pass method for best quality.
1st pass is only processing the video and doesn't even look at the audio. On the 2nd pass the audio is added/processed.
The video you got without audio is the result of the 1st pass, and the 2nd pass never executed because it failed.
My guess is that your compilation of FFMPEG does not have libfdk_aac (the audio library used for conversion keeping the best quality possible).
Unfortunately this library is tagged as "-non-free" so you can't just download from somewhere. It's illegal to do so. You have to follow the guide here https://trac.ffmpeg.org/wiki/CompilationGuide to compile the library yourself on your PC..
As I said before, I really wished it would be more user-friendly. But that's out of my control.
Probably in a future version I'll try to detect if this library is available and if it's not use the native one, that renders a not so great quality, but at least works in all cases.
Click to expand...
Click to collapse
Thanks. Is there a compiled binary for windows 7 available? so i dont have to go through self compilation step?
Update: Just read "License restrictions prohibit distribution of already compiled FFmpeg with libfdk-aac, so if I want to use it I must make my own build of FFmpeg."
paracha3 said:
Thanks. Is there a compiled binary for windows 7 available? so i dont have to go through self compilation step?
Click to expand...
Click to collapse
as I said. The libfdk_aac is proprietary (a.k.a.: -non-free), so it's illegal for people to distribute it pre-compiled.
It's probably possible to Google and find it, but the compilation guides are very well explained in my opinion.
Just remember to compile with libfdk_aac and with x264 codecs.
paracha3 said:
Update: Just read "License restrictions prohibit distribution of already compiled FFmpeg with libfdk-aac, so if I want to use it I must make my own build of FFmpeg."
Click to expand...
Click to collapse
Although it seems to be working very reliably, the software is still a bit rough around the edges. I'll try in a future version to check for what is available, for example, if libfdk_aac is not there I can use MP3 instead.
I gave up and called T-Mobile. They're sending me a replacement next-day air. Should I try to re-lock this one?
So a bit of background. I was running unlocked the latest stock 6.0.1 without root or custom kernels etc.
Last night I noticed my battery indicator was orange but my phone never entered battery saver. Went into battery saver to turn it back on; the toggle didn't work. I figure that's weird, but a reboot should fix it. I attempt reboot my device. It has been stuck in a bootloop since (at the dots animation). After giving up on it, I left it to charge overnight off (just incase it was some weird low battery thing). Try again this morning and still no luck.
Troubleshooting
Booted into stock recovery; wiped cache. No luck.
I snagged the latest images from Google and flashed boot and system. No luck.
I booted into stock recovery; wiped cache. No luck.
Downloaded TWRP and used the 'boot' command to boot into it without flashing. Used that to backup the contents of my internal storage.
Booted back into stock recovery. Did a factory rest and wiped cache. No luck.
I flashed the full image (radio, bootloader, boot, system, userdata, cache, recovery). No Luck.
Booted into stock recovery; wiped cache. No luck.
Booted into stock recovery. Did a factory rest and wiped cache. No luck.
I flashed the full image (radio, bootloader, boot, system, userdata, cache, recovery)(thinking maybe I missed an image last time). No Luck.
edit2:
Fastboot erased userdata and cache. No luck.
edit3:
Fastboot formatted userdata and cache. No luck.
Booted into stock recovery. Did a factory rest and wiped cache. (figured that might initialize the partitions if they were left blank)No luck.
Used the 'boot' command to boot into TWRP without flashing. Wiped /data, /cache, and dalvik cache in TWRP No luck.
I always gave it at least 5 minutes (once as long as 40 minutes) of booting before moving on to the next step. As you can see, I'm long past trying to preserve anything, I just want a useable phone again.
Edit: also weird. I can only turn the phone off via bootloader > power off. Holding the power button always causes a reboot instead of a power off.
Wait a minute... nobody's answered this?? I'm stuck in the EXACT SAME situation. The N6 was running a ROM AOK forever and once I tried powering it on after allowing it to completely drain its battery... NO LUCK
Were you able to get your unit working again? Does anyone have any idea outside what's in the OP?
skielbasa said:
I gave up and called T-Mobile. They're sending me a replacement next-day air. Should I try to re-lock this one?
So a bit of background. I was running unlocked the latest stock 6.0.1 without root or custom kernels etc.
Last night I noticed my battery indicator was orange but my phone never entered battery saver. Went into battery saver to turn it back on; the toggle didn't work. I figure that's weird, but a reboot should fix it. I attempt reboot my device. It has been stuck in a bootloop since (at the dots animation). After giving up on it, I left it to charge overnight off (just incase it was some weird low battery thing). Try again this morning and still no luck.
Troubleshooting
Booted into stock recovery; wiped cache. No luck.
I booted into stock recovery; wiped cache. No luck.
I flashed the full image (radio, bootloader, boot, system, userdata, cache, recovery). No Luck.
Booted into stock recovery. Did a factory rest and wiped cache. No luck.
Fastboot erased userdata and cache. No luck.
edit3:
Booted into stock recovery. Did a factory rest and wiped cache. (figured that might initialize the partitions if they were left blank)No luck.
Used the 'boot' command to boot into TWRP without flashing. Wiped /data, /cache, and dalvik cache in TWRP No luck.
I always gave it at least 5 minutes (once as long as 40 minutes) of booting before moving on to the next step. As you can see, I'm long past trying to preserve anything, I just want a useable phone again.
Edit: also weird. I can only turn the phone off via bootloader > power off. Holding the power button always causes a reboot instead of a power off.
Click to expand...
Click to collapse
Did you flash all partitions separately and erase command and then format? Are you using an official Nexus 6 cable?
biggiesmalls657 said:
Did you flash all partitions separately and erase command and then format? Are you using an official Nexus 6 cable?
Click to expand...
Click to collapse
lol, thats a question from 3 moths ago.. i highly doubt that they are waiting on an answer :angel:
simms22 said:
lol, thats a question from 3 moths ago.. i highly doubt that they are waiting on an answer :angel:
Click to expand...
Click to collapse
I didn't read the timestamp but maybe its lying around somewhere.
From SELinux Denials to Sensor Failure
biggiesmalls657 said:
Did you flash all partitions separately and erase command and then format? Are you using an official Nexus 6 cable?
Click to expand...
Click to collapse
I've flash each partition individually with 71.18 BL Stock & 71.21 BL N Preview Stock to no avail.
Mixing 71.18 & 71.21 Roms brought about a SeLinux issue but that was solved by getting the BLs and their appropriate Roms right.
Now I'm running into an odd sensor failure in my LogCat that I can't get around:
Code:
--------- beginning of main
02-09 20:45:15.323 245 245 W auditd : type=2000 audit(0.0:1): initialized
02-09 20:45:17.385 252 252 I /system/bin/tzdatacheck: tzdata file /data/misc/zoneinfo/current/tzdata does not exist. No action required.
--------- beginning of system
02-09 20:45:17.396 246 246 I vold : Vold 3.0 (the awakening) firing up
02-09 20:45:17.396 246 246 V vold : Detected support for: exfat ext4 f2fs ntfs vfat
02-09 20:45:18.099 279 279 D QSEECOMD: : qseecom listener services process entry PPID = 1
02-09 20:45:18.099 279 279 E QSEECOMD: : Listener: index = 0, hierarchy = 0
02-09 20:45:18.099 277 277 I mdm_helper: 1 supported modem(s) found
02-09 20:45:18.099 277 277 I mdm_helper: Setting up mdm helper device structure
02-09 20:45:18.099 277 277 I mdm_helper: Found private data for MDM9x25
02-09 20:45:18.099 277 277 I mdm_helper: ESOC Details:
02-09 20:45:18.099 277 277 I mdm_helper: Name:MDM9x25
02-09 20:45:18.099 277 277 I mdm_helper: Port:/dev/esoc-0
02-09 20:45:18.099 277 277 I mdm_helper: Link:HSIC
02-09 20:45:18.099 277 277 I mdm_helper: Device configuration loaded
02-09 20:45:18.099 277 277 I mdm_helper: Starting MDM helper
02-09 20:45:18.099 277 277 I mdm_helper: Creating thread for MDM9x25
02-09 20:45:18.099 277 280 I mdm_helper: Starting MDM9x25
02-09 20:45:18.099 277 280 I mdm_helper: MDM9x25 : switching state to POWERUP
02-09 20:45:18.100 277 280 I mdm_helper: MDM9x25: Initializing environment
02-09 20:45:18.100 279 279 D QSEECOMD: : Init dlopen(librpmb.so, RTLD_NOW) succeeds
02-09 20:45:18.100 279 279 D QSEECOMD: : Init::Init dlsym(g_FSHandle rpmb_init_service) succeeds
02-09 20:45:18.100 279 279 I rpmb : RPMB Mult = 16384, Rel_sec_cnt = 1
02-09 20:45:18.100 279 279 E DrmLibRpmb: rpmb_init succeeded! with ret = 0
02-09 20:45:18.101 279 279 D QSEECOMD: : Init rpmb_init_service ret = 0
02-09 20:45:18.101 279 279 D QSEECOMD: : RPMB system services: init (Listener ID = 8192)
02-09 20:45:18.101 279 279 E QSEECOMD: : Listener: index = 1, hierarchy = 0
02-09 20:45:18.101 279 279 D QSEECOMD: : Init dlopen(libssd.so, RTLD_NOW) succeeds
02-09 20:45:18.101 279 279 D QSEECOMD: : Init::Init dlsym(g_FSHandle ssd_init_service) succeeds
02-09 20:45:18.101 279 279 E SSD : ssd_init_service succeeded!
02-09 20:45:18.101 279 279 D QSEECOMD: : Init ssd_init_service ret = 0
02-09 20:45:18.101 279 279 D QSEECOMD: : SSD system services: init (Listener ID = 12288)
02-09 20:45:18.102 279 279 D QSEECOMAPI: : QSEECom_get_handle sb_length = 0x400
02-09 20:45:18.102 279 279 D QSEECOMAPI: : App is not loaded in QSEE
02-09 20:45:18.107 274 274 I lowmemorykiller: Using in-kernel low memory killer interface
02-09 20:45:18.122 278 291 E Sensors : sns_fsa_la.c(78):realpath failed for directory name2
02-09 20:45:18.123 278 291 E Sensors : sns_reg_la.c(289):Error creating registry file
02-09 20:45:18.123 278 291 W Sensors : sns_reg_mr.c(370):File init failed 5
02-09 20:45:18.136 276 276 I SurfaceFlinger: SurfaceFlinger is starting
02-09 20:45:18.136 276 276 I SurfaceFlinger: SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
02-09 20:45:18.143 276 276 D libEGL : loaded /vendor/lib/egl/libEGL_adreno.so
02-09 20:45:18.176 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:18.176 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:18.252 276 276 D libEGL : loaded /vendor/lib/egl/libGLESv1_CM_adreno.so
02-09 20:45:18.260 276 276 D libEGL : loaded /vendor/lib/egl/libGLESv2_adreno.so
02-09 20:45:18.277 276 276 I Adreno : QUALCOMM build : 52af4d2, I8366cd0437
02-09 20:45:18.277 276 276 I Adreno : Build Date : 10/20/15
02-09 20:45:18.277 276 276 I Adreno : OpenGL ES Shader Compiler Version: XE031.05.13.02
02-09 20:45:18.277 276 276 I Adreno : Local Branch : M14
02-09 20:45:18.277 276 276 I Adreno : Remote Branch :
02-09 20:45:18.277 276 276 I Adreno : Remote Branch :
02-09 20:45:18.277 276 276 I Adreno : Reconstruct Branch :
02-09 20:45:18.584 279 279 D QSEECOMAPI: : Loaded image: APP id = 2
02-09 20:45:18.586 279 279 D QSEECOMD: : Parent qseecom daemon process paused!!
02-09 20:45:18.587 331 331 D QSEECOMD: : qseecom listener service threads starting!!!
02-09 20:45:18.587 331 331 D QSEECOMD: : Total listener services to start = 5
02-09 20:45:18.587 331 331 E QSEECOMD: : Listener: index = 0, hierarchy = 1
02-09 20:45:18.587 331 331 D QSEECOMD: : Init dlopen(librpmb.so, RTLD_NOW) succeeds
02-09 20:45:18.587 331 331 D QSEECOMD: : Init::Init dlsym(g_FSHandle rpmb_start) succeeds
02-09 20:45:18.587 331 331 D QSEECOMAPI: : QSEECom_register_listener 8192 sb_length = 0x5000
02-09 20:45:18.591 331 331 D QSEECOMD: : Init rpmb_start ret = 0
02-09 20:45:18.591 331 331 D QSEECOMD: : RPMB system services: Started (Listener ID = 8192)
02-09 20:45:18.591 331 331 E QSEECOMD: : Listener: index = 1, hierarchy = 1
02-09 20:45:18.591 331 331 D QSEECOMD: : Init dlopen(libssd.so, RTLD_NOW) succeeds
02-09 20:45:18.591 331 331 D QSEECOMD: : Init::Init dlsym(g_FSHandle ssd_start) succeeds
02-09 20:45:18.591 331 331 D QSEECOMAPI: : QSEECom_register_listener 12288 sb_length = 0x5000
02-09 20:45:18.592 331 331 D QSEECOMD: : Init ssd_start ret = 0
02-09 20:45:18.592 331 331 D QSEECOMD: : SSD system services: Started (Listener ID = 12288)
02-09 20:45:18.592 331 331 E QSEECOMD: : Listener: index = 2, hierarchy = 1
02-09 20:45:18.593 331 331 E QSEECOMD: : Init dlopen(libsecureui.so, RLTD_NOW) is failed....
02-09 20:45:18.593 331 331 E QSEECOMD: : Listener: index = 3, hierarchy = 1
02-09 20:45:18.599 331 331 D QSEECOMD: : Init dlopen(libdrmtime.so, RTLD_NOW) succeeds
02-09 20:45:18.599 331 331 D QSEECOMD: : Init::Init dlsym(g_FSHandle atime_start) succeeds
02-09 20:45:18.599 331 331 D DrmLibTime: QSEE Time Listener: atime_start
02-09 20:45:18.599 331 331 D QSEECOMAPI: : QSEECom_register_listener 11 sb_length = 0x5000
02-09 20:45:18.600 331 331 D DrmLibTime: registering fs service to QSEECom is done!
02-09 20:45:18.600 331 331 D DrmLibTime: begin to create a thread!
02-09 20:45:18.600 331 331 D DrmLibTime: Creating a pthread in atime_start is done! return 0
02-09 20:45:18.600 331 331 D QSEECOMD: : Init atime_start ret = 0
02-09 20:45:18.600 331 338 D DrmLibTime: QSEE Time Listener: dispatch
02-09 20:45:18.600 331 331 D QSEECOMD: : time services: Started (Listener ID = 11)
02-09 20:45:18.600 331 338 D DrmLibTime: before calling ioctl to read the next time_cmd
02-09 20:45:18.600 331 331 E QSEECOMD: : Listener: index = 4, hierarchy = 1
02-09 20:45:18.600 331 331 D QSEECOMD: : Init dlopen(libdrmfs.so, RTLD_NOW) succeeds
02-09 20:45:18.600 331 331 D QSEECOMD: : Init::Init dlsym(g_FSHandle fs_start) succeeds
02-09 20:45:18.600 331 331 D QSEECOMAPI: : QSEECom_register_listener 10 sb_length = 0x5000
02-09 20:45:18.601 331 331 D QSEECOMD: : Init fs_start ret = 0
02-09 20:45:18.601 331 331 D QSEECOMD: : file system services: Started (Listener ID = 10)
02-09 20:45:18.601 331 331 D QSEECOMD: : QSEECOM DAEMON RUNNING
02-09 20:45:18.711 276 276 I qdutils : PartialUpdate status: Enabled
02-09 20:45:18.711 276 276 I qdutils : Left Align: 8
02-09 20:45:18.712 276 276 I qdutils : Width Align: 8
02-09 20:45:18.712 276 276 I qdutils : Top Align: 1
02-09 20:45:18.712 276 276 I qdutils : Height Align: 1
02-09 20:45:18.712 276 276 I qdutils : Min ROI Width: 8
02-09 20:45:18.712 276 276 I qdutils : Min ROI Height: 1
02-09 20:45:18.712 276 276 I qdutils : Needs ROI Merge: 1
02-09 20:45:18.712 276 276 I qdutils : Left Split=720
02-09 20:45:18.712 276 276 I qdutils : Right Split=720
02-09 20:45:18.715 276 276 I qdhwcomposer: Initializing Qualcomm Hardware Composer
02-09 20:45:18.715 276 276 I qdhwcomposer: MDP version: 500
02-09 20:45:18.715 276 276 I SurfaceFlinger: Using composer version 1.5
02-09 20:45:18.715 276 276 I qdhwcomposer: hwc_registerProcs
02-09 20:45:18.715 276 276 I qdhwcomposer: Initializing UEVENT Thread
02-09 20:45:18.715 276 276 I qdhwcomposer: Initializing VSYNC Thread
02-09 20:45:18.716 276 342 I qdhwcomposer: vsync_loop: Reading event 0 for dpy 0 from /sys/class/graphics/fb0/vsync_event
02-09 20:45:18.716 276 276 D qdhwcomposer: hwc_getDisplayAttributes disp = 0, width = 1440
02-09 20:45:18.716 276 276 D qdhwcomposer: hwc_getDisplayAttributes disp = 0, height = 2560
02-09 20:45:18.717 276 276 I SurfaceFlinger: EGL information:
02-09 20:45:18.717 276 276 I SurfaceFlinger: vendor : Android
02-09 20:45:18.717 276 276 I SurfaceFlinger: version : 1.4 Android META-EGL
02-09 20:45:18.717 276 276 I SurfaceFlinger: extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image EGL_KHR_image_base EGL_KHR_lock_surface EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_EXT_create_context_robustness EGL_ANDROID_image_native_buffer EGL_KHR_wait_sync EGL_ANDROID_recordable EGL_KHR_create_context_no_error
02-09 20:45:18.717 276 276 I SurfaceFlinger: Client API: OpenGL_ES
02-09 20:45:18.717 276 276 I SurfaceFlinger: EGLSurface: 8-8-8-8, config=0xb6a86978
02-09 20:45:18.718 276 342 I qdhwcomposer: vsync_loop: Reading event 1 for dpy 0 from /sys/class/graphics/fb0/show_blank_event
02-09 20:45:18.719 276 342 I qdhwcomposer: vsync_loop: Reading event 2 for dpy 0 from /sys/class/graphics/fb0/cec/rd_msg
02-09 20:45:18.721 276 342 E qdhwcomposer: vsync_loop:unable to open event node for dpy=0 event=2, No such file or directory
02-09 20:45:18.722 276 342 I qdhwcomposer: vsync_loop: Reading event 0 for dpy 1 from /sys/class/graphics/fb-1/vsync_event
02-09 20:45:18.722 276 342 I qdhwcomposer: vsync_loop: Reading event 1 for dpy 1 from /sys/class/graphics/fb-1/show_blank_event
02-09 20:45:18.723 276 342 I qdhwcomposer: vsync_loop: Reading event 2 for dpy 1 from /sys/class/graphics/fb-1/cec/rd_msg
02-09 20:45:18.726 276 276 I SurfaceFlinger: OpenGL ES informations:
02-09 20:45:18.726 276 276 I SurfaceFlinger: vendor : Qualcomm
02-09 20:45:18.726 276 276 I SurfaceFlinger: renderer : Adreno (TM) 420
02-09 20:45:18.726 276 276 I SurfaceFlinger: version : OpenGL ES 3.1 [email protected] ([email protected])
02-09 20:45:18.726 276 276 I SurfaceFlinger: extensions: GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_ldr GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_border_clamp GL_EXT_multisampled_render_to_texture GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_arr
02-09 20:45:18.726 276 276 I SurfaceFlinger: GL_MAX_TEXTURE_SIZE = 16384
02-09 20:45:18.726 276 276 I SurfaceFlinger: GL_MAX_VIEWPORT_DIMS = 16384
02-09 20:45:18.730 276 276 D SurfaceFlinger: Set power mode=2, type=0 flinger=0xb6aa4000
02-09 20:45:18.730 276 276 D qdhwcomposer: hwc_setPowerMode: Setting mode 2 on display: 0
02-09 20:45:18.730 276 276 D qdhwcomposer: hwc_setPowerMode: Done setting mode 2 on display 0
02-09 20:45:18.730 276 342 I qdhwcomposer: handle_blank_event: dpy:0 panel power state: 1
02-09 20:45:18.841 344 346 D libEGL : loaded /vendor/lib/egl/libEGL_adreno.so
02-09 20:45:18.888 344 346 D libEGL : loaded /vendor/lib/egl/libGLESv1_CM_adreno.so
02-09 20:45:18.896 344 346 D libEGL : loaded /vendor/lib/egl/libGLESv2_adreno.so
02-09 20:45:18.907 344 346 I Adreno : QUALCOMM build : 52af4d2, I8366cd0437
02-09 20:45:18.907 344 346 I Adreno : Build Date : 10/20/15
02-09 20:45:18.907 344 346 I Adreno : OpenGL ES Shader Compiler Version: XE031.05.13.02
02-09 20:45:18.907 344 346 I Adreno : Local Branch : M14
02-09 20:45:18.907 344 346 I Adreno : Remote Branch :
02-09 20:45:18.907 344 346 I Adreno : Remote Branch :
02-09 20:45:18.907 344 346 I Adreno : Reconstruct Branch :
02-09 20:45:18.923 344 346 E BootAnimation: couldn't find audio_conf.txt
02-09 20:45:19.617 276 276 D SurfaceFlinger: shader cache generated - 24 shaders in 267.772125 ms
02-09 20:45:19.637 276 276 D qdutils : DEBUG_CALC_FPS: 0
02-09 20:45:19.637 276 276 D qdutils : period: 10
02-09 20:45:19.637 276 276 D qdutils : ignorethresh_us: 500000
03-21 17:30:31.580 245 245 I auditd : type=1403 audit(0.0:2): policy loaded auid=4294967295 ses=4294967295
03-21 17:30:31.580 245 245 W auditd : type=1404 audit(0.0:3): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295
02-09 20:45:28.065 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.066 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.069 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.069 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.071 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.071 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.074 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.074 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.076 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.077 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.078 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.078 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.079 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.080 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.081 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.081 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.082 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.082 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.083 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.083 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.085 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.085 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.087 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.087 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.089 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.089 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.090 278 291 E Sensors : sns_reg.c(255):Invalid ID: 3040
02-09 20:45:28.091 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.091 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.093 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.093 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.094 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.094 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.096 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.096 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.097 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.097 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.098 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.098 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:28.099 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:28.099 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:38.108 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:38.108 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:38.109 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:38.109 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:38.111 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:38.111 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:38.111 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:38.111 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
02-09 20:45:38.111 278 291 E Sensors : sns_reg_la.c(91):reg_read: reg file not open
02-09 20:45:38.111 278 291 E Sensors : sns_reg.c(291):Received error from sns_reg_read/write 5
KLBrey said:
I've flash each partition individually with 71.18 BL Stock & 71.21 BL N Preview Stock to no avail.
Mixing 71.18 & 71.21 Roms brought about a SeLinux issue but that was solved by getting the BLs and their appropriate Roms right.
Now I'm running into an odd sensor failure in my LogCat that I can't get around:
Click to expand...
Click to collapse
Hardware. Are you using an official fastboot cable? Did you flash the binaries of the sensor drivers?
Can My Poor N6 Bounce-Back from Seeming Complete Sensor Failure??
biggiesmalls657 said:
Hardware. Are you using an official fastboot cable? Did you flash the binaries of the sensor drivers?
Click to expand...
Click to collapse
Since you're the 2nd to mention USB cable quality, I'll address that:
I have my OEM Turbo Charger and I'm sure I still have the OEM Cable that came with it, but I'm currently using an Amazon Basic Branded 5ft replacement to one my cat devoured. Since it seems that Cable Matters, I'll wrangle the one's I have with me when the Sun's is up.
The Immediate Worse Case S:
I'll have to wait until I return home Monday if none of the cables with me are The One*.
Flash Binaries of Sensor Drivers:
whaaa
[* thanks Moto, one more Must Match in my life]
[SOLVED] Bootloop with Major Sensor Failure
After looking into physical things like cable quality and low-level drivers provided to ROM bakers (neither were my particulate issue), I pieced together a diagnosis and resolution that worked for me:
Validating my /persist partition OR Creating a new ext4 one if it's curruptI dropped to TWRP v3 recovery, opened an ADB Shell and checked which partitions were automatically mounted. Alas, /persist wasn't there... it was gone, baby, gone! So I tried to recover it using
Code:
e2fsck /dev/block/platform/msm_sdcc.1/by-name/persist
Which resulted in a Bad Superblock with no backups. Using an alternate Superblock (ie. e2fsck -b 8197) also failed. So I crossed fingers that my N6 retained specs about how /persist should be and created a fresh ext4 version
Code:
make_ext4fs /dev/block/platform/msm_sdcc.1/by-name/persist
That solved (nearly) everything. I was able to watch live logcat as my N6 successfully booted into 6.0.1 MM again. Everything seems AOK so far, but it's late and I'm about to crash. When the Sun's up again, I'll test it and post once more.